CSS中px em rem区别与使用

yizhihongxing

当我们设计网页时,经常需要指定元素的大小,字体大小等,而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日

相关文章

  • CSS控制图片、表格、背景颜色渐变示例

    下面是关于“CSS控制图片、表格、背景颜色渐变示例”的完整攻略,包括两条示例说明: 一、CSS控制图片 1.1 显示图片 显示图片需要使用<img>标签,并通过其中的src属性指定图片的路径。同时,设置alt属性可以为图片添加一个替代文本,当图片无法加载时会显示这个文本。 <img src="images/example.jpg&…

    css 2023年6月9日
    00
  • 你知道怎么在 HTML 页面中使用 React吗

    当我们想要在一个 HTML 页面中使用 React 时,我们有如下步骤: 步骤一:引入 React 库 首先我们需要在 HTML 页面中引用 React 库。我们可以使用 CDN 或者通过 npm/yarn 安装。 如果使用 CDN,可在 HTML 页面的 <head> 中添加如下代码: <!– React –> <scri…

    css 2023年6月9日
    00
  • css 透明边框background-clip妙用

    下面是关于“CSS透明边框background-clip妙用”的详细攻略: 1. 什么是background-clip属性 background-clip 属性控制背景的显示区域,可以取多种值:border-box、padding-box、content-box 和 text,指定不同的区域展现背景图或颜色。具体解释如下: border-box:背景延伸到边…

    css 2023年6月9日
    00
  • jQuery中过滤器的基本用法示例

    接下来让我给你详细讲解“jQuery中过滤器的基本用法示例”的完整攻略。 简介 jQuery中的过滤器是一种用于选择DOM元素的工具。使用该工具,可以从一大堆的DOM元素中精确地选择出符合特定条件的指定元素并对其进行操作。在jQuery中,过滤器使用函数作为参数,函数的返回值会作为过滤器的结果。 基本用法 在jQuery中,过滤器的基本用法是通过filter…

    css 2023年6月10日
    00
  • css position属性为absolute时其百分值的计算

    当CSS的position属性设置为absolute时,元素的位置会相对于其祖先元素中最近设置为定位的元素来进行定位。同时,如何设置元素的top、right、bottom、left属性,也会影响最终定位的位置。 在此基础上,如果我们需要使用百分比设置元素的top、right、bottom、left属性,需要注意以下两点: 父元素需要设置为相对定位 当我们使用…

    css 2023年6月10日
    00
  • 使用CSS实现小三角边框原理解析

    使用CSS实现小三角边框的原理解析,主要是利用CSS的border属性、伪元素及其定位来实现。 一、border实现 首先,我们使用CSS border属性来实现边框,将其设为缩写形式border: width style color; 即可设置边框的宽度、样式和颜色。其中样式有四种——solid(实线)、dotted(点线)、dashed(虚线)和doub…

    css 2023年6月10日
    00
  • CSS SandBox应用场景及常见问题

    CSS SandBox应用场景及常见问题 什么是CSS SandBox CSS SandBox是一个基于CSS的“游乐场”,它可以提供一个独立的CSS环境用于开发者的实验和学习。在CSS SandBox中,开发者可以方便地尝试各种CSS属性、布局和动画效果而不必担心对其他页面的影响。 CSS SandBox的优点包括: 独立环境,不影响其他页面的样式 方便尝…

    css 2023年6月9日
    00
  • JavaScript实现班级抽签小程序

    我会详细讲解“JavaScript实现班级抽签小程序”的完整攻略,以下是步骤: 1. 设计页面 在HTML文件中,先设计出一个包含班级所有学生名字的列表,以及一个按钮用于触发抽签事件。示例代码如下: <body> <h1>班级抽签</h1> <h2>名单</h2> <ul id="n…

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