我想使用媒体查询来控制徽标的大小。
我徽标的原始width
为210px
。
我希望屏幕166px
大于width
时为56.865em
,小于此width
时为@media only screen and (min-width: 56.875em){
.site-branding img{
max-width: 166px;
}
}
@media only screen and (max-width: 56.875em){
.site-branding img {
max-width: 166px !important;
}
}
,即移动网站。 / p>
我为此编写了以下代码:
width
只有第一个代码块正常工作。为什么没有第二次工作? (当屏幕宽度减小时,徽标的210px
会再次变为min
。
是否有任何规则可以同时使用max
和485
媒体查询来控制相同的元素?
答案 0 :(得分:5)
max-width
规则不起作用,因为它被min-width
覆盖,因为它们都具有相同的值。
一种简单的方法,而不是2 media queries
,只需在常规CSS中设置徽标width
,然后应用媒体查询:
使用max-width
或
使用min-width
max-width
.logo img {
width: 210px
}
@media (max-width: 56.865em) {
.logo img {
width: 166px
}
}
<div class="logo">
<img src="//lorempixel.com/300/300">
</div>
min-width
.logo img {
width: 166px
}
@media (min-width: 56.865em) {
.logo img {
width: 210px
}
}
<div class="logo">
<img src="//lorempixel.com/300/300">
</div>
首先,我希望徽标大小始终为166px。
因此,如果您想要始终在width
处设置徽标166px
,则意味着您要将当前210px
更改为166px
然后您不需要媒体查询。假设您正在更改自定义CSS文件而您不能/想要更改Base CSS文件(包含width:210px
),您需要的更具体。
/* emulating Base CSS */
.logo img {
width: 210px
}
/*being more specific */
.header .logo img {
width: 166px
}
<div class="header">
<div class="logo">
<img src="//lorempixel.com/300/300">
</div>
</div>
答案 1 :(得分:0)
这让我抓狂,但我发现在@media
之前评论文字会阻止该陈述。
<!-- DO NOT COMMENT LIKE THIS BEFORE @media -->
/* USE THIS Comment version */
希望它可以帮助别人!