css屏幕适配问题

html-css019

css屏幕适配问题,第1张

    @media screen and (device-aspect-ratio:1366/1024){

        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 )

也可能会遇到不能整除的情况