iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >CSS动态样式语言less语法混合属性怎么用
  • 334
分享到

CSS动态样式语言less语法混合属性怎么用

2024-04-02 19:04:59 334人浏览 薄情痞子
摘要

这篇文章主要介绍CSS动态样式语言less语法混合属性怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!混合:在 LESS 中我们可以定义一些通用的属性集为一个选择器,然后在另一个

这篇文章主要介绍CSS动态样式语言less语法混合属性怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

混合:
在 LESS 中我们可以定义一些通用的属性集为一个选择器,然后在另一个选择器中去调用这些属性. 例如:

复制代码

代码如下:


.a, #b {
color: red;
}
.mixin-class {
.a();
}
.mixin-id {
#b();
}

编译后

复制代码

代码如下:


.a, #b {
color: red;
}
.mixin-class {
color: red;
}
.mixin-id {
color: red;
}

注意:在调用混合时,可以加括号也可以不加括号。下面这个也是对的:

复制代码

代码如下:


.a, #b {
color: red;
}
.mixin-class {
.a;
}
.mixin-id {
#b;
}

如果你只想定义一个混合,则可以再选择器后面加上括号,如下:

复制代码

代码如下:


.my-mixin {
color: black;
}
.my-other-mixin() {
background: white;
}
.class {
.my-mixin;
.my-other-mixin;
}

编译后,加括号的.my-other-mixin()不会被编译。

复制代码

代码如下:


.my-mixin {
color: black;
}
.class {
color: black;
background: white;
}

任何 CSS class, id 或者 元素 属性集都可以以同样的方式引入.通用选择器中可以嵌套选择器。

命名空间:
如果你想混合属性在一个更复杂的选择器,可以叠放多个id或类。如下:

复制代码

代码如下:


#outer {
.inner {
color: red;
}
}

如果想使用这个混合属性,你可以这样,下面四个都是等价的

复制代码

代码如下:


.c{
#outer > .inner;
}</p><p>.c{
#outer > .inner();
}</p><p>.c{
#outer.inner;
}</p><p>.c{
#outer.inner();
}

你可以将混合属性定义在一个id的下面,这样就避免了与其他混合冲突。

关键字!important:
在使用混合属性后面加上!important关键字,则混合中的所有属性都会加上关键字!important。例如:

复制代码

代码如下:


.foo (@bg: #f5f5f5, @color: #900) {
background: @bg;
color: @color;
}
.unimportant {
.foo(1);
}
.important {
.foo(2) !important;
}

编译后

复制代码

代码如下:


.unimportant {
background: #f5f5f5;
color: #900;
}
.important {
background: #f5f5f5 !important;
color: #900 !important;
}

带参数的混合:
混合属性也可以通过括号传递参数,如下:

复制代码

代码如下:


.border-radius(@radius) {
-WEBkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}

我们只需要在使用它的时候传递一个参数即可,如下:

复制代码

代码如下:


#header {
.border-radius(4px);
}
.button {
.border-radius(6px);
}

当然我们也可以给参数一个默认值,这样使用的时候可以传值也可以不传值。如下:

复制代码

代码如下:


.border-radius(@radius: 5px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}

如果我们没有传值,则会使用默认值5px。

当然我们也可以传递多个参数,如下:

复制代码

代码如下:


.mixin(@color) {
color-1: @color;
}
.mixin(@color; @padding:2) {
color-2: @color;
padding-2: @padding;
}
.mixin(@color; @padding; @margin: 2) {
color-3: @color;
padding-3: @padding;
margin: @margin @margin @margin @margin;
}
.some .selector div {
.mixin(#008000);
}

编译后

复制代码

代码如下:


.some .selector div {
color-1: #008000;
color-2: #008000;
padding-2: 2;
}

从编译的结果可以看出,less也有函数重载的特性。当我们定义相同混合属性名,参数不同,然后.mixin(#008000);调用,第一和第二混合都能匹配,但是第三个缺少参数@padding的值,所以不会引用第三个混合属性。

我们不仅可以传多个值,还可以指定属性名传值,如下:

复制代码

代码如下:


.mixin(@color: black; @margin: 10px; @padding: 20px) {
color: @color;
margin: @margin;
padding: @padding;
}
.class1 {
.mixin(@margin: 20px; @color: #33acfe);
}
.class2 {
.mixin(#efca44; @padding: 40px);
}

关键字@arguments:
@arguments有特殊的含义,类似于js的arguments,他包含了传递给混合属性的所有参数,如下:

复制代码

代码如下:


.box-shadow(@x: 0; @y: 0; @blur: 1px; @color: #000) {
-webkit-box-shadow: @arguments;
-moz-box-shadow: @arguments;
box-shadow: @arguments;
}
.big-block {
.box-shadow(2px; 5px);
}

编译后

复制代码

代码如下:


.big-block {
-webkit-box-shadow: 2px 5px 1px #000;
-moz-box-shadow: 2px 5px 1px #000;
box-shadow: 2px 5px 1px #000;
}

关键字@reset:
与@arguments不同的是@reset包含除指明参数之外的参数,例如:

复制代码

代码如下:


.mixin(@a; @rest...) {
// @rest包含了@a之后的参数
// @arguments包含了所有参数
}

模式匹配:
有时候你想让混合根据你传入的参数做不同的事情,比如:

复制代码

代码如下:


.mixin(dark; @color) {
color: darken(@color, 10%);
}
.mixin(light; @color) {
color: lighten(@color, 10%);
}
.mixin(@_; @color) {
display: block;
}
.class {
.mixin(@switch; #888);
}

对于.class你赋给变量@switch不同的值,不同的混合属性会被调用,比如

@switch: light;

编译后

复制代码

代码如下:


.class {
color: #a2a2a2;
display: block;
}

作为函数使用Mixin:
当我们把混合当做函数使用时,在调用函数之后,函数中的变量是可以使用的,除非调用混合属性的元素自己定义了同样的变量。比如:

复制代码

代码如下:


.mixin() {
@width: 100%;
@height: 200px;
}
.caller {
.mixin();
width: @width;
height: @height;
}

编译后

复制代码

代码如下:


.caller {
width: 100%;
height: 200px;
}

使用表达式:

复制代码

代码如下:


.average(@x, @y) {
@average: ((@x + @y) / 2);
}
div {
.average(16px, 50px); // "call" the mixin
padding: @average; // use its "return" value
}

编译后

复制代码

代码如下:


div {
padding: 33px;
}

LESS VS SASS

同类框架还有 SASS : Http://sass-lang.com/, 与 LESS 相比,两者都属于 CSS 预处理器,功能上大同小异,都是使用类似程序式语言的方式书写 CSS, 都具有变量、混入、嵌套、继承等特性,最终目的都是方便 CSS 的书写及维护。

以上是“CSS动态样式语言less语法混合属性怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: CSS动态样式语言less语法混合属性怎么用

本文链接: https://www.lsjlt.com/news/90907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS动态样式语言less语法混合属性怎么用
    这篇文章主要介绍CSS动态样式语言less语法混合属性怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!混合:在 LESS 中我们可以定义一些通用的属性集为一个选择器,然后在另一个...
    99+
    2024-04-02
  • 如何理解动态的样式语言less语法中混合属性
    这篇文章主要介绍“如何理解动态的样式语言less语法中混合属性”,在日常操作中,相信很多人在如何理解动态的样式语言less语法中混合属性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 如何理解动态的样式语言less语法中变量与extend
    本篇内容介绍了“如何理解动态的样式语言less语法中变量与extend”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • css中属性值语法是怎么样的
    这篇文章主要介绍了css中属性值语法是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。margin: [ <...
    99+
    2024-04-02
  • CSS中contain属性的语法是怎样的
    CSS中contain属性用于指定一个元素是否应该包含或被包含在其他元素内部。通过设置contain属性,可以告诉浏览器哪些元素应该被独立处理,从而提高页面的渲染性能。 contain...
    99+
    2024-02-25
    重绘
  • css样式中flex属性怎么用
    这篇文章主要介绍“css样式中flex属性怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css样式中flex属性怎么用”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • JavaScript中怎么动态创建div属性和样式
    JavaScript中怎么动态创建div属性和样式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.创建div元素:Javascript代...
    99+
    2024-04-02
  • css中怎么利用overflow属性控制滚动条样式
    css中怎么利用overflow属性控制滚动条样式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 滚动条样式...
    99+
    2024-04-02
  • 使用react怎么动态改变css样式
    本篇文章为大家展示了使用react怎么动态改变css样式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一种:动态添加class,以点击按钮让文字显示隐藏为demoimport React...
    99+
    2023-06-14
  • C语言链接属性怎么应用
    小编给大家分享一下C语言链接属性怎么应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是链接属性链接属性与C语言中各个目标文件及函数的链接过程有关,用于认定不...
    99+
    2023-06-29
  • 怎么修改css属性样式?常见方法介绍
    在网页设计中,CSS样式表是不可避免的一部分。通过CSS样式表,我们可以对网页元素进行样式修改,以达到美化页面的目的,并提高用户体验。本文将介绍如何修改CSS属性。一、选择器首先,在修改CSS属性之前,我们需要了解选择器。在CSS样式表中,...
    99+
    2023-05-14
  • css中的list-style列表样式属性怎么用
    这篇文章主要为大家展示了“css中的list-style列表样式属性怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css中的list-style列表样式属...
    99+
    2024-04-02
  • 怎么用R语言绘图实现公式与变量对象混合拼接
    本篇内容主要讲解“怎么用R语言绘图实现公式与变量对象混合拼接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用R语言绘图实现公式与变量对象混合拼接”吧!当我们在R中进行绘图时,如果涉及到数学或...
    99+
    2023-06-25
  • C语言怎么实现线性动态单向链表
    本篇内容主要讲解“C语言怎么实现线性动态单向链表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么实现线性动态单向链表”吧!什么是链表链表是数据结构里面的一种,线性链表是链表的一种,线性链...
    99+
    2023-06-30
  • css中背景固定样式background-attachment属性怎么用
    小编给大家分享一下css中背景固定样式background-attachment属性怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解...
    99+
    2024-04-02
  • 怎么使用JS动态合并两个对象的属性
    这篇文章给大家分享的是有关怎么使用JS动态合并两个对象的属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们可以使用扩展操作符(...)将不同的对象合并为一个对象,这也是合并两...
    99+
    2024-04-02
  • c语言动态库怎么创建和使用
    要创建一个动态库(也称为共享库),通常需要遵循以下步骤: 编写库的源代码文件,通常是以.c为扩展名的文件,包含库中所需的函数和数...
    99+
    2024-03-02
    c语言
  • C语言动态内存分配怎么使用
    这篇文章主要介绍了C语言动态内存分配怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言动态内存分配怎么使用文章都会有所收获,下面我们一起来看看吧。一、动态内存分配的意义C语言中的一切操作都是基于内存的...
    99+
    2023-06-30
  • css中的text-shadow字体投影属性样式怎么用
    这篇文章将为大家详细讲解有关css中的text-shadow字体投影属性样式怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 text-shadow为css文字阴影...
    99+
    2024-04-02
  • CSS中怎么利用 list-style属性控制li标签样式
    这期内容当中小编将会给大家带来有关CSS中怎么利用 list-style属性控制li标签样式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作