css布局中的百分比布局
1、在说到百分比是前,先简单了解下基本的单位
英寸(inch) :in 1 in=2.54cm
厘米(centimeter):cm
毫米(millimeter):mm
磅(point):pt 1pt=1/72 in
皮卡(pica):pc 1pc==12 pt
像素(pixel unit):px 1px=0.75 pt
相对长度单位(相对于当前对象内文本的字体尺寸):em 1em=16px
CSS3新增的一个相对单位root em: rem 1rem=16px
注意:如果是定位的元素,则是相对最近的定位父级元素
应用场景
1em和当前字体大小相等。在浏览器中默认的文字大小是16px。
因此,1em的默认大小是16px。可以通过下面这个公式将像素转换为em:px/16=em
实例
h1 {font-size:2.5em;} /* 40px/16=2.5em */ h2 {font-size:1.875em;} /* 30px/16=1.875em */ p {font-size:0.875em;} /* 14px/16=0.875em */
如果使用 em 单位,则可以在所有浏览器中调整文本大小。
不幸的是,仍然是IE浏览器的问题。调整文本的大小时,会比正常的尺寸更大或更小。
解决方法
使用百分比和EM组合
在所有浏览器的解决方案中,设置 <body>元素的默认字体大小的是百分比:
实例
body {font-size:100%;} h1 {font-size:2.5em;} h2 {font-size:1.875em;} p {font-size:0.875em;}
我们的代码非常有效。在所有浏览器中,可以显示相同的文本大小,并允许所有浏览器缩放文本的大小。
方法二
浏览器默认字体16px,我们可以设置,body的字体大小为10px,然后1em就是10px,有利于换算
body{ font-size:62.5%;} //换算一下10px*100%/16px=62.5%===》》相当于10px,1em=10px h1 {font-size:4em} //40px h6 {font-size:1.2em} //12px