准备工作 1、设置@media标签 首先我们在使用Media的时候需要先设置下面这段代码,来兼容移动设备的展示效果:
1 width = device-width:宽度等于当前设备的宽度height = device-height:高度等于当前设备的高度
initial-scale:初始的缩放比例(默认设置为1.0)
minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)
maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)
user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)
viewport-fit这个属性主要用来适配刘海屏的,
2、加载兼容JS文件 因为IE8既不支持HTML5也不支持CSS3 Media,所以我们需要加载两个JS文件,来保证我们的代码实现兼容效果:
1 2 3 4 3、设置IE渲染方式默认为最高 现在有很多人的IE浏览器都升级到IE9以上了,所以这个时候就有又很多诡异的事情发生了,例如现在是IE9的浏览器,但是浏览器的文档模式却是IE8:
为了防止这种情况,我们需要下面这段代码来让IE的文档模式永远都是最新的:
1 CSS3中的media写法 @media mediatype and|not|only (media feature) { CSS-Code; } 1 2 3 你也可以针对不同的媒体使用不同 stylesheets : 1 1、 常用的mediatype 的值screen 用于电脑屏幕,平板电脑,智能手机等。 all 所有设备 print 打印机和打印预览 speech 应用于屏幕阅读器等发声设备 2、常用的media feature的值 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 (min-width: 768px){ //>=768的设备 }
@media (min-width: 992px){ //>=992的设备 }
@media (min-width: 1200){ //>=1200的设备 }
注意下顺序,如果你把@media (min-width: 768px)写在了下面那么很悲剧,
@media (min-width: 1200){ //>=1200的设备 }
@media (min-width: 992px){ //>=992的设备 }
@media (min-width: 768px){ //>=768的设备 }
因为如果是1440,由于1440>768那么你的1200就会失效。
所以我们用min-width时,小的放上面大的在下面,同理如果是用max-width那么就是大的在上面,小的在下面
高级应用 @media screen and (min-width: 960px) and (max-width: 1199px) { }
/* 竖屏 */
@media screen and (orientation: portrait) and (max-width: 720px) { 对应样式 }
/* 横屏 */
@media screen and (orientation: landscape) { 对应样式 } 1 2 3 4 5 6 7 8 9 10 例子:
.example { padding: 20px; color: white; } /* Extra small devices (phones, 600px and down) */ @media only screen and (max-width: 600px) { .example {background: red;} }
/* Small devices (portrait tablets and large phones, 600px and up) */ @media only screen and (min-width: 600px) { .example {background: green;} }
/* Medium devices (landscape tablets, 768px and up) */ @media only screen and (min-width: 768px) { .example {background: blue;} }
/* Large devices (laptops/desktops, 992px and up) */ @media only screen and (min-width: 992px) { .example {background: orange;} }
/* Extra large devices (large laptops and desktops, 1200px and up) */ @media only screen and (min-width: 1200px) { .example {background: pink;} } ———————————————— 版权声明:本文为CSDN博主「不止三岁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/YYece/artic…