多个媒体查询被忽略

时间:2013-08-22 15:26:11

标签: html css responsive-design media-queries

我要做的是在< 800处从3列切换到2,然后在< 640处切换1列。我发现第一个查询已得到确认,但忽略了以下查询。如果我交换查询的位置,则适用相同的规则。对于我在下面使用的内容,我看到最大宽度:800px(蓝色边框)工作 - 它仍然显示在< 640px。红色边框永远不会显示。

标记:

<div id="colorPalette_container" class="center clearfix">

    <h1>Color Palette</h1>
        <ul class="colorPalette">
            <li class="bg">#f2ede6 [Background]</li>
            <li class="primary">#0b4167 [Primary]</li>
            <li class="secondary">#00538e [Links]</li>
            <li class="logo">#00a7e0 [Logo]</li>
            <li class="text">#f2ede6 [Text]</li>
            <li class="subtext">#56524d [Sub-text]</li>
            <li class="icons">#0b4167 [Icons]</li>
            <li class="rule">#ffffff [Rules]</li>
        </ul>

</div>

原始CSS:

#colorPalette_container {
    margin: 3.125em 0 5em 0;
}

    .colorPalette li {
        list-style-type: none;
        text-align: center;
        width: 30%;
        float: left;
        margin: 0 0.625em 3.125em 0;
        padding: 0.313em;
        color: white;
        font: 1.25em/1.6em "Proxima Nova", Helvetica, Arial, sans-serif;
    }

媒体查询:

@media screen and (max-width: 800px) {
    .colorPalette li {
            width: 45%;
            float: left;
            margin: 0 0.312em 3.125em 0.312em;
            border: 1px solid blue;
        }
};

@media screen and (max-width: 640px) {
    .colorPalette li {
            width: auto;
            float: none;
            margin: 0 0 3.125em 0;
            border: 1px solid red;
        }
};

2 个答案:

答案 0 :(得分:1)

这只是因为在每个@media规则之后你有一个尾随的分号。删除它们会为您提供预期的行为:

@media screen and (max-width: 800px) {
    .colorPalette li {
        width: 45%;
        float: left;
        margin: 0 0.312em 3.125em 0.312em;
        border: 1px solid blue;
    }
} 

@media screen and (max-width: 640px) {
    .colorPalette li {
        width: auto;
        float: none;
        margin: 0 0 3.125em 0;
        border: 1px solid red;
    }
}

http://jsfiddle.net/tde7r/

答案 1 :(得分:0)

也许你可以改变

@media screen and (max-width: 800px)

@media screen and (max-width: 800px) and (min-width: 641px)

(未经测试)