好文章链接:30分钟学会less

自己总结一下这篇文章中的几个关键字:变量、混合、函数、嵌套、@import

下面贴上自己照着上面写的一些代码:

<template>
<div class="main">
<div class="container">1</div>
<div class="container2">2</div>
<div id="container2">3</div>
<div id="header">函数</div>
<button class="button">函数</button>
<div class="sectionBox">函数样式多个参数用分号隔开,且可以为每个参数设置默认值</div>
<div class="class1">函数有默认值,调用时通过变量名称,而不是位置</div>
<div class="class2">函数参数有内置变量@arguments,相当于js函数中的arguments</div>
<div class="parentBox">
我是父元素
<div class="child">我是子元素</div>
</div>
<div class="one">我是one元素,后面是我的伪类</div>
</div>
</template> <script>
export default { }
</script> <style lang="less">
@color: pink;//样式变量
@mainColor:green;//样式变量
@main:main;//类名变量
.whbm(){//用于嵌套
width: auto;
height: 50px;
background-color: @color;
margin-bottom: 5px;
float:left;
} .@{main}{//用变量当类名//不能会用#
background-color: @mainColor;
position:absolute;
top:0;
left:0;
bottom:0;
width:100%;
}
.container{
.whbm();//和.border_radius效果一样
}
.container2{
.whbm();//混合
}
#container2{
.whbm();//混合
} // fun_less
.border-radius(@radius) {//函数样式用于嵌套 @radius是一个参数变量
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
#header{
.whbm();
.border-radius(20px);
}
.button{
.whbm();
.border-radius(50%);
}
// 函数的参数设置默认值:
.border-radius2(@radius: 5px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
// 函数有多个参数时用分号隔开
.mixin(@color:orange; @padding) {
color: @color;
padding: @padding;
}
// 函数如果没有参数,在转译成 css 时就不会被打印出来,详见上面混合中的示例
.wrap() {
text-wrap: wrap;
} .sectionBox{
.whbm();
.border-radius(10px);
.mixin(orange;10px);
} // 函数参数如果有默认,调用时就是通过变量名称,而不是位置
.cmp(@color: black; @margin: 10px; @padding: 20px 0;) {
color: @color;
margin: @margin;
padding: @padding;
}
.class1 {
.whbm();
.cmp(@margin: 20px;@padding:10px 0; @color: #33acfe);
} // 函数参数有个内置变量 @arguments,相当于 js 中的 arguments
.box-shadow(@x: 10px; @y: 10px; @blur: 1px; @color: #000) {
-webkit-box-shadow: @arguments;
-moz-box-shadow: @arguments;
box-shadow: @arguments;
}
.class2{
.whbm();
.box-shadow();
}
// 函数名允许相同,但参数不同,类似于 java 中多态的概念
.mixin1(@color: black) { };
.mixin1(@color: black; @margin: 10px) { }; // 父子元素的写法 (可以嵌套)
.parentBox{
float:left;
width:200px;
height:100px;
background:orangered;
color:black;
position: relative;
.child{
background:blueviolet;
width:100%;
height:30px;
};
&:after{//伪类元素的写法 //用&号代替父元素
content:"我是父元素的伪类元素";
position: absolute;
top:0;
right:-100px;
width:100px;
height:100px;
background:chocolate;
}
} // 神奇 @import (从外部引入less文件,像引入模块一样)
//借机说一下@import引入样式,与link引入样式的区别,link引入样式,先加载css再加载html,不会出现HTML混乱,而@import引入样式,先加载html后加载样式,会引起html先加载时,样式混乱。
// 文件后缀名
// 在less中,@import声明会根据引入的文件的后缀进行相应的解析。 // 如果文件是.css的后缀,该文件将会被解析成css样式,然后@import语句会保持原样。
// 如果文件是其他类型的后缀的话,文件会被解析成less文件,然后进行导入。
// 如果文件没有任何后缀,将会为文件添加.less的后缀,并且当成less文件进行导入。 @import "../less/one";//不指定后缀时,已less格式引入
@import url("../less/two.less");//我会覆盖one的样式 这种带url的语法和不带url的语法无差别 // less提供了数种后缀给css的@import语句,可以更加灵活的去使用外部文件。
// 语法:@import(keyword)"filename";
// 下面是已经实现了的import准则:
// reference:使用less文件到时不将其输出。
// inline:将源文件包含进来但是不进行处理。
// less:无论文件后缀是什么类型,都当成less格式的文件。
// css:无论文件后缀是什么类型,都当成css格式的文件。
// once:只引入文件一次(为默认行为)。
// multiple:引入文件数次。
// optional:当文件没找到时会继续编译。
@import (optional, reference) "foo.less"; </style>

less的使用(好文章)的更多相关文章

  1. C# 文章导航

    1. C#相关文章 1.1 C# 基础(一) 访问修饰符.ref与out.标志枚举等等 1.2 C# 基础(二) 类与接口 1.3 C# DateTime日期格式化 1.4 C# DateTime与时 ...

  2. 分布式系列文章——Paxos算法原理与推导

    Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难. 网上有很多讲解Paxos算法的文章,但是质量参差不齐.看了很多关于Paxos的资 ...

  3. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录

    ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...

  4. 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)

    呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的I ...

  5. iOS系列文章

    本博客全为原创,如果借鉴了其他文章会在博文的下面进行说明.欢迎转载,但要在文章中给出原文链接,谢谢. 有链接的说明已经发布,没有链接的说明还没有发布. 并不是所有的博文都在这里罗列,有兴趣的可以看博客 ...

  6. 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)

    统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...

  7. 【NLP】揭秘马尔可夫模型神秘面纱系列文章(一)

    初识马尔可夫和马尔可夫链 作者:白宁超 2016年7月10日20:34:20 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一书,起初觉得深奥难懂且无什么用场.直到学习自然语言处 ...

  8. 在知乎上看到 Web Socket这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错

    在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/que ...

  9. 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第十二节)

    好的,那么在上一节中呢,评论功能的后台已经写好了,这一节,先把这部分后台代码和前台对接一下. 1.评论功能实现 我们修改一下保存评论按钮的点击事件,用jQuery的方式获取文本框中的值,然后通过aja ...

  10. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

随机推荐

  1. 全平台网页播放器兼容H5与Flash还带播放列表

    许久不发文了,2018年第一篇文章,写点干货--关于网页播放器的问题.嗯,实际上我是在52破解首发的,当做新人贴. 目前来说,网页播放器不少,随便找找都能找到一大堆,然而好用的就那么几个,比如ckpl ...

  2. 51nod--1185 威佐夫游戏 V2 (博弈, 乘法模拟)

    题目: 1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中 ...

  3. 强大的IDEA开发工具

    开发工具切换IDEA 一:首先安装好IDEA工具并且配置maven信息 打开-File-Settings 新建maven WEB项目 打开-File-New-Project 点击NEXT 点击NEXT ...

  4. Leetcode | 组目录

    数组 [1]999. 车的可用捕获量 [2]989. 数组形式的整数加法

  5. RabbitMQ 消息队列 二

    一:查看MQ的用户角色 rabbitmqctl list_users 二:添加新的角色,并授予权限 rabbitmqctl add_user xiaoyao 123456 rabbitmqctl se ...

  6. Consideration about improving mathematics study

    In this article, I’ll present my ideas about how to improve mathematics study, which are the forewor ...

  7. win10下如何解决U盘连接上电脑但不显示的问题

    问题:U盘插上电脑之后,任务栏上有U盘连接上的显示,但是在磁盘符和U盘管理器上没有它的显示. 方法: 1.在任务栏上点击win图标,再点击“设置”(或直接使用快捷键win+i)进入到win10下的“设 ...

  8. PID实战-STM32电机PWM力矩调节系统

    系统阐述:

  9. String painter HDU - 2476 -区间DP

    HDU - 2476 思路:分解问题,先考虑从一个空串染色成 B串的最小花费 ,区间DP可以解决这个问题 具体的就是,当 str [ l ] = = str [ r ]时 dp [ L ] [ R ] ...

  10. django——form组件

    1.html表单概述 Django开发的是动态Web服务,而非单纯提供静态页面.动态服务的本质在于和用户进行互动,接收用户的输入,根据输入的不同,返回不同的内容给用户.返回数据是我们服务器后端做的,而 ...