1

我已经为我的页面创建了导航栏,但它不支持多个屏幕,我怎样才能让它支持它们?

HTM:

<section id="container">
    <section id="header">   <span id="icon">Icon</span>

        <input type="text" name="search_box" id="search_box">
        <nav id="dropdown_menu">
            <ul>
                <li>dropdown
                    <ul>
                        <li>Item 1</li>
                        <li>Item 2</li>
                    </ul>
                </li>
            </ul>
        </nav>
        <div class="vertical_bar" style="float: right; margin-right: 3%;"></div>
        <div id="notifications">    <span id="num_notifs">4</span>
L</div>
        <nav id="menu">
            <ul>
                <li>Home</li>
                <li>Office</li>
            </ul>
        </nav>  <span id="logo">Website Name</span>

    </section>
</section>

CSS:

#container {
    width: 100 % ;
    height: 100 % ;
    font-family: sans-serif !important;
}

#header {
    height: 5%;
    width: 100%;
    background-color: black;
    color: white;
}

#header span, div, input, nav {
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    margin: 1%;
}

#header#search_box {
    margin: 0.5% 10%;
    background-image: url(../img/search_icon.png);
    background-repeat: no-repeat;
    background-size: 20px 20px;

}

#header#logo {
    float: right;
    margin-right: 7%;
    margin-top: 1%;
}

#header#menu {
    float: right;
    margin-right: 7%;
    margin-top: 1%;
}

#header#menu ul li {
    display: inline;
    margin: 5px;
}

#notifications {
    float: right;
    margin-right: 7%;
    margin - top: 0.5%;
    border: 2px solid white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-weight: bold;
    text-align: center;
    padding: 2px;
    position: relative;
}

#notifications#num_notifs {
    font-size: small;
    position: absolute;
    top: 0;
    left: 80%;
    background-color: red;
    border-radius: 50%;
    width: 15px;
    height: 15px;
}

#header#dropdown_menu {
    float: right;
    margin-right: 2%;
    margin-top: 1%;
    text-align: center;
}

#header#dropdown_menu ul li: hover ul {
    display: block;
}

#header#dropdown_menu ul li ul {
    display: none;
}

#header#dropdown_menu ul li ul li: FIRST-CHILD {
    margin-top: 10px;
}

#header#dropdown_menu ul li ul li {
    margin-bottom: 10px;
}
4

1 回答 1

1

通过多个屏幕,您的意思是屏幕分辨率/尺寸,对吗?或者你指的是浏览器?您将要查看媒体查询,这些查询用于针对不同的屏幕尺寸..

这些是我用于我的网站的媒体查询,我按照这里看到的 twitter 引导设置:

CSS

/* Large desktop */
@media (min-width: 1200px) { ... }

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) { ... }

/* Landscape phone to portrait tablet */
@media (max-width: 767px) { ... }

/* Landscape phones and down */
@media (max-width: 480px) { ... }

只需将您的 CSS 放入每个查询中,它应该可以正常工作..

不过请务必将其放在您的脑海中,这将消除视网膜显示的问题:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

编辑:所有移动设备都支持媒体查询,请在此处参考。

但是,IE 6-8支持它们。快速解决此问题的方法是使用以下样式表:

<!--[if lt IE 9]><script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script><![endif]-->

这是一个允许 IE6-8 使用媒体查询的 poly-fill。

于 2013-08-23T21:45:17.373 回答