第二课 less的学习以及移动端需要注意的问题
一、LESS的学习笔记:
1.less介绍:一种动态样式语言。less将css赋予了动态语言的特性,如变量,继承,运算,函数,less既可以在客户端上运行(支持IE6+,webkit,firefox),也可以借助node.js或者Rhino在服务端运行。less的中文文档,可以参照这两个地址进行学习:http://less.bootcss.com/ http://www.bootcss.com/p/lesscss/
2.less的安装
法一:安装iterm或者使用终端都可以,然后输入sudo npm install -g less (mac系统下)
法二:去官网下载引用
3.辅助编译软件koala http://koala-app.com/index-zh.html
4.注释
/*代码*/ 会被编译的
// 不会被编译的
5.变量
定义变量的方法:@变量名:值;如:@test-width:300px;.box{width:@test-width;}
6.混合
可以混合使用css样式,如在less文件中可以这样写:
.border{border:solid 5px pink;}
.box{.border;width:300px;height:300px;}
另外,混合是可以带参数的,如:
.border_02(@border_width){border:solid yellow @border_width;}
.test_hunhe{.border_02(30px);}
而且,混合还可以带默认值,如:
.border_03(@border_width:10px){border:solid yellow @border_width;}
.test_hunhe_03{.border_03();}
(在这种情况下,()内不填值,即使用默认值,()内如果填值,则显示需要填写的值,如.border_03(20px);)
混合的例子:
.border_radius(@radius:5px){
-webkit-border-radius:@radius;
-moz-border-radius:@radius;
border-radius:@radius;
}
.radius_test{
width:100px;
height:100px;
background-color:green;
.border_radius;
}
7.匹配模式
相当于js中的if,但不完全是,满足条件后才能匹配,例如(三角形):
.triangle(top,@w:5px,@c:#ccc){
border-width:@w;
border-color:transparent transparent @c transparent;
border-style:dashed dashed solid dashed;
}
.triangle(bottom,@w:5px,@c:#ccc){
border-width:@w;
border-color:@c transparent transparent transparent;
border-style:solid dashed dashed dashed;
}
.triangle(left,@w:5px,@c:#ccc){
border-width:@w;
border-color:transparent @c transparent transparent;
border-style:dashed solid dashed dashed;
}
.triangle(right,@w:5px,@c:#ccc){
border-width:@w;
border-color:transparent transparent transparent @c;
border-style:dashed dashed dashed solid;
}
.triangle(@_,@w:5px,@c:#ccc){
width:0;
height:0;
overflow:hidden;
}
.sanjiao{
.triangle(top,100px);
}
例子:定位
.pos(r){position:relative;}
.pos(a){position:absolute;}
.pos(f){position:fixed;}
.pipei{
width:200px;
height:200px;
background-color:green;
.pos(r);
}
8.运算
@test_01:300px;
.box_02{
width:(@test_01-20)*5;
color:#ccc-10;
}
9.嵌套规则
两种方法:& 对伪类使用,-hover或focus;对连接使用,-&-item,例如:
html层:
<ul class="list"><li><a></a><span></span></li></ul>
css less层:
.list{
width:600px;
li{height:30px;}
a{float:left;}
span{float:right;}
}
例子:伪类的写法
a{float:left;
&:hover{color:red;}}
&代表他的上一层选择器
10.arguments变量
.border_arg(@w:30px,@c:red,@xx:solid){
border:@arguments;
}
.test_arguments{
.border_arg(40px);
}
11.避免编译 !important及总结:
避免编译:有时候我们需要输出一些不正确的css语法或者使用一些less不认识的专有语法。要输出这样的值,我们可以在字符串前加上一个~ 例如:width:~'calc(100%-35)'
!important关键字:会为所有混合所带来的样式,添加上!important
二、总结:
(1)通过less设置字体,并进行全局计算的方法;
条件:PSD稿为640px,通过动态设置html字体大小,得出html字体为40px;
定义变量:@rem:40px;
使用:如果某个字体/宽/高在PSD稿上为20px,则可以设置为20/@rem;
(2)清除浮动样式:
.clearfix:after{
contant:"";
display:block;
clear:both;
}
使用在应用了float的父级元素上面。
(3)移动端需要注意的问题
a.固定定位(fixed)元素内容中,如果有input元素的话,当获取焦点触发键盘之后会导致定位错误的情况发生;
b.不管使用北京图还是img,一定要调整对应的size(大小)background-size属性,如果图片大小和容器大小一致,则可以使用100%,如果不一致,则针对图片分别设置宽高;
c.碰到文字,一定要测量行高,不然高度会不准确;
标签的特性需要熟记于心。
第二课 less的学习以及移动端需要注意的问题的更多相关文章
- 【第二课】从零开始学习Linux(学习笔记)
之前工作会接触Linux,会常用的命令和服务,看过一些书,缺乏系统的学习和整理,现在放空自己,从零开始学习. 每日学习打卡: 2022-04-04
- 【Android开发学习笔记】【第二课】Activity学习
什么是Activity,就是我们所看到的 需要理解以下四句话: 1.一个Activity就是一个类,并且这个类需要集成Activity: 2.需要重写OnCreat方法 3.每个Activity都需要 ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络
第二课 传统神经网络 <深度学习>整体结构: 线性回归 -> 神经网络 -> 卷积神经网络(CNN)-> 循环神经网络(RNN)- LSTM 目标分类(人脸识别,物品识别 ...
- Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD
原文:Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链 ...
- 红帽学习笔记[RHCSA] 第二课[文件、目录、相关命令]
第二课 常用的目录结构与用途 / 根目录 /boot 存储的是系统起动时的信息和内核等 /dev 存储的是设备文件 /etc 存储的是系统的配置文件 /root 存储的是root用户的家目录 /hom ...
- CI(CodeIgniter)框架入门教程——第二课 初始MVC
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...
- NeHe OpenGL教程 第二课:多边形
前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...
- 过拟合/欠拟合&logistic回归等总结(Ng第二课)
昨天学习完了Ng的第二课,总结如下: 过拟合:欠拟合: 参数学习算法:非参数学习算法 局部加权回归 KD tree 最小二乘 中心极限定律 感知器算法 sigmod函数 梯度下降/梯度上升 二元分类 ...
- 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握
内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...
随机推荐
- Android内存性能优化(内部资料总结) eoe转载
刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成.其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统 ...
- ajax验证登录注册
<form id="form1" onsubmit="return false;"> <table id="login-table& ...
- JVM内存监控工具 Jvisualvm
这个工具是官方提供的,直接在JDK工具包下的bin目录找找就可以找到,或者打开cmd直接输入"jvisualvm"即可打开该工具(配置好java环境变量). 需要在catalina ...
- IBM B16光纤交换机ZOON划分方法
一.ZOON的含义及划分原则 Zoon在光纤存储交换机中的功能类似于以太网交换机VLAN的作用,主要是为了在一台交换机划分出多个逻辑区,用于防范不同应用的存储连接发起广播包,提高光纤交换机 ...
- 随笔之——各大热门网站search 搜索框的写法,浅析!
随笔之——各大热门网站search 搜索框的写法,浅析! 关于搜索框,写法有很多种,搜索框这一块是一个比较细的活,要先计算好他的高.宽: 下面我就以京东搜索框为例,给大家浅析一下. 上面就是最终s ...
- 关于NGUI与原生2D混用相互遮盖的问题心得
http://www.fzgh.org.cn/zuixindianying/144224.html Native2D自己可以使用Sort Layer来排序,每层又有不同的Order In Layer, ...
- HTML页面的布局
1.纵向切分页面:CSS POSITION的默认值为:STATIC 1) <html> <head> <title>Hello</title> < ...
- TextMate 小小心得
在Vim.Emacs之间纠结了很久之后,却选择了TextMate P.S. 为何Emacs和Vim被称为两大神器 中文的资料不是很多,一狠心,找了James Edward Gray II的TextMa ...
- 【架构】Google的大规模集群管理工具Borg
参考资料: http://www.cnblogs.com/YaoDD/p/5374393.html http://www.cnblogs.com/YaoDD/p/5351589.html
- 《oracle每天一练》Merge Into 语句代替Insert/Update在Oracle中的应用实战
转载自窃破天道 动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作. 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也 ...