使用选择器:>儿子那一代 + 紧跟的下一个兄弟元素 ~后面所有的元素
引入字体文件(约束某一段字符代表什么图案)
怎么使用维护性更好( 把字体名称包装成出class)通过伪类改变类的元素内容,通过字符串代表字体图标
Note:先生成字符集@charset “utf-8”; @开始申明变量,不能以数字开头,不能包含特殊字符,区分大小写的,如果变量要和字符相拼接,要加上{}
函数调用和类的调用时候一样的,所以不能写与类名相同的函数,函数还可以传参。定义了参数(没有默认值),在调用的时候必须传参,默认值也可以定义,与定义变量方式一样,如果有默认参数,那么就可传可不传
写伪类伪元素,加上&符号
Note:bootstrap源码用less写的,易维护,使用变量和函数,
原理:less.js插件用ajax去服务器把less文件内容请求过来,js中有解析less文件js程序,把解析得到的css文件追加到body中;
怎么浏览器中直接使用less文件?在浏览器中使用less的话,
less无法在浏览器中直接使用
用过less解析插件(js)
less.watch();无刷新自动预览样式
以http形式打开网页预览
rem:是单位,相对单位(em的大小是基于父元素的大小,px是绝对单位,rem是基于html元素的大小)
响应式布局:媒体查询(超小屏的时候:也是流式布局)
以上布局共同点:元素只做了宽度的适配,(除了图片)
rem实现宽度和高度做到等比缩放,通过控制html上的字体大小,就能控制页面上所有rem为单位的尺寸大小
把页面上的px换算为rem:
页面制作的时候psd上量的px转为rem使用,预设一个基准值,怎么计算?
核心公式:当前rem基准值=预设基准值/设计稿宽度*当前设备的宽度
模板引擎内不可使用外部变量,可以使用模板引擎来做响应式数据传输
做数据缓存:包装ajax函数,获取data,用if判断是否有数据,如果有,直接渲染,如果没有数据,就要用ajax获取,将渲染函数写成包装ajax函数的回调函数;
trigger方法:通过js主动触发某个事件,可用于事件绑定后立即触发
例如:在页面加载完成时 自动触发input的点击事件,在移动端可以实现自动弹出输入法,获得焦点
resize:监测浏览器窗口大小时会触发此事件
定义下标文本。下标文本将会显示在当前文本流中字符高度的一半为基准线的下方,但是与当前文本流中文字的字体和字号都是一样的。
单冒号和双冒号的区别:
csa3规范,二者的详细区别,参考
还有一种通过child选择器来找
p:first-child 找到p中的父级元素,在找到父级元素中的所有元素,看第一个是不是p元素,如果是匹配成果(否则匹配失败)
在移动端也有click事件:
在移动端为了区分滑动还是点击,click点击延迟了300ms,这个响应速度太慢了,影响用户体验,所有有了tap事件
tap事件(轻击 轻触事件)响应速度快。在zpto.js中有封装好的tap事件
fastclick.js提供移动端响应速度,下载:
/*当页面的dom元素加载完成*/ /*正常使用click事件就可以了*/(特别说明让浮动元素优先,如果浮动元素后定义,很有可能被前面的块级元素挤下去)
overflow:hidden;可以清除浮动,让元素绝对绝缘
iScroll.js做区域滚动效果(滑动效果的产生,必须是子容器大于父容器)
video.js在网页上嵌入视频播放器的js库,自动检测浏览器对h5支持,如果不支持h5自动使用flash播放器
onload事件包括事件的加载和资源的加载
通过这个阶段,也看出学习不是一条线,在一条主线还会产生很多条小分支,扩展了技术层面,这也看出做一个项目不是掌握一个技术知识就够了,需要掌握主干,还需要具备多方面的知识