@media only screen and (min-height: 30rem) {
.item {
background-color: yellow !important;
}
}
@media only screen and (min-height: 50rem) {
.item {
background-color: red !important;
}
}
@media only screen and (min-height: 80rem) {
.item {
background-color: blue !important;
}
}
以上代码
1 设置样式表 html{ font-size: 1vw; }; 表现为媒体查询1rem=16px
2 设置 通过js动态修改 html{ font-size: window.innerWidth / 100 + 'px' }; 表现为媒体查询1rem= 16px
3 直接在html标签上写style="font-size: 1vw;" 表现为媒体查询1rem=16px
问题 上面代码中 1rem到底是多少
rem是一个相对单位,它的基值是HTML标签的font-size值,也就是说,html的font-size 是多少,1rem就等于多少。浏览器默认的字体大小是16px,所以默认的1rem=16px。
我们可以根据设备宽度动态设置根元素的font-size,使得以rem为单位的元素在不同终端上以相对一致的视觉效果呈现。事实上 rem是把屏幕等分成 指定的份数,以20份为例,每份为 1rem , 1rem 对应的大小就是 rem基准值 ,rem做的就是把 rem基准值 给<html>的 font-size ,所以如果设备的 物理像素 宽为 640px ,分成20份,那么 1rem=640px/20=32px,分成20代码如下:
当然,你也可以分成30份,40份,60份等等,这个看自己的喜好了