【问题标题】:How to make my to menu screen size independent in CSS如何在 CSS 中使我的菜单屏幕大小独立
【发布时间】:2014-03-22 04:19:52
【问题描述】:

对于我网站的顶部菜单,我使用的是 css 文件。菜单对我来说很好,但我注意到在较小的屏幕上菜单崩溃了,菜单的两个或更多项目因空间不足而下降。我试图修改 css 的不同参数,但它仍然不起作用。任何人都可以建议我修改以下css,以便菜单在不同分辨率的设备下工作相同。

CSS

body {
 margin:0px;
}
#nav { 
    background-color:#262626; 
    width:100%; 
    height:50px; 
    box-shadow: 0px 1px 30px #5E5E5E; 
    position:fixed; 
    top:0px;
}

#nav > ul {list-style:inside none; padding:0; margin:0;} 
#nav > ul > li {list-style:inside none; padding:5px; margin:0; float:left; display:block; position:relative;} 
#nav > ul > li > a{ padding: 10px;  outline:none; display:block; position:relative; padding:12px 20px; font: 1em/100% Arial, Helvetica, sans-serif; text-align:center; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.4); } 

#nav > ul > li > a:after{ content:''; position:absolute;  top:-1px; bottom:-1px; right:-2px; z-index:99; } 
#nav ul li.has-sub:hover > a:after{top:0; bottom:0;} 
#nav > ul > li.has-sub > a:before{ content:''; position:absolute; top:18px; right:6px; border:5px solid transparent; border-top:5px solid #fff; } 
#nav > ul > li.has-sub:hover > a:before{top:19px;} 
#nav ul li.has-sub:hover > a{ background:#2198bf; border-color:#3f3f3f; padding-bottom:13px; padding-top:13px; top:-1px; z-index:999; } 
#nav ul li.has-sub:hover > ul, #cssmenu_top ul li.has-sub:hover > div{display:block;} 
#nav ul li.has-sub > a:hover{background:#2198bf; border-color:#3f3f3f;} 
#nav ul li > ul, #cssmenu_top ul li > div{ display:none; width:auto; position:absolute; top:38px; padding:10px 0; background:#3f3f3f; border-radius:0 0 5px 5px; z-index:999; } 
#nav ul li > ul{width:200px;} 
#nav ul li > ul li{display:block; list-style:inside none; padding:0; margin:0; position:relative;} 
#nav ul li > ul li a{ outline:none; display:block; position:relative; margin:0; padding:8px 20px; font:10pt Arial, Helvetica, sans-serif; color:#fff; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.5); } 

















.title { 
    color:#FF0000; 
    padding-top: 8px;
    font-family:verdana; 
    font-size:20px; 
    width:20px; 
    margin-top:6px; 
    margin-left:150px; 
    font-weight:bold; 
    float:left;
}
.subtitle { 
    color:#FF0000; 
    font-family:verdana; 
    font-size:15px;
}
#navigation{ 
    list-style-type:none; 
}
li { 
    display:inline; 
    padding:10px;
}
#nav a{ 
    font-family:verdana; 
    text-decoration:none; 
    color:#EDEDED;
} 
#nav a:hover { 
    color:#BDBDBD;
}
#body { 
    width:98%; 
    margin:0px auto; 
    margin-top:80px; 
    font-family:verdana;


}
hr {
    border:1px solid #262626;
}


.menu_extended{
    position: fixed;
    width: 100%;
    height: 5px;
    top: 48px;
    left: 0px;
    background-color: #CC0000;
    box-shadow: 0px 1px 30px #5E5E5E; 
}

在我的 html 页面的正文中,我正在编写以下方式来创建菜单:

<div id="nav">
        <p class="title">
            <a href="#"><span style="color:0000FF;"> </span></a>
        </p>
        <ul>
            <li><a href="index.php" >Home</a></li>
            <li><a href="read_home.php">Reading</a></li>
            <li><a href="multimedia.php">Multimedia</a></li>
            <li><a href="test_home.php" >Test Yourself</a></li>
            <li><a href="sit_for_exam.php" style="background-color:#CC0000;font-size:19px;color:#FFFFFF;border-radius:0px;">Sit for Exam</a></li>
            <li><a href="test_analysis_home.php">Analysis</a></li>
            <li><a href="tips.php">Tips And Tricks</a></li>
            <li><a href="about.php">About</a></li>
        </ul>

    </div>

有什么帮助吗?

【问题讨论】:

    标签: html css menu navigation


    【解决方案1】:

    响应式菜单栏可以通过媒体查询轻松实现。如果您不了解它们,请在 google 上搜索它。我为您提供了一个演示网址 https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
    在这种情况下,您必须根据设备的宽度将 css 应用于菜单栏

    【讨论】:

      【解决方案2】:

      制作响应式菜单栏并定位每个设备。你可以使用@media queries

      // normal style
      #header-image {
          background-repeat: no-repeat;
          background-image:url('image.gif');
      }
      
      // show a larger image when you're on a big screen
      @media screen and (min-width: 1200px) {
          #header-image {
              background-image:url('large-image.gif');
          }
      }
      
      // remove header image when printing.
      @media print {
          #header-image {
              display: none;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2011-06-03
        • 2015-12-26
        • 1970-01-01
        • 1970-01-01
        • 2023-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多