(1)css中的单位:CSS规定了两种类型的单位,一种是绝对单位,另外一种是与其余属性挂钩的相对单位。css
绝对单位:in-英寸;cm;mm;pt-磅;pc-pica
相对单位:em-与元素字号挂钩;ex-与元素字体的“x高度”挂钩;rem-与根元素字号挂钩;px-与CSS像素挂钩;%-另外一属性值的百分比。html
(2)CSS中能够取百分比的样式单位面试
定位:top,right,bottom,left;浏览器
盒模型:width,height,margin,padding;布局
背景:backgroud-position,background-size;字体
文本:text-indent;.net
字体:font-size;code
(3)margin-top是相对于父级元素的width属性(不是height属性)来计算的。htm
基于包含块的宽度来计算的属性:margin,padding,width,max-width,min-width,left,right,text-indent.blog
注意
1.margin-top,margin-bottom,padding-top和padding-bottom都是基于包含块的width属性来计算的。
2.text-indent:定义基于父元素宽度的百分比的缩进。当外层不指定宽度时,ie下会基于浏览器宽度。
基于包含块的高度来计算的属性:top,bottom,height,max-height,min-height
注意
关于包含块(containing block)的概念,不能简单地理解成是父元素。若是是静态定位和相对定位,包含块通常就是其父元素。可是对于绝对定位的元素,包含块应该是离它最近的 position 为 absolute、relative、或者 fixed 的祖先元素。对固定定位的元素,它的包含块是视口(viewport)。
基于当前字体大小来计算的属性:line-height
关于line-heigt的详细解释,请移步这里css行高line-height的用法与计算原理
基于line-height来计算的属性:vertical-align
background-position:背景图像的位置,分别设置水平方向和垂直方向上的两个值,若是使用百分比,那么百分比值会同时应用于元素和图像。例如 50% 50% 会把图片的(50%, 50%)这一点与框的(50%, 50%)处对齐,至关于设置了 center center。同理 0% 0% 至关于 left top,100% 100% 至关于 right bottom。
backgroud-size:设置背景图像的大小。兼容IE9+、Firefox 4+、Opera、Chrome 以及 Safari 5+ 支持 background-size 属性。 以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。若是只设置一个值,则第二个值会被设置为 “auto”。
注意
background-size还能够取预约义的值:contain,cover,auto。
若是某个元素设置了百分比的属性,则后代元素继承的是计算后的值。例如:
p { font-size: 10px } p { line-height: 120% } / 120% of 'font-size' / 那么p的子元素继承到的值是 line-height: 12px,而不是 line-height: 120%。
补充:
关于css中的继承:
样式层叠与继承是样式表中两个关键概念,浏览器会根据层叠和继承规则肯定显示一个元素时各类样式属性采用的值。
并不是全部的CSS属性均可以继承,这这方面有条经验能够参考:与元素外观(文字,颜色,字体等)相关的样式会被继承;与元素在页面上的布局相关的样式不会继承。此外,还能够使用
inherit
强行实施继承。
1.HTML5权威教程(4.2.3节)
2.css样式能够使用百分比的属性--总结
3.浅析CSS 属性之中常常出现的百分比