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区别与使用 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • ThinkPHP Mobile使用方法简明教程

    ThinkPHP Mobile使用方法简明教程 什么是ThinkPHP Mobile ThinkPHP Mobile是ThinkPHP团队开发的一款基于移动Web开发框架,支持响应式设计,适配不同屏幕尺寸的手机、平板和PC端设备,同时支持多种常用的JS框架,如jQuery、MUI等。 如何安装ThinkPHP Mobile 安装ThinkPHP Mobile…

    css 2023年6月10日
    00
  • 纯CSS3绘制打火机动画火焰效果

    下面是“纯CSS3绘制打火机动画火焰效果”的完整攻略: 一、准备工作 在进行CSS3绘制打火机动画火焰效果前,我们需要准备以下两个部分: 1. 打火机图片素材 我们需要一张打火机的png图片作为打火机的背景,不能过于复杂,简单的打火机效果即可。可以借用各大图片搜索引擎(如百度图片、Google图片)进行搜索和下载。 2. CSS3知识 CSS3的新特性支持动…

    css 2023年6月10日
    00
  • Vue实现Tab标签路由效果并用Animate.css做转场动画效果的代码

    下面我将详细讲解Vue实现Tab标签路由效果并用Animate.css做转场动画效果的代码的完整攻略。 一、介绍 在Vue中实现Tab标签路由效果,同时使用Animate.css做转场动画效果,需要使用Vue Router和Animate.css,Vue Router 用来实现路由,Animate.css 用来实现动画效果。本文将通过两个示例来详细讲解。 二…

    css 2023年6月9日
    00
  • 用<TABLE>语句来实现圆角表格可以省去制作圆角图片之苦!

    实现圆角表格,可以通过CSS的 border-radius 属性来实现。但是在某些情况下,为了兼容性和美观性考虑,我们可以使用HTML的 <table> 标签来代替纯CSS的实现。 下面是具体步骤: 1.在HTML文件中,使用<table>标记来创建表格: <table> <tr> <th>Colu…

    css 2023年6月10日
    00
  • 简单几步用纯CSS3实现3D翻转效果

    我来为你讲解“简单几步用纯CSS3实现3D翻转效果”的完整攻略。下面是具体的步骤: 1.准备工作 在开始之前,需要先准备好HTML结构和基本CSS样式。 首先,在HTML中创建一个父元素和两个子元素。父元素用于包含两个子元素,子元素用于作为正反两面的面板。 示例代码如下: <div class="flip-card"> &lt…

    css 2023年6月10日
    00
  • table-cell完成左侧定宽,右侧定宽及左右定宽等布局的实现方法

    使用table-cell布局是一种简单而强大的网页布局技术,可以实现左侧定宽、右侧定宽以及左右都定宽的布局。以下是实现这些布局的步骤: 左侧定宽,右侧自适应布局 可以通过将左右两个区块设置为表格单元格,并使用CSS的width属性和display属性对区块进行设置。 HTML结构: <div class="container"&gt…

    css 2023年6月10日
    00
  • 微信小程序CSS3动画下拉菜单效果

    下面我将详细讲解“微信小程序CSS3动画下拉菜单效果”的完整攻略。 一、准备工作 在实现小程序CSS3动画下拉菜单效果前,需要做好以下几点准备工作: 确认所需组件:需要一个顶部导航栏和一个下拉菜单; 确认所需框架:本次攻略基于WeUI框架开发实现,需要先引入 WeUI 框架; 准备所需样式:需要针对顶部导航栏和下拉菜单进行样式的设计。 二、实现步骤 1. 引…

    css 2023年6月11日
    00
  • CSS 实现内容高度不够的时候底部(footer)自动贴底

    要让网页的底部内容在内容高度不足时自动贴底,可以通过以下几种方式实现。 方法一:使用flex布局 使用flex布局是实现自动贴底效果的最简单方法。只需要将网页的根元素设置为flex,并设置flex-direction为column,将内容部分设为flex-grow:1,将底部部分设置为flex-shrink:0,即可实现当内容高度不足时自动将底部部分推到底部…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部