当我们设计网页时,经常需要指定元素的大小,字体大小等,而CSS中提供了三种单位:px、em和rem。本篇攻略将详细讲解这三种单位的区别和应用场合。
当我们设计网页时,经常需要指定元素的大小,字体大小等,而CSS中提供了三种单位:px、em和rem。本篇攻略将详细讲解这三种单位的区别和应用场合。
px单位
px(Pixel)是像素单位,也是CSS中最常用的单位。指定某元素的大小时,使用的就是px。px的大小是相对于显示器屏幕分辨率而言的,即1px等于显示器上的一个物理像素点。
例如,我们定义一个宽度为200px的DIV,它的大小就是屏幕上的200个物理像素点。
div{
width:200px;
}
em单位
em是相对单位。它是基于元素自身的字体大小(font-size)来计算的。例如,如果某个div元素的font-size为16px,那么1em就相当于16px。如果我们将div内的文字内容字体大小设为1.2em,则它的大小就是1.2*16=19.2px。
div{
font-size:16px;
width:20em; /*宽度为320px*/
font-size:1.2em; /*字体大小为19.2px*/
}
em相对一个父元素的字体大小来计算,如果没有定义默认是16px。
rem单位
rem也是相对单位,与em不同的是,它是相对于根元素(html)的字体大小而言的。html中font-size默认16px,如果我们将html中的font-size设为20px,则1rem就等于20px。因此,rem的值更稳定,适合移动端的设计。
html{
font-size:20px;
}
div{
width:20rem; /*宽度为400px*/
font-size:1.2rem; /*字体大小为24px*/
}
在设计响应式页面时,rem单位十分有用。根据不同的设备尺寸,我们只需要在html中设定一个不同的font-size,元素的大小和字体大小就会自动应用相应的值。
总结
- px是绝对单位,不随字体大小变化而变化,应用于设计固定的元素大小;
- em是相对单位,相对于父元素字体大小而言,应用于动态改变字体大小的元素(例如标题等);
- rem也是相对单位,相对于根元素字体大小而言,应用于移动端设计和响应式设计。
应用场景需要根据实际情况而定,下列的两个示例可以帮助更好理解:
示例1:
div{
font-size:1em; /* 1em = 16px */
line-height:2em; /* 2em = 32px */
text-align:center;
padding:20px;
}
在这个示例中,字体大小、行高、内边距等都是用em作为单位,并且没配合rem使用。因此,整个页面的布局会随着根元素中font-size的变化而变化。
示例2:
html{
font-size:18px;
}
div{
font-size:1.2rem;
margin:1rem;
}
在这个示例中,根元素html的font-size被设置为18px,因此1rem就等于18px。div中的字体大小是1.2rem,这时候就等于1.2*18=21.6px,符合设计需求。此外,margin也被设置为1rem,因此div四周各有18px的空白区域。
本文标题为:CSS中px em rem区别与使用
基础教程推荐
- node以及npm版本不对应出错的完美解决方法 2023-07-10
- Vue中自动化引入样式及组件样式穿透 2023-10-08
- 利用AjaxSubmit()方法实现Form提交表单后回调功能 2023-02-15
- 一文搞懂 parseInt()函数异常行为 2023-07-10
- vue keep-alive以及activated,deactivated生命周期的用法 2023-10-08
- php – 在MySQL中存储html的100%安全方式 2023-10-26
- Ajax中文传值出现乱码的解决办法 2022-11-22
- vue-vuex-mutation的提交风格 2023-10-08
- Ajax 入门之 GET 与 POST 的不同处详解 2023-01-31
- Ajax请求发送成功但不进success的解决方法 2023-02-15