body{
background: #000
}
}
width:浏览器可视宽度。
height:浏览器可视高度。
device-width:设备屏幕的宽度。
device-height:设备屏幕的高度。
orientation:检测设备目前处于横向还是纵向状态。
aspect-ratio:检测浏览器可视宽度和高度的比例。(例如:aspect-ratio:16/9)
device-aspect-ratio:检测设备的宽度和高度的比例。
color:检测颜色的位数。(例如:min-color:32就会检测设备是否拥有32位颜色)
color-index:检查设备颜色索引表中的颜色,他的值不能是负数。
monochrome:检测单色桢缓冲区域中的每个像素的位数。(这个太高级,估计咱很少会用的到)
resolution:检测屏幕或打印机的分辨率。(例如:min-resolution:300dpi或min-resolution:118dpcm)。
grid:检测输出的设备是网格的还是位图设备
貌似,@media是不能适应两个属性,只能是一个,
或者写成这样:
@media screen and (max-device-width: 1366px){@media screen and (max-device-height:1024px){
body{background:#00}
}
}
代表性的就是阿里的flexible方案
其实是相对于,html根元素的 font-size 属性,rem等比例放大字体;其中设备宽度改变的话,取设备宽的百分之10,作为根元素的字体大小。达到不同尺寸设备自适应的效果
弊端: 通常情况下,用户使用大屏的目的:是希望能看到更多内容,而不仅仅只是放大内容
使用的时候,一般是需要借助编译工具,将 px 转化换算成为 vh 、 vw ( postcss-px-to-viewport )
也可能会遇到不能整除的情况