使用less 安装两个包 1===》cnpm install less less-loader --save-dev
less中的注释 以 //开头的注释 不会被编译到css文件中去 以 /**/ 包裹的注释 会被编译到css 文件中去
3===》 1)使用@来声明一个变量 @pink:pink; 【颜色值】变为变量 <p class="p">123</p> <style lang="less" scoped> @colorred: red; .p{ color: @colorred; } </style> ----------------------------- <p class="p">123</p> 2) css【属性】变为变量 将margin变为一个变量 @m: margin; .p { @m: 20px; 或者 @{m}: 30px; 推荐 } -------------------------------- 3) 变量可以作为【选择器】 @{作用的元素}{} <span>33</span> @sp: span; @{sp} { background: pink; } ------------------------------------ 4)less作为url. @{} 一般我们很少将 属性 和选择器 变为变量 记住 less中的变量都是延迟加载的 在less中的变量都是块级作用域 一个{} 代表一个作用域 哈 这样可以避免变量污染
less中的嵌套规则 第一种嵌套规则 div { p{ } } 第二种 &的使用 它代表的是平级 光标放在span 上 出现变色 <div class="box"> <p class="p">123</p> <span>33</span> </div> .box { span { margin-top: 20px; &:hover { color: red; } } } 必须要使用 &
混和 需求 div 和span 都要 出现了相同的代码 这个时候就可以使用混合了 <style lang="less" scoped> .xiangtong { width: 300px; height: 300px; background: red; line-height: 300px; text-align: center; display: block; } .box { .p { .xiangtong; } span { .xiangtong; } } </style>
--------------------- 带参数的混合哦 p的宽高是100px, 200px 出现红色 span的宽高是50px, 50px, 出现白色 <template> <div> <div class="box"> <p class="p">123</p> <span>33</span> </div> </div> </template> <script> export default { data() { return {}; } }; </script> <style lang="less" scoped> .xiangtong(@w,@h,@c) { width: @w; height: @h; background: @c; line-height: @h; text-align: center; display: block; } .box { .p { .xiangtong(100px, 200px, 200px,red); } span { .xiangtong(50px, 50px, 50px,green); } } </style> -------- 混合并且有默认参数哦 .xiangtong(@w:100px,@h:50px,@c:red) { width: @w; height: @h; background: @c; line-height: @h; text-align: center; display: block; } ------------- 当形参和实参个数不一致的时候 你就可以指定 你的这个参数是给谁的(命名参数的混合) .xiangtong(@c:pink)