响应列未在移动设备上正确显示

时间:2015-07-17 13:33:11

标签: html css css3 mobile responsive-design

我有一个四柱页脚,在平板电脑上折叠成两列,在移动设备上折叠成一列。

视口元标记和样式表如下:

<link rel="stylesheet" href="style/main.css" type="text/css" media="screen">
<link rel="stylesheet" href="style/tablet.css" type="text/css" media="screen and (max-width: 960px)">
<link rel="stylesheet" href="style/mobile.css" type="text/css" media="screen and (max-width: 640px)">

<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=0, width=device-width">

在桌面上更改屏幕大小时,响应能力正常,如下所示:

但是,在移动设备上,页脚列显示为两列,而不是一列:

以下是main.css的css:

div#footer div.wrapper div.column {
    float: none !important;
    display: table-cell;
    width:25%;
    box-sizing:border-box;
    padding: 0 10px;
    border-right: 1px solid rgba(255,255,255,0.1);
}

以下是tablet.css的css:

div#footer { padding: 10px; }

div#footer div.wrapper div.column { width:50%; margin-bottom: 20px; border: none; float: left !important; }
div#footer div.wrapper div.column:nth-child(3) {
    clear:both;
}

...这里是来自mobile.css的css:

div#footer { padding: 10px; }
    div.column {
        width:100% !important;
        float:none !important;
    }

最后是HTML(带占位符文本):

<div id="footer">
    <div class="wrapper">
        <div class="column">
            <h4>Important Links</h4>
            <ul>
                <li><a href="/">Homepage</a></li>
                <li><a href="/privacy">Privacy Policy</a></li>
                <li><a href="/terms">Terms of Use</a></li>
                <li><a href="/contact">Contact Us</a></li>
            </ul>
        </div>
        <div class="column">
            <h4>Important Links</h4>
            <ul>
                <li><a href="/">Homepage</a></li>
                <li><a href="/privacy">Privacy Policy</a></li>
                <li><a href="/terms">Terms of Use</a></li>
                <li><a href="/contact">Contact Us</a></li>
            </ul>
        </div>
        <div class="column">
            <h4>Important Links</h4>
            <ul>
                <li><a href="/">Homepage</a></li>
                <li><a href="/privacy">Privacy Policy</a></li>
                <li><a href="/terms">Terms of Use</a></li>
                <li><a href="/contact">Contact Us</a></li>
            </ul>           
        </div>
        <div class="column" style="border-right: none;" >           
            <h4>Header</h4>
            <p>Lorem ipsum dolor sit amet</p>
        </div>
        <div style="clear:both;"></div>
    </div>
</div>

如何确保移动设备显示mobile.css格式,就像我在桌面浏览器上模拟移动设备时一样?

更新:以下更新的mobile.css css代码仍会产生两列:

div.column {
    width:100% !important;
    float:none !important;
    clear: both !important;
    display: block !important;
}

3 个答案:

答案 0 :(得分:2)

将此添加到mobile.css

div#footer div.wrapper div.column {
    display: block;
}

使用display:table-cell时会导致&lt; div>表现得像一个&lt; td&gt;元素

答案 1 :(得分:1)

取消你sizeof,它会起作用

尝试使用移动CSS。

float:none !Important

enter image description here

答案 2 :(得分:1)

之前我曾遇到display: table-cell;的奇怪问题。对于移动广告css,请尝试重复平板电脑样式和display: block;

div#footer { padding: 10px; }
div#footer div.wrapper div.column:nth-child(3) {
    width:100% !important;
    float:none !important;
    clear: both;
    display: block;
}