• 前端三大Css处理器之Less


    Less是Css预处理器之一,分别有Sass、Less、Stylus这三个。

           Lessicon-default.png?t=N7T8https://lesscss.org/        Less是用JavaScript编写的,事实上,Less是一个JavaScript库,他通过混合、变量、嵌套和规则设置循环扩展了原生普通Css的功能。Less的少数缺点之一是它不支持函数

    Less的语法与Scss十分相似,只是在声明变量时,Less使用@而不是$sign。

            Sassicon-default.png?t=N7T8https://www.sass.hk/guide/        Sass让人们受益的一个重要特性就是它为css引入了变量。你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。

            Stylusicon-default.png?t=N7T8https://www.stylus-lang.cn/        Stylus由Node.JS编写,与JS堆栈完美匹配。Stylus神兽Sass的逻辑能力和Less的简单性的影响。与Sass或Less版本相比,Stylus的一个优点就是它具有极其强大的内置功能,并且能够处理繁重的计算。

    Less笔记:

    JavaScript代码:

    1. DOCTYPE html>
    2. content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,minimal-ui:ios">
    3. 学无止境,永远对学习保持一种敬畏的态度!
  • Less样式代码:

    1. // less变量
    2. @c-pink: pink;
    3. @mgn: margin;
    4. @wrap: #wrap;
    5. // 混合
    6. .juzhong(@width: 10px, @height: 10px, @color: skyblue){
    7. width: @width;
    8. height: @height;
    9. background: @color;
    10. // less中的嵌套规则
    11. // 注意点:一定要加&,否则会编译成父子关系,使用&:表示平级
    12. &:hover{
    13. background: @c-pink;
    14. }
    15. }
    16. * {
    17. padding: 0;
    18. @{mgn}: 0;
    19. }
    20. /* 这是我想给用户看的注释 */
    21. // 这是给程序员看的注释
    22. @{wrap} {
    23. width: 500px;
    24. height: 500px;
    25. margin: auto;
    26. display: flex;
    27. justify-content: center;
    28. align-items: center;
    29. border: 1px solid skyblue;
    30. .inner {
    31. .juzhong(100px , 100px, red);
    32. }
    33. .inner2 {
    34. .juzhong(@color: gray);
    35. }
    36. }
    37. // less中唯一有一点逻辑的地方:变量的延迟加载(看作用域)
    38. @var: 0;
    39. .wzh-1{
    40. @var: 1;
    41. .wzh-2 {
    42. @var: 2;
    43. three: @var; // 3
    44. @var: 3;
    45. }
    46. one: @var; // 1
    47. }
    48. // less中的嵌套规则
    49. // 注释
    50. // 变量 @开头
    51. // @c-pink: pink; color: @c-pink;
    52. // @wrap: #wrap; @{wrap} {}
    53. // @margin: margin; @{margin}: auto;
    54. // 场景:同一个大盒子下两个一模一样的小盒子,小盒子代码重复,如何复用? 混合即可高效解决
    55. // less普通混合 : juzhong()
    56. // 混合的样式会在css文件内显示
    57. // less不带输出混合: .juzhong()
    58. // 混合的样式只在less文件内显示(给混合名字后面加上小括号即可,调用时也要加小括号)
    59. // 带参数并且带默认值的混合 .juzhong(x, y) 俗称mixin
    60. // 只需要在 .juzhong(@width, @height, @color)
    61. // 1、调用时需要接收形参
    62. // 2、并且需要默认值
    63. // 命名参数混合
    64. // 1、调用 .juzhong()函数时,它需要传三个参数,如果你只想要传参一个参数的话,就需要给参数命名;
    65. // 2、命名参数这样使用: .juzhong(@color: black) 这样既可,如果不给参数命名,它会将颜色的值赋值到width宽度上去;
    66. // arguments变量 实参列表 具有length属性的对象叫做伪数组
    67. // .juzhong(@w, @line, @color) { border: @arguments}
    68. // less计算: 加减乘除 计算时只需要一方带单位即可
    69. .wzh-1{ width: (100 + 100px)}
    70. // 避免编译:像我们css中计算的一个方法calc,
    71. // 因为它是浏览器自带的方法,它是会被自动识别并编译的,
    72. // 所以我们不需要再让less去编译它,我们就可以使用 ~'' 将calc计算包起来,就会避免less编译这行计算样式
    73. .lv{
    74. margin: 0;
    75. padding: ~'calc(100 + 100px)';
    76. }

  • 相关阅读:
    高防IP的原理
    你真正了解什么是接口测试么?接口实战一“篇”入魂
    01-JavaScript-数据类型
    CREATE SECURITY LABEL COMPONENT 语句2
    【java期末复习题】第8章 常用实用类
    zlMediaKit 2 event-poller模块--reactor+管道回调执行异步任务队列+红黑树执行定时任务
    收藏了!Git 核心操作图解
    小小装饰器大大用处
    PostgreSQL数据库统计信息——acquire_inherited_sample_rows采样函数
    Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术
  • 原文地址:https://blog.csdn.net/weixin_55778010/article/details/127347775