css的单位:
css里面有绝对单位和相对单位,绝对单位是固定长度的,不受任何东环境影响的;而相对单位则是相对于其他长度而言的。
这里详细了解一下相对单位:px,%,em和rem
px:像素。屏幕分辨率的不同,1px 的大小也是不同的,如果不考虑屏幕分辨率,我们也可以认为px是绝对单位。
%:百分比。支持百分比作为单位的属性很多,大致分为三类:
(1)width、height、font-size的百分比是相对于父元素“相同属性来计算的
(2)line-height的备份比是相对于父元素的font-size值来计算的
(3)vertical-align的百分比是相对当前元素的line-height的值来计算的
即,如果父元素的width为200px,子元素width为50%,那么子元素的width值就是100px,类推height和font-size
如果父元素的font-size为60px,子元素line-height的值为50%,vertical-align的值是50%,那么子元素的line-height就是 30px,vertical-align的值是15px
em是相对于当前元素的字体大小而言的,其中1em等于当前字体的大小。常用点:
(1)用于文本缩进,text-indent:2em
例如:
<html>
<head>
<title>test</title>
<meta charset='utf-8'>
</head>
<style>
p{
text-indent: 2em;
}
</style>
<body>
<p>Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。</p>
</body>
</html>
在这里用em就用得很好,因为它不会随字体的大小(px)改变而改变
(2)使用em作为统一单位
添上一句
body{
font-size: 62.5%;
}
因为浏览器默认的font-size大小是16px,这样body就是10px了,然后我们就可以使用em作为单位轻松进行转换了。这里有一个很好的学习em的例子:
设置一个p元素的width为150px,height为75px,font-size为15px,text-indent为30px
<html>
<head>
<title>test</title>
<meta charset='utf-8'>
</head>
<style>
html{
font-size: 62.5%;
}
#p1{
font-size: 1.5em;
text-indent: 2em;
width:10em;
height: 5em;
}
#p2
{
font-size: 15px;
text-indent: 30px;
width: 150px;
height: 75px;
}
</style>
<body>
<p id='p1'>Python具有丰富和强大的库。</p>
<p id='p2'>Python具有丰富和强大的库。</p>
</body>
</html>
这两段话的格式没有任何差别。