Zxhnext 我的前端之旅

Bootstrap与less

2017-03-24
Zxhnext
css

阅读量


响应式网站和自适应网站的区别.响应式网站会改变页面布局,自适应网站不会改变布局

1. 体验bootstrp

bootstrp 由全局样式和组件构成.组件是在全局样式的基础上制作而成的
相关链接

2. 学习less基础

less是一种动态样式语言.是css的一种补充.目的是为了提升css的编写效率和维护效率.可以在http://koala-app.com/index-zh.html下载koala进行编译.这是一个非常棒的编译工具

less参考文档: http://www.bootcss.com/p/lesscss/

2.1. 变量

变量和程序代码中的变量概念是一样的.将最常用的值,如ui的颜色,div的宽高,都定义成变量.在日后维护中会更加方便.less定义变量的方法是:@+变量名;赋值用的是冒号 如@color:#08c 如果变量需要放在字符串中显示,就需要将变量改为@{变量名}

//定义常用颜色,方便日后修改
@textcolor : #000;//文字的颜色
@hrefcolor : #08c;//链接的颜色
@href_hover_color :#fff;//链接被覆盖的颜色
.box
{
  color:@textcolor;
}

变量的定义规则和程序中变量的定义类似.也可以使用大写字母和下划线.

2.2. 混合

混合类似于程序代码中的函数.有两种模式.带参数和不带参数的.带参数的还可以给参数直接复制.由于各家浏览器对css3的支持,都有自己的一套规则.使用起来特别麻烦.使用less中的混合写法,可以增加效率.

//定义一个分栏效果.目前谷歌和火狐浏览器虽支持,但要加前缀,IE10以上版本支持
.column-count(@value){
column-count: @value;
-moz-column-count:@value; 
-webkit-column-count:@value;
 }
.box2{
width: 200px;height: 200px;
.column-count(3);        //不用再为多个浏览器写样式
}

2.3. 嵌套

应用嵌套规则可以更快速的使用继承规则.但有的时候我们不需要用这个写法实现继承.在需要为当前元素添加伪元素样式的时候,如:hover 那就要使用&

.box{
  width:500px;
  height:200px;
  ul{
    background:#0fc;
    li{
      float:left;
      list-style:none;
      a{
         color:#000;
         &:hover{   
           color:#fff;
         }
      }
    }
  }
}

在实际写代码的时候,尽量不要用这么多继承,否则影响网站的相应速度.

2.4. 注释 保留变量 避免编译

  less中有两种注释方法.一种是//,另一种是/* */.他们的区别是:第一种写法的注释只会在less文件中被看到.而第二种注释方法会同时被编译到css文件中.

  less中有两个关键字.@import和arguments
  less文件可以实现类似于php中的include功能.将其他的less文件或css文件加载进来.如果加载的是less文件.扩展名可加,可不加.如:@import “main”;如要用到加载文件的代码,就必须要在写代码前,加载进来.
  当混合的参数太多的时候,可以用arguments代替所有参数进行赋值.

  有的时候我们不希望一些语句被编译.可以在语句前加一个~符号;

.border(@width:1px ,@color:#08c,@type:solid)
{
  border:arguments;
}

2.5. 命名空间

  每个变量都有自己的作用域.当需要使用某个不在自己作用域下的混合的时候,可以考虑用命名空间.

.box1
{
  .margin(@value:5px)
  {
    margin:@value;
  }
  .margin(20px);
}
.box2{
   .box1>.margin(10px);
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

赞赏支持

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦


相关推荐

下一篇 HTML5新特性

评论