因此,我深入研究了“响应式设计”,并对它的工作原理有了一个公平的理解。但是,我需要特别注意两件事。
我的“逻辑”思维方式是这样的:如果屏幕尺寸小于 320px,则做 A,如果屏幕尺寸小于 480px,则做 B。
@media only screen and (max-width: 320px) { Do one thing here}
@media only screen and (max-width: 480px) { Do another thing here}
这样做的问题是,max-width: 480px
如果屏幕宽度小于 320,css in 也会受到影响。
当我查看示例时,我看到他们使用的是类似的东西:
@media only screen and (min-width: 290px) {}
@media only screen and (min-width: 544px) {}
@media only screen and (min-width: 960px) {}
这基本上是说屏幕大于 290 像素,执行此操作,如果屏幕大于 544 像素,执行此操作。但我会在这里遇到同样的问题。代码 inmin-width: 290px
也将用于任何大于 290 像素的屏幕尺寸。
所以我能想到的唯一解决方案只适用于特定的屏幕范围,就是使用这个:
@media only screen and (max-width: 320px) {}
@media only screen and (min-width: 321px),
only screen and (max-width: 480px){}
@media only screen and (min-width: 640px),
only screen and (max-width: 481px){}
有人可以给我建议吗?
查看示例,我看到大量“冗余”代码。重复许多相同的代码,只是具有不同的值:
@media only screen and (max-width : 930px),
only screen and (max-device-width : 930px){
nav li a {
width: 25%;
border-bottom: 1px solid #fff;
font: 400 11px/1.4 'Cutive', Helvetica, Verdana, Arial, sans-serif;
}
nav li:last-child a, nav li:nth-child(4) a { border-right: none; }
nav li:nth-child(5) a { border-bottom: none; }
}
@media only screen and (max-width : 580px),
only screen and (max-device-width : 580px){
nav li a {
width: 50%;
font: 400 12px/1.4 'Cutive', Helvetica, Verdana, Arial, sans-serif;
padding-top: 12px;
padding-bottom: 12px;
}
nav li:nth-child(even) a { border-right: none; }
nav li:nth-child(5) a { border-bottom: 1px solid #fff; }
}
对于大型网站,我可以想象这将创建大量代码和大型 CSS 文件。
这是否会成为我们必须使用响应式设计的新标准?
是否可以选择执行以下操作?:
@media only screen and (min-width: 640px) { @import url("css/640.css");}