欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何編寫CSSLess框架

本篇內(nèi)容主要講解“如何編寫CSS Less框架”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何編寫CSS Less框架”吧!

目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、企業(yè)網(wǎng)站設計、金安網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

LESS 源文件的引入方式與標準CSS文件的引入方式一樣:

代碼如下:

<link rel="stylesheet/less" type="text/css" href="styles.less">

在我們需要引入 LESS 源文件的 HTML 中加入如下代碼:

代碼如下:

<script src="less.js" type="text/javascript"></script>

導入文件:

代碼如下:

@import “variables.less”;
@import “variables.css”;
/*也可以將標準的 CSS 文件直接改成 .less 格式*/

變量與作用域

代碼如下:

/*用變量管理值*/
@width : 20px; //全局變量
#homeDiv {
   #centerDiv{
      width : @width; // 此處應該取最近定義的變量 width 的值 30px
   }
   @width : 30px; //局部變量,變量和混合是延遲加載的,不一定要在使用前聲明
}
#leftDiv {
    width : @width; // 此處應該取最上面定義的變量 width 的值 20px
}</p> <p>/*用變量管理選擇器名稱、URLs、屬性*/
@mySelector: banner; // 定義一個變量用于選擇器名稱
@images: "../img"; // 變量可以是字符串
@property: color; // 定義一個變量用于屬性名稱
.@{mySelector} {  //選擇器名稱使用變量的用法
   background: url("@{images}/white-sand.png");  //URLs使用變量的用法
   @{property}: #0ee;
   &hellip;&hellip;  //其它常規(guī)屬性等
}</p> <p>/*編譯生成的CSS文件*/
.banner {
   background: url("../img/white-sand.png");
   color: #0ee;
   &hellip;&hellip;
}

變量可以嵌套定義與使用

代碼如下:

@fnord:  "I am fnord.";
@var:    "fnord";
content: @@var;//嵌套使用
content: "I am fnord."; //編譯后結(jié)果
/*當一個變量定義兩次時,只會使用最后定義的變量,Less會從當前作用域中向上搜索。*/

數(shù)值,顏色和變量可運算

代碼如下:

@init: #111111;
@transition: @init*2;
@var: 1px + 5 // Less能夠判斷顏色和單位之間的區(qū)別
.switchColor {
    color: @transition;
}
/*編譯生成的CSS文件*/
.switchColor {
     color: #222222;
}

混合(Mixins)與函數(shù)

代碼如下:

.roundedCorners(@radius:5px) { //定義參數(shù)并且給予默認值
    -moz-border-radius: @radius;
    -webkit-border-radius: @radius;
    border-radius: @radius;
}</p> <p> // 在另外的樣式選擇器中使用
#header {
    .roundedCorners; //使用類并且參數(shù)為默認值
}</p> <p> #footer {
    .roundedCorners(10px); //自定義參數(shù)值
}</p> <p>.bordered {
   border-top: dotted 1px black;
   border-bottom: solid 2px black;
}</p> <p>#menu a {
   color: #111;
   .bordered;
   /*在另一個規(guī)則集內(nèi)部使用上面類的屬性,則直接訪問屬性所在類名(或Id名)即可*/
}

@arguments變量:當 Mixins 引用這個參數(shù)時,該參數(shù)表示所有的變量(多參數(shù))。

代碼如下:

.boxShadow(@x:0,@y:0,@blur:1px,@color:#000){
  -moz-box-shadow: @arguments;
  -webkit-box-shadow: @arguments;
  box-shadow: @arguments;
}
#header {
  .boxShadow(2px,2px,3px,#f36);
}

命名空間:

代碼如下:

#mynamespace {
  .home {...}
  .user {...}
}
//如果我們要復用 user 這個選擇器的時候,我們只需要在需要混入這個選擇器的地方這樣使用就可以了。#mynamespace > .user

嵌套規(guī)則:

代碼如下:

<!-- HTML片段-->
<div id="home">
  <div id="top">top</div>
 </div>

代碼如下:

/*使用嵌套規(guī)則的LESS 文件*/
#home{
  color : blue;
  width : 600px;
  height : 500px;
  border:outset;
  #top{
       border:outset;
       width : 90%;
  }
}
/*編譯生成的CSS文件*/
#home {
 color: blue;
 width: 600px;
 height: 500px;
 border: outset;
}
#home #top {
 border: outset;
 width: 90%;
}
a {
  color: red;
  text-decoration: none;
  &:hover {
    /*有 & 時解析的是同一個元素或此元素的偽類,沒有 & 解析是后代元素,&表示當前選擇器的父選擇器*/
     color: black;
     text-decoration: underline;
  }
}
/*編譯生成的CSS文件*/
a {
  color: red;
  text-decoration: none;
}
  a:hover {
  color: black;
  text-decoration: underline;
}

Extend:

extend是一個Less偽類,為擴展選擇器;擴展選擇器必須在所有偽類的最后

代碼如下:

nav ul:extend(.inline)
   background: blue;
}
.inline {
   color: red;
}</p> <p>/*編譯生成的CSS文件*/
nav ul {   // 聲明塊保持原樣
   background: blue;
}</p> <p>.inline,nav ul {
   color: red;
}</p> <p>pre:hover , .some-class {
   &:extend(div pre);
}</p> <p>/*以上與給每個選擇器添加一個extend完全相同*/
pre:hover:extend(div pre),
.some-class:extend(div pre) {}

從本質(zhì)上講extend會查找編譯后的CSS,而不是原始的less

代碼如下:

.bucket {
 tr & { // 目標選擇器中的嵌套,&代表最近父元素
   color: blue;
 }
}
.some-class:extend(tr .bucket) {} // 識別嵌套規(guī)則
/*編譯生成的CSS文件*/
tr .bucket , .some-class {
 color: blue;
}

 extend必須是精確匹配(包括通配符*、偽類順序、nth表達式,唯一例外的是屬性選擇器中的引號,less會知道它們是相同的,然后匹配它)

代碼如下:

.a.class,
.class.a,
.class > .a {
 color: blue;
}
.test:extend(.class) {} // 不會匹配上面的任何選擇器的值
*.class {
 color: blue;
}
.noStar:extend(.class) {} //不會匹配*.class選擇器
link:hover:visited {
 color: blue;
}
.selector:extend(link:visited:hover) {} //不會匹配,偽類順序不同
:nth-child(1n+3) {
 color: blue;
}
.child:extend(n+3) {}  //不會匹配,盡管邏輯上1n+3與n+3是相同的

到此,相信大家對“如何編寫CSS Less框架”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

當前文章:如何編寫CSSLess框架
文章鏈接:http://www.chinadenli.net/article6/ishhig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站企業(yè)網(wǎng)站制作電子商務網(wǎng)站改版ChatGPT全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設