Less基础整理

logo.png
什么是Less?

Less是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。
知道Less是什么很重要,Less的出现就是为了方便程序员编写的,如果你使用Less还像写css那样编写,那使用Less是没有意义的。

基础语法
变量

如果学过编程语言,那么就很好理解,Less使用@来定义一个变量,之后想使用变量中的值就直接调用变量就好。

@color: #fff;
#header {color: @color;}
混合

我认为混合是很有用的,尤其是在写css3的时候。

.rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    -ms-border-radius: @radius;
    -o-border-radius: @radius;
    border-radius: @radius;
}
#header {
    .rounded-corners;
}
#footer {
    .rounded-corners(10px);
}

编译后:

#header {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
#footer {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

在这里要注意,你可以指定参数,可以给参数赋值也可以不赋值,看需要而定。

嵌套

这是Less中最常用的,嵌套实现了在一个选择器里嵌套另一个选择器,从而实现选择器的继承,减少代码量。

#header {
    h1 {
        font-size: 26px;
        font-weight: bold;
    }
    p {
        font-size: 12px;
        a {
            text-decoration: none;
            &:hover {
                border-width: 1px
            }
        }
    }
}

编译后:

 #header h1 {
    font-size: 26px;
    font-weight: bold;
}
#header p {
    font-size: 12px;
}
#header p a {
    text-decoration: none;
}
#header p a:hover {
    border-width: 1px;
}

需要注意的一点是&代表上一级选择器。

运算

在Less中支持加,减,乘,除操作,也可以做属性值和颜色的运算,这样就可以实现属性值之间的复杂关系。

总结

我觉得Less既然作为一个方便程序员写css的语法,我们使用的时候就不应该像写css那样去用,提前的设计是比较重要的,应该先规划好比如:哪几个属性值、颜色常用?可以定义为变量,哪个选择器里的样式我可以直接调用?这样才能做到真正的简化、方便。我个人的实践还是比较少,等以后用得多了再来补充~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide...
    老夫的天阅读 1,975评论 1 29
  • 先安利我最近看的一部电视剧吧:《鸡毛飞上天》,讲浙江义乌小商品市场怎么发展起来的故事,以小积大呀,所以我们的基础一...
    Iris_mao阅读 611评论 0 6
  • 0. 前言 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World W...
    旧丶时候阅读 394评论 5 10
  • (一) 昨天晚上,我和就这在群里进行了一场激烈的讨论。之所以说没有吵起来,是因为他是狗管理,我怼不过他。 (二) ...
    潇晓狼阅读 587评论 1 8
  • 雨嘀嗒嘀嗒地打在窗外,就像此刻的心情。 听说你最近有个女朋友是吗?她对你好吗?我想应该好吧。她比我好吗,我想是的,...
    筱筱呐阅读 174评论 0 1