rem自适应布局
时间: 2023-07-03 20:28:05 浏览: 133
REM自适应布局是一种基于CSS3新特性的网页布局方式,它利用REM(根元素字体大小)作为参考值,根据屏幕宽度动态改变HTML根元素的字体大小,从而实现网页元素的自适应布局。通过设置REM的值,可以方便地实现不同设备屏幕的适配。同时,REM还可以与媒体查询结合使用,实现不同屏幕尺寸下的布局调整。
实现REM自适应布局的关键是要将设计稿中的尺寸转换为REM单位,然后通过设置根元素字体大小来实现网页元素的自适应布局。一般来说,设计稿中的尺寸需要除以一个基准值,例如设计稿中的字体大小为16px,基准值为20px,则转换为0.8rem。
以下是一个使用REM实现自适应布局的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>REM自适应布局示例</title>
<style>
html {
font-size: 62.5%; /* 将1rem设置为10px */
}
body {
font-size: 1.6rem; /* 设置默认字体大小为16px */
margin: 0;
padding: 0;
}
.container {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box {
width: 30%;
margin-bottom: 20px;
background-color: #f2f2f2;
border: 1px solid #ccc;
padding: 20px;
box-sizing: border-box;
}
@media screen and (max-width: 768px) {
.box {
width: 48%;
}
}
@media screen and (max-width: 480px) {
.box {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="box">
<h2>Box 1</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class="box">
<h2>Box 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
<div class="box">
<h2>Box 3</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
</body>
</html>
```
在上面的代码中,我们将1rem设置为10px,这样设计稿中的尺寸除以10就可以得到对应的REM值。例如,设计稿中的字体大小为16px,对应的REM值为1.6rem。
同时,我们使用了Flexbox布局和媒体查询来实现不同屏幕尺寸下的自适应布局。在媒体查询中,我们根据屏幕宽度动态改变了盒子的宽度,从而实现了响应式布局。
阅读全文