可以适应不同大小的屏幕
使用px或者百分比布局不能实现:
rem使用时需要配合:
能够检测视口宽度,根据不同的视口宽度设置不同的html字号大小
不同的视口宽度,设置不同的HTML字体大小,取值为视口宽度的1/10
@media (媒体特性) {
选择器 {
css属性;
}
}例如:
@media(width:320px) {
html {
font-size: 32px;
}
}
@media(width:375px) {
html {
font-size: 37.5px;
}
}
.box {
width: 2rem;
height: 2rem;
background-color: red;
}注意: 如果电脑显示的缩放为125%,那么给媒体特性设置宽度时只设置手机型号的宽度不起作用。(因为电脑显示的手机宽度是 :125%×真实手机宽度)
/* max-width 从小到大
min-widrh 从大到小 */
/* 视口宽度 >= 768px,网页背景色是 粉色 */
@media (min-width : 768px) {
body {
background-color: pink;
}
}
/* 视口宽度 >= 992px,网页背景色是 绿色 */
@media (min-width : 992px) {
body {
background-color: lightgreen;
}
}
/* 视口宽度 >= 1200px,网页背景色是 skyblue */
@media (min-width : 1200px) {
body {
background-color: skyblue;
}
}动态的检测手机大小,给网页中html根节点设置不同的font-size。 相比较媒体查询,优点:
<style>
.box {
/* 盒子大小:
宽 = 68 / 37.5
高 = 29 / 37.5
*/
width: 1.8133rem;
height: 0.7733rem;
background-color: green;
}
</style>
</head>
<body>
<div class="box"></div>
<script src="./js/flexible.js"></script>
</body>