less的使用(好文章)
好文章链接: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的使用(好文章)的更多相关文章
- C# 文章导航
1. C#相关文章 1.1 C# 基础(一) 访问修饰符.ref与out.标志枚举等等 1.2 C# 基础(二) 类与接口 1.3 C# DateTime日期格式化 1.4 C# DateTime与时 ...
- 分布式系列文章——Paxos算法原理与推导
Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难. 网上有很多讲解Paxos算法的文章,但是质量参差不齐.看了很多关于Paxos的资 ...
- 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...
- 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)
呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的I ...
- iOS系列文章
本博客全为原创,如果借鉴了其他文章会在博文的下面进行说明.欢迎转载,但要在文章中给出原文链接,谢谢. 有链接的说明已经发布,没有链接的说明还没有发布. 并不是所有的博文都在这里罗列,有兴趣的可以看博客 ...
- 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)
统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...
- 【NLP】揭秘马尔可夫模型神秘面纱系列文章(一)
初识马尔可夫和马尔可夫链 作者:白宁超 2016年7月10日20:34:20 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一书,起初觉得深奥难懂且无什么用场.直到学习自然语言处 ...
- 在知乎上看到 Web Socket这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错
在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/que ...
- 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第十二节)
好的,那么在上一节中呢,评论功能的后台已经写好了,这一节,先把这部分后台代码和前台对接一下. 1.评论功能实现 我们修改一下保存评论按钮的点击事件,用jQuery的方式获取文本框中的值,然后通过aja ...
- 【微信小程序开发•系列文章六】生命周期和路由
这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...
随机推荐
- Lua中__index和__newindex实践
[具有默认值的table] 我们都知道,table中的任何字段的默认值都是nil,但是通过元表,我们可以很容易的修改这一规定,代码如下: function setDefault(tb, default ...
- Linker errors in Android NDK (undefined reference to `__cxa_end_cleanup')
在 Android 中移植一个库(该库 使用了 libstlport )时 产生如下错误: ./obj/local/armeabi/objs/jniWrapper/native.o: In funct ...
- Vue CLI 3+tinymce 5富文本编辑器整合
基于Vue CLI 3脚手架搭建的项目整合tinymce 5富文本编辑器,vue cli 2版本及tinymce 4版本参考:https://blog.csdn.net/liub37/article/ ...
- 2017-2018-2 20155309南皓芯 Exp4 恶意代码分析
实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 答:我会使用sysmon工具来进行监控 ...
- 【SQL】 MySql与SqlServer差异比较(MySql踩坑全集)
本文主要记录将数据库从SqlServer移植到MySql的过程中,发现的各种坑爹问题.以SqlServer为主,记录MySql的差异性. 一.IF语句 首先MySql中的的IF语法不同. IF Con ...
- mysql 删除所有表
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')FROM information_schema.tablesWHERE table_sch ...
- Windows 修改域用户账户密码
打开powershell as administrator Set-ADAccountPassword -Identity 域用户名 弹出提示框,输入旧密码 弹出提示框,输入新密码,两遍 登出 win ...
- HRBUST 1181 移动 bfs模板
#include<bits/stdc++.h>///该头文件为万能头文件,有些学校oj不能使用,读者可根据需要自行修改 using namespace std; ; int vis[MAX ...
- LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)
LOJ 洛谷 这题不就是Peaks(加强版)或者归程么..这算是\(IOI2018\)撞上\(NOI2018\)的题了? \(Kruskal\)重构树(具体是所有点按从小到大/从大到小的顺序,依次加入 ...
- Showstopper [POJ3484] [二分] [思维]
Description 给你n个数列,问哪一个数字在所有的数列中出现了奇数次(最多一个). Sample Input 1 10 1 2 10 1 1 10 1 1 10 1 1 10 1 4 4 1 ...