我在继承的CSS文件中发现了这段代码,但我不能从中找到任何意义:
@media screen and (max-width: 1024px){
img.bg {
left: 50%;
margin-left: -512px; }
}
具体来说,第一行发生了什么?
我在继承的CSS文件中发现了这段代码,但我不能从中找到任何意义:
@media screen and (max-width: 1024px){
img.bg {
left: 50%;
margin-left: -512px; }
}
具体来说,第一行发生了什么?
它限制了在屏幕上定义的样式(例如,不是打印或其他媒体),并进一步限制了宽度为1024px或更小的视口的范围。
http://www.css3.info/preview/media-queries/
它说:当页面以最大1024像素宽度的分辨率呈现在屏幕上时,然后应用下面的规则。
正如你可能已经知道的,事实上你可以将一些CSS定位到一种媒体类型,可以是手持、屏幕、打印机等。
详情请看这里。
这是一个媒体问题。除非浏览器通过了其中包含的测试,否则它将阻止其中的CSS运行。
此媒体查询中的测试是:
@media screen — The browser identifies itself as being in the “screen” category. This roughly means the browser considers itself desktop-class — as opposed to e.g. an older mobile phone browser (note that the iPhone, and other smartphone browsers, do identify themselves as being in the screen category), or a screenreader — and that it’s displaying the page on-screen, rather than printing it. max-width: 1024px — the width of the browser window (including the scroll bar) is 1024 pixels or less. (CSS pixels, not device pixels.)
第二个测试表明,这是为了将CSS限制在iPad、iPhone和类似设备上(因为一些较老的浏览器在媒体查询中不支持max-width,而且许多桌面浏览器的运行宽度超过1024像素)。
但是,在支持max-width媒体查询的浏览器中,它也适用于宽度小于1024像素的桌面浏览器窗口。
下面是媒体查询规范,它是相当可读的:
http://www.w3.org/TR/css3-mediaqueries/
如果你的媒体查询条件为真,那么你的CSS与该条件将工作。这意味着CSS在你的媒体查询的条件像素大小将起作用,否则,如果条件将失败,这意味着如果设备的宽度大于1024px,那么你的CSS将无法工作。因为您的媒体查询条件为假。
max-width是在此宽度之前的最大CSS限制。
在我的例子中,当浏览器有800px或更少的时候,我想把我的logo放在网站的中央,然后我使用@media标签来做到这一点:
@media screen and (max-width: 800px) {
#logo {
float: none;
margin: 0;
text-align: center;
display: block;
width: auto;
}
}
它为我工作,希望有人发现这个解决方案有用。更多信息请看这个。
同样值得注意的是,你可以使用“em”和“px”——博客和基于文本的网站这样做,因为浏览器会根据文本内容做出布局决定。
在Wordpress 2016上,我想让我的标语在手机和台式机上都能显示,所以我把它放在我的child theme style.css中
@media screen and (max-width:59em){
p.site-description {
display: block;
}
}
它针对一些特定的功能来执行一些其他的代码……
例如:
@media all and (max-width: 600px) {
.navigation {
-webkit-flex-flow: column wrap;
flex-flow: column wrap;
padding: 0;
}
上面的代码片段说,如果运行这个程序的设备的屏幕宽度为600px或小于600px,在这种情况下,我们的程序必须执行这一部分。