less学习——Color 函数

LESS 提供了一系列的颜色运算函数. 颜色会先被转化成 HSL 色彩空间, 然后在通道级别操作:

lighten(@color, 10%);     // return a color which is 10% *lighter* than @color
darken(@color, 10%);      // return a color which is 10% *darker* than @color

saturate(@color, 10%);    // return a color 10% *more* saturated than @color
desaturate(@color, 10%);  // return a color 10% *less* saturated than @color

fadein(@color, 10%);      // return a color 10% *less* transparent than @color
fadeout(@color, 10%);     // return a color 10% *more* transparent than @color
fade(@color, 50%);        // return @color with 50% transparency

spin(@color, 10);         // return a color with a 10 degree larger in hue than @color
spin(@color, -10);        // return a color with a 10 degree smaller hue than @color

mix(@color1, @color2);    // return a mix of @color1 and @color2

使用起来相当简单:

@base: #f04615;

.class {
  color: saturate(@base, 5%);
  background-color: lighten(spin(@base, 8), 25%);
}

你还可以提取颜色信息:

hue(@color);        // returns the `hue` channel of @color
saturation(@color); // returns the `saturation` channel of @color
lightness(@color);  // returns the 'lightness' channel of @color

如果你想在一种颜色的通道上创建另一种颜色,这些函数就显得那么的好用,例如:

@new: hsl(hue(@old), 45%, 90%);

@new 将会保持 @old的 色调, 但是具有不同的饱和度和亮度.

个人博客: 付博瀚个人博客1 付博瀚个人博客2

### LESS CSS 使用教程与语法说明 #### 什么是 LESSLESS 是一种动态样式表语言,它是 CSS 的扩展版本,提供了更多的功能来简化样式的编写过程。通过引入变量、混合(mixins)、嵌套规则等功能,使得代码更加简洁和易于维护[^1]。 --- #### 安装与配置 要使用 LESS 文件,通常需要将其编译成标准的 CSS 文件以便浏览器能够解析执行。可以通过以下方式实现: - **Node.js 编译** 可以安装 `less` 命令行工具来进行本地编译: ```bash npm install -g less ``` 然后运行命令将 `.less` 文件转换为 `.css` 文件: ```bash lessc styles.less styles.css ``` - **前端框架集成** 如果项目中已经集成了构建工具(如 Webpack 或 Gulp),可以直接利用插件完成自动化的编译工作。例如,在 Webpack 中可以使用 `less-loader` 插件[^2]。 --- #### 核心语法特性 ##### 1. 变量 变量允许存储颜色值或其他属性值供后续多次调用,从而减少重复劳动并提高一致性。 ```less @primary-color: #4D926F; body { color: @primary-color; } ``` 上述例子展示了如何声明一个名为 `@primary-color` 的变量,并在 body 元素的颜色设置上应用该变量[^3]。 ##### 2. 混合 (Mixins) 混合适用于创建可重用的功能模块或者通用类名集合。 ```less .border-radius(@radius) { border-radius: @radius; } .box { .border-radius(5px); } ``` 这里定义了一个接受参数的 mixin 函数 `.border-radius()` ,并在另一个选择器 `.box` 上进行了实例化操作。 ##### 3. 嵌套规则 支持子级的选择符直接写在其父节点内部,这样不仅逻辑清晰还减少了多余的书写负担。 ```less nav { ul { margin: 0; padding: 0; list-style: none; } li { display: inline-block; } a { text-decoration: none; &:hover { color: @primary-color; } } } ``` 这段代码片段演示了 nav 组件下的多个层次结构及其对应的样式设定。 ##### 4. 运算能力 除了简单的赋值外,还可以对数值型数据做加减乘除运算处理。 ```less @base-margin: 10px; .container { width: (@base-margin * 8); height: ((@base-margin / 2) + 5%); } ``` 此部分体现了基本数学计算的应用场景之一——动态调整容器尺寸大小。 ##### 5. 导入外部资源 类似于 HTML `<link>` 标签的作用,但更为灵活强大。 ```less @import 'variables'; @import 'mixins'; .button { background-color: @button-bg; font-size: @font-size-base; &.large { .set-dimensions(10em, auto); } } ``` 上面提到先导入两个独立文件分别包含全局变量定义以及常用mixin方法库;接着再组合运用到具体组件当中去。 --- ### 总结 综上所述,LESS 提供了一系列增强传统CSS表现力的新特性和机制,极大地提升了开发效率的同时也增强了项目的可维护程度。掌握这些基础概念之后就可以着手实践自己的第一个项目啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值