- 其实@media screen的顺序会弄混和不清楚样式覆盖优先级有一定关系
- 所以以下先了解其中一个覆盖优先级:
- 对于相同类型选择器指定的样式,在样式表文件中,越靠后的优先级越高。
注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2 在样式表中出现在.class1之后:
代码如下
.class1 {
color: black;
}
.class2 {
color: red;
}
而某个元素指定class时采用 class=”class2 class1″这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。(此段来自http://www.3lian.com/edu/2014/09-25/168393.html)
接下来入正题:
利用@media screen实现网页布局的自适应
从上面我们可以看出有几个临界点的分辨率,那么我们就可以轻松的来写自己的自适应代码了
@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 (max-width: 1199){ //<=1199的设备 }
@media (max-width: 991px){ //<=991的设备 }
@media (max-width: 767px){ //<=768的设备 }
但是建议是只写max-width的话由大像素写到小像素,min-width按小像素到大像素的顺序,从上往下写,不然会达不到控制的样式目的。
当然如果用and连接min-width和max-width的写法就另说了,不过养成良好的习惯可以避免后续的小麻烦