Open barbabravo opened 9 years ago
px,pt,em,rem,%
计量单位
名称
备注
px
相对,像素
相对类型,px是一个点,它不是自然界的长度单位,是屏幕上显示数据的最基本的点。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。
pt
相对,点
绝对类型,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。 (每英寸的范围内,所能印刷的网点数。 windows默认设置,文字为96DPI,1px=1/96英寸。 pixel(dot)per inch,每英寸的像素(点)数,是一个率,表示了“清晰度”,“精度”)
em
相对值
相对类型,相对父元素的大小,最终父元素为
rem
相对类型,相对root element的font-size,也就是 支持IE9及以上
percent
相对类型,相对于父元素宽的大小。最外层的元素父元素是body
‘vw’ ‘vh’ ‘vmin’ ‘vmax’ ‘ex’ ‘mm’ ‘cm’ ‘in’ ‘pc’ ‘deg’ ‘grad’ ‘rad’ ‘ms’ ‘s’ ‘Hz’ ‘kHz’
vw
viewport width
1vw = 1% of viewport width
vh
viewport height
1vh = 1% of viewport height
vmin/vmax
min/max of viewport width and height
vw和vh中较小/大的值
ch
字符0的宽度
ex
小写字符x的高度
绝对长度说明
in
英寸Inches (1 英寸 = 2.54 厘米)
cm
厘米Centimeters
mm
毫米Millimeters
点Points (1点 = 1/72英寸)
pc
皮卡Picas (1 皮卡 = 12 点)
1ch/1ex
calc()、toggle()、counter()、min()、 max()
em { font-style: toggle(italic, normal); } ul { list-style-type: disc; } ul ul { list-style-type: toggle(disc, circle, square, box); }
counter(<identifier>, <style(同list-style-type)>)
必须使用的属性: counter-reset:重置属性,并定义计数参数 counter-reset: section 0 heading 0; counter-increment:值为计数参数,配合content counter-increment:[ ?]+ | none | inherit counter-increment:section 2; counter-increment:heading; content:配合使用 content:counter(section);
css2.1可返回一个字符串,css3中可返回多种不同类型(例如CSS colors, CSS integer, length, angle, time, frequency)
兼容性:
css calc()方法是否会引起页面重排或重绘?
推荐在移动端内使用最新的css方法 移动端js运行效率较低,css动画流畅 css可调用GPU进行处理,提高页面的流畅度,减少丢帧,尽量减少页面重绘重排次数。
JS:requestAnimationFrame() -> setTimeout(polyfill)
一个方案: .coupon-container { padding: 1.5rem 1.5rem 5.8rem; background: #dff3cf url(http://fed.static.qyer.com/project/m/lm/coupon/images/bg.jpg) center bottom no-repeat; background-size: 100% auto; min-height:calc(100vh - 44px); }
什么场景下使用vh、vm、vmin、vmax会有飞一样的感觉?
推荐阅读资料: http://www.css88.com/book/css/css3-quicksearch.htm http://www.zhangxinxu.com/wordpress/2012/09/new-viewport-relative-units-vw-vh-vm-vmin/ http://javascript.ruanyifeng.com/htmlapi/requestanimationframe.html http://www.w3.org/TR/2014/REC-html5-20141028/
问题讨论:
要求:
实现方案?
常用CSS计量单位
px,pt,em,rem,%
计量单位
名称
备注
px
相对,像素
相对类型,px是一个点,它不是自然界的长度单位,是屏幕上显示数据的最基本的点。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。
pt
相对,点
绝对类型,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。 (每英寸的范围内,所能印刷的网点数。 windows默认设置,文字为96DPI,1px=1/96英寸。 pixel(dot)per inch,每英寸的像素(点)数,是一个率,表示了“清晰度”,“精度”)
em
相对值
相对类型,相对父元素的大小,最终父元素为
font-sizerem
相对值
相对类型,相对root element的font-size,也就是 支持IE9及以上
percent
相对值
相对类型,相对于父元素宽的大小。最外层的元素父元素是body
除此之外,还有
‘vw’ ‘vh’ ‘vmin’ ‘vmax’ ‘ex’ ‘mm’ ‘cm’ ‘in’ ‘pc’ ‘deg’ ‘grad’ ‘rad’ ‘ms’ ‘s’ ‘Hz’ ‘kHz’
vw
viewport width
1vw = 1% of viewport width
vh
viewport height
1vh = 1% of viewport height
vmin/vmax
min/max of viewport width and height
vw和vh中较小/大的值
ch
字符0的宽度
ex
小写字符x的高度
绝对长度说明
in
英寸Inches (1 英寸 = 2.54 厘米)
cm
厘米Centimeters
mm
毫米Millimeters
pt
点Points (1点 = 1/72英寸)
pc
皮卡Picas (1 皮卡 = 12 点)
1ch/1ex
几个CSS方法:
calc()、toggle()、counter()、min()、 max()
计算 calc() => CSS方法
允许 + - * / 。其中+ - 必须有空格,* / 建议有。
允许length、frequency、angle、time、number、integer
但是注意,box-sizing与calc是互斥的。(尝试了一下貌似没问题)
需要增加前缀
兼容性
题外话:PC版进行SEO的时候的考虑,前缀会在衡量之内。
toggle() => css方法(cycle() => css方法)
counter() => 计数器,
必须使用的属性: counter-reset:重置属性,并定义计数参数 counter-reset: section 0 heading 0; counter-increment:值为计数参数,配合content counter-increment:[ ?]+ | none | inherit
counter-increment:section 2;
counter-increment:heading;
content:配合使用
content:counter(section);
counters() => 重复插入计算器
@counter-style(仅firefox支持,忽略)
min() => 比较并取出最小的那个
max() => 比较并取出最大的那个
attr(attr-name) =>取出属性
css2.1可返回一个字符串,css3中可返回多种不同类型(例如CSS colors, CSS integer, length, angle, time, frequency)
兼容性:
问题:
我对css、手机端开发的一点建议
推荐在移动端内使用最新的css方法 移动端js运行效率较低,css动画流畅 css可调用GPU进行处理,提高页面的流畅度,减少丢帧,尽量减少页面重绘重排次数。
JS:requestAnimationFrame() -> setTimeout(polyfill)
一个方案: .coupon-container { padding: 1.5rem 1.5rem 5.8rem; background: #dff3cf url(http://fed.static.qyer.com/project/m/lm/coupon/images/bg.jpg) center bottom no-repeat; background-size: 100% auto; min-height:calc(100vh - 44px); }
问题:
推荐阅读资料: http://www.css88.com/book/css/css3-quicksearch.htm http://www.zhangxinxu.com/wordpress/2012/09/new-viewport-relative-units-vw-vh-vm-vmin/ http://javascript.ruanyifeng.com/htmlapi/requestanimationframe.html http://www.w3.org/TR/2014/REC-html5-20141028/