视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS3中REM单位的用法详解(代码示例)
2020-11-02 22:12:41 责编:小采
文档
很多网站都在使用难以在越来越多的不同设备中调整的像素单元,CSS3引入了一些新的单位,包括REM单位,它代表“root em”,本篇文章给大家分享的内容是关于REM的使用。

那么,我们如何使用REM?

假设我们有这个CSS:

CSS

article h2 {font-size:20px;}
article p {font-size:12px;}

首先,我们需要确定相对于所有字体的px大小。为了方便起见,我所做的最好的做法是使root font-size 1px像这样:

CSS

html {font-size:1px;}

其次,我们需要将其余的字体大小值从像素替换为rem单位。

CSS

article h2 {font-size:20rem;}
article p {font-size:12rem;}

REM做什么,需要20REM并将其与根元素相乘:

20 REM * 1 PX = 20PX.

浏览器支持

IE7和IE8仍然需要使用PX值。这将迫使我们两次写入字体大小,一次在PX中,第二次用REM。

CSS

article h2 {font-size:20px; font-size:20rem;}
article p {font-size:12px; font-size:12rem;}

示例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
	<title></title>
	<style type="text/css">
html{font-size:1px;}
article h2{
 font-size:20px;/*Support IE7 & IE8*/
 font-size:20rem;
}
article p{
 font-size:12px;/*Support IE7 & IE8*/ 
 font-size:12rem;
}
</style>
</head>
<body>
<section>
 <article>
 <h2>Gxlcms</h2>
 <p>文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</p>
 </article>
 <article>
 <h2>Gxlcms1</h2>
 <p>文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</p>
 </article>
 <article>
 <h2>Gxlcms2</h2>
 <p>文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</p>
 </article> 
</section>
</body>
</html>

效果如下:

REM有什么优点?

让我们假设我们需要将网站中的所有字体放大20%,我们所要做的就是更改根元素中字体大小的大小,如下所示:

html {font-size:1.2px;}

如果你想要将字体大小降低20%,你应该会这样做:

html{font-size:0.8px;}

REM用于响应式设计

如果要根据响应式设计中的断点更改所有字体大小,则更容易。看例子:

@media (min-width: 320px){
 html{
 font-size:1.4px;
 }}
@media (min-width: 600px){
 html{
 font-size:1.2px;
 }}

现在在较小的屏幕中,我们可以将所有字体的大小调整大40%,而在中等屏幕中,我们将其重新调整大小20%。

使用less来解决两次写入内容的需求 - 用于支持旧浏览器

在less或sass中你可以添加函数来节省你写两次的所有时间。

可以使用less - font-size函数并调用它

.font-size(@font-size) { 
 font-size : @font-size * 1px;
 font-size : @font-size * 1rem;
 }
 article h2 {
 .font-size(20);
 }

编译后的CSS将如下所示:

article h2{
 font-size:20px;
 /*Support IE7 & IE8*/
 font-size:20rem;
 }

下载本文
显示全文
专题