less学习之Bootstrap(按钮篇)

栏目: CSS · 发布时间: 5年前

内容简介:如我上一篇less学习之Bootstrap里面,介绍了Bootstrap的目录结构,说明了在内容不是很多,总结下来就是:1、“

less学习之 Bootstrap 按钮篇)

如我上一篇less学习之Bootstrap里面,介绍了Bootstrap的目录结构,说明了在 variables.less 这个文件里面,定义了主题色,也包括了按钮的主题色。接下来看一看 buttons.lessmixins/buttons.less .

文件 buttons.lessmixins/buttons.less

内容不是很多,总结下来就是:

1、“ .btn ”的基础样式定义。

2、按钮的各种状态含义的样式定义,例如:btn-primary、btn-success等。

3、伪连接,按钮的样式显示为连接的样式。

4、按钮尺寸的class:lg、sm、xs。

5、input类型的按钮定义。

基础样式定义

代码:

.btn {
  display: inline-block;
  ...
  ...

  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      .tab-focus();
    }
  }

 ...
 ...// 余下的为hover、disabled时的样式
}

说明:

知识点1:`&`在less与scss的语法中,表示同父级,就上一个例子来说,就是编译之后`&`将会被`.btn`替换,如果是多层时也是相同的道理。

提示1:运用了函数tab-focus。此函数定义在mixins/tab-focus.less中,代码很短

.tab-focus() {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

修改浏览器默认的大纲样式:表现在按钮、form表单等原生组件上。

提示2:    运用了函数user-select。此函数定义在mixins/vendor-prefixes中。

.user-select(@select) {
  -webkit-user-select: @select;
 -moz-user-select: @select;
  -ms-user-select: @select; // IE10+
      user-select: @select;
}

作用,让文本是否能够选择。

提示3: 运用了函数opacity。此函数定义在mixins/opacity中。

.opacity(@opacity) {
  opacity: @opacity;
  @opacity-ie: (@opacity * 100);
  filter: ~"alpha(opacity=@{opacity-ie})";
}

此处做了IE的兼容IE,IE的透明度采用 filtger:alpha(opacity=value),其中 0 <= value && value <= 100.
符号“~”,可以意为JavaScript里面的 evel ,可以将字符串转化为表达式。所以说一些复杂的选择器也能够作为变量定义。

特别说明

函数 button-variant

Bootstrap里面抽象出来的函数,作用于按钮不同状态下的颜色变化。例如:hover、focus、active等状态。

函数说明

参数:@color; @background; @border // 分别时字体颜色、背景颜色、边框颜色

结构如下:

.button-variant(@color; @background; @border) {
  color: @color;
  background-color: @background;
  border-color: @border;

  &:focus,
  &.focus {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 25%);
  }
  
 ...
 ...// 余下的为hover、disabled时的样式

  .badge {
    color: @background;
    background-color: @color;
  }
}

由上面两个文件可以总结出的结论是: .less里面写的是选择器定义、变量定义,而mixins/ .less里面写的是函数。

本篇总结

关于Bootstrap听到过不少的见闻,有好有坏,我有身边也有人说这个框架很垃圾。但是对于Bootstrap这个框架怎么样,我不做评价,但是Bootstrap用来作为学习的资料时非常合适的,Less的语法糖都了知道,那么如何才能让Less用起来得心应手?无疑,源码是一种途径。

接下来的安排,自己写的文章自己也会去实现它,另外关于Less的学习也不会停止。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Android 源码设计模式解析与实战

Android 源码设计模式解析与实战

何红辉、关爱民 / 人民邮电出版社 / 2015-11 / 79.00元

本书专门介绍Android源代码的设计模式,共26章,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介......一起来看看 《Android 源码设计模式解析与实战》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具