• Scss的使用


    六.其它组件

    3.分页

    ul.pagination

      >li.page-item

        >a.page-link

    li的修饰类 .active  激活

                    .disabled 禁用

    4.面包屑导航

    ul.breadcrumb>li.breadcrumb-item

    中间的连接符号可以自己定义

    .breadcrumb-item + .breadcrumb-item::before{

      content:">";

    }

    5.进度条

    div.progress       进度条的槽

      >div.progress-bar  进度条的进度需要自己写w-25

                         背景色 bg-danger.....

    带条纹的进度条 progress-bar-striped

    带动画的进度条 progress-bar-animated

    BootStrap重点:响应式+栅格布局+SCSS

    七.定制

    1.scss是什么

    css是一种脚本语言,没有动态语言的特征

    css语法不够强大,没有变量和合理的样式复用机制,导致难以维护

    我们需要使用动态的 样式语言,赋予css新的特性

    常见的动态样式语言

    1.SCSS/SASS(scss兼容sass,scss更接近css的语法)

    2.stylus

    3.less

    2.SCSS的功能

    scss是一款强化css的辅助工具

    他和css的语法很像,在css的基础上增加了变量,嵌套,混合,导入,函数等高级功能。这些拓展命令,让css更加的强大且优雅

     

    scss运行在服务器端

    浏览器不认识.scss文件,需要转换成.css才能被浏览器解析执行

    3.scss的使用

    scss是在服务器端使用

    1.安装nodejs的解析器 v8.11.1以上

    2.在线安装,cmd控制台输入npm install -g node-sass

    3.无网络安装 把安装包中的文件,复制到nodejs安装目录下

     cmd中输入 node-sass -v  检查版本

     打印出版本号,就是成功

    4.scss文件转换成css文件

    ①单文件转换

    在项目目录下,按住shift,右键打开powershell

    输入node-sass   scss/01.scss   css/01.css

              要转换的scss文件     转换后的css文件

    ②多文件转换

    node-sass scss -o css

    node-sass   scss文件夹名称  -o  css文件夹名称

    ③单文件的监听

    node-sass -w scss/01.scss css/01.css

    开启一个监听,注视着scss/01.scss文件。

    一旦这个文件被保存(ctrl+s),自动转换成css/01.css文件

    ④多文件监听

    node-sass  -w  scss  -o  css

    八.SCSS基础语法

    1.变量

    使用$符号创建变量,变量名可以包含- _,命名规则基本与css选择器相同。尽量做到见名知意

    注意:

    1.变量声名时,可以引用其他变量名

    2.变量如果声明在{}内,就只能在这个{}内使用

    3.!default 规则

    如果此变量之前声明过值,就使用之前声明的值

    如果此变量之前没有声明过,就是使用现在的值

    $jd_red:#111 !default;

    2.嵌套

    ①后代选择器的嵌套写法

    //嵌套 

    #content{   

       font-size:32px;

       div.top{   

           color:#f00;

           h1{border:1px solid #f00; }

           p{margin:2px;}

       }

    }

    练习:

    $myblue:#0aa1ed;

    $fontcolor:#fff;

    $myheight:2.5rem;

    $my8rem

    .mybtn{}+hover{color:$jd_red;}

    ②伪类选择器的嵌套

    .mybtn{

      &:hover{}

    }

    嵌套是需要&占位符,如果没有占位符,选择器和伪类选择器之间会多一个空格,导致选择器整个失效

    ③群组的嵌套

    nav,div,h1{

      a{color:#fff;}

    }

    ④属性的嵌套

    div{

      border: {style:solid;10px;color:#00f};

    }

    练习,使用属性嵌套,伪类嵌套

    一个200px*200px的div,红色背景,方形

    鼠标悬停时,过渡到黄色背景,且变为圆形

    使用scss编写

    3.导入

    在scss语法中。如果scss文件,以下划线开头,那么这个scss就被称为局部scss文件

    局部scss文件的特点

    1.每一个局部scss文件,就是一个小模块

    2.scss在做转换css的时候,不会转换局部scss文件

    3.我们一般会在全局scss文件中,导入局部scss文件

      导入的语法 @import "局部scss文件名称" (不带下划线,不带后缀)

     这样生成一个统一的css文件

    4.局部scss中的变量,可以在被导入的文件中使用

    4.混合器

    把多个选择器都会用到的样式,封装进一个混合器中。

    需要使用的时候,调用混合器,实现代码的重用

    声明混合器

      @mixin 混合器名称(参数1,参数2....){

         样式....

      }

    调用混合器

      @include 混合器名称(实参1,实参2....);

    注意:混合器使用最多的场合,css hack

    5.继承

    一个选择器,可以完全使用另外一个选择器的样式

    使用关键字@extend 选择器名称;  继承样式

    6.运算符 

    scss可以自动在几种单位之间转换数值

    前提是,单位可以转换   rem em %就不能转换

    ①加法

    字符串拼接的时候,如果使用有双引号的 + 无双引号的,结果有双引号

                      如果使用无双引号的 + 有双引号的,结果无双引号

    ②减法

    减号会被自动解析为变量的一部分

    所以scss中的减法,要前后加空格

    $my-width - $min-width  

    ③除法

    scss中 / 的作用,除法,分隔符

    在scss,以下情况,会被认为是除法

    1.如果运算符两边的数字,是变量或者函数的返回值

    2.运算式被小括号包裹,是除法

    3.除法运算式,是其他算术运算式的一部分

    ④字符串的插值操作

    content:"liangliang ate #{200+100} baozis";

    #{}做插值

    ⑤颜色的运算

    分段运算

    #rrggbb+#rrggbb=#rr+rr  gg+gg  bb+bb

    rgb(a,b,c)+rgb(d,e,f)=rgb(a+d,b+e,c+f);

    rgba的算法

    计算两个rgba的时候,要求alpha必须相等,才能运算

    三.内置函数

    1.scss定义了很多函数,有些函数直接可以在css语句中使用

    rgba就是scss函数

    hsl(hue,saturation,lightness)

    hue 色调  0~360  0~120  120~240  240~360

    saturation 饱和度  0~100%

    lightness 亮度     0~100%

    2.数学函数

    round($val)  四舍五入

    ceil($val)

    floor($val)    floor(-3.4)  floor(3.4)

    min($v1,$v2......)

    max($v1,$v2....)

    random()

    3.字符串函数

    unquote($str) 去掉$str的引号

    quote($str)

    to_upper_case("abc"); 变大写

    to_lower_case("ABC"); 变小写  

    4.自定义函数

    @function get_width($a,$b){

      @return min($a,$b);

    }

    关键字 function return加@,参数加$

    四.指令

      @if $type==sun{

        color:#f00;

      }@else if $type==moon{

        color:#00f;

      }@else {

        color:#ff0;

      }

    条件的小括号,可以加,可以不加

  • 相关阅读:
    C++类中使用new及delete小例子(续)
    C++类中使用new及delete小例子
    C++类中static修饰的函数的使用
    C++类使用static小例子(新手学习C++)
    C++结构体中使用函数与类中使用函数小结
    记一次简单的性能优化
    [转载]Java的内存回收机制
    写给自己的项目总结
    [转载]正则表达式30分钟入门教程
    使用JRockit进行性能优化一:环境搭建
  • 原文地址:https://www.cnblogs.com/sna-ling/p/12559125.html
Copyright © 2020-2023  润新知