less的使用

本文详细介绍了Less预处理器的三大核心特性:变量使用@{}进行插值,通过extend实现选择器继承,以及丰富的内置函数,帮助提升CSS编写效率和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

less 变量和插值

less变量插值使用@{}表示

// less变量
@c: #e4393c;

// less变量插值使用@{}表示

// 选择器变量插值
@b: box;

// 路径变量插值
@imgUrl: 'https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png';

// 属性变量插值
@bgsize: background-size;

// -----------------------------------
// .box{
//   width: 200px;
//   height: 200px;
//   border: 2px solid @c;
//   text-align: center;
//   line-height: 200px;
//   background: url('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png') no-repeat 0 0;
//   background-size: contain;
// }

.@{b}{
  width: 200px;
  height: 200px;
  border: 2px solid @c;
  text-align: center;
  line-height: 200px;  
  background: url("@{imgUrl}") no-repeat 0 0;
  @{bgsize}: contain;
}

less-extend 继承

// less-extend 继承

.content{
  width: 300px;
  height: 100px;
}

// 继承一个选择器
.main:extend(.content){
  background-color: #f00;
}

// 加入一个规则集中
.list{
  // & 表示它的上一层选择器list
  &:extend(.content);
  &:extend(.a .b);// 匹配嵌套选择器
  border-radius: 20px;
  background-color: #ddd;
  margin-top: 30px;
}

// 嵌套选择器
.a{
  .b{
    border: 3px solid #0f0;
  }
}

less 函数

// less 函数
.box{
  width: 300px;
  height: 100px;
}

.main1{
  .box;//调用.box函数,没有参数可以不写 ()
  background-color: red;
  margin-top: 50px;
}

.main2{
  .box();//调用.box函数
  background-color: green;
  margin-top: 50px;
}

// ---------------less函数有参数-----------------------
.box2(@w: 100px, @h: 200px){//有默认参数
  width: @w;
  height: @h;
}
.boxshadow(@bc){//无参数函数
  box-shadow: 0px 0px 13px 1px @bc;
}

.main3{
  .box2();//有默认参数
  .boxshadow(orange);//无默认参数
  background-color: blue;
  margin-top: 50px;
}
### 配置 Vue 项目以支持 LESS 为了使 Vue 项目能够利用 LESS 编写样式,需先确保环境已准备好解析 `.less` 文件。这涉及到安装必要的构建工具和支持库。 #### 安装依赖包 通过 npm 或 yarn 来获取 `less` 和 `less-loader`,这是编译 LESSCSS 所必需的组件[^1]: ```bash npm install less less-loader --save-dev ``` 对于希望在整个应用程序中共享某些 LESS 资源(比如变量定义或混入),可以考虑使用 `style-resources-loader` 插件来自动导入这些资源到每一个 LESS 文件中[^2]。 #### 修改配置文件 如果采用的是 Vue CLI 创建的应用程序,则可以在项目的根目录下找到名为 `vue.config.js` 的配置文件,在其中添加对 LESS 支持的相关设置[^3]: ```javascript // vue.config.js module.exports = { css: { loaderOptions: { less: { additionalData: '@import "@/styles/variables.less";' } } } } ``` 上述代码片段展示了如何让所有的 LESS 文件默认加载特定路径下的自定义变量文件,从而实现全局可用的样式定制化选项。 #### 使用 LESS 开发样式 一旦完成了以上准备工作之后,就可以像平常一样在单文件组件 (SFC) 中编写 `<style lang="less">...</style>` 块内的 LESS 语法了;也可以创建独立的 .less 文件并按常规方式引入它们。 ```html <template> <div class="example"> {{ message }} </div> </template> <script> export default { data() { return {message: 'Hello, world!'} } }; </script> <style scoped lang="less"> .example { color: @primary-color; } </style> ``` 在这个例子中,假设已经有一个包含了颜色变量定义的全局 LESS 文件被正确地载入到了整个应用里,那么这里可以直接引用该变量而无需重复声明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值