文本在导航栏中不是水平居中/如何使半个尺寸/导航栏文本之间的空间太大

时间:2014-10-24 18:39:32

标签: html css navbar spacing horizontal-scaling

我的网站有http://gyazo.com/56e069ebf8b5bd61ee30523886180b88

导航栏存在许多问题。

  1. 您可以看到文字或导航栏没有水平居中,如悬停所示(顶部和底部相同)

  2. 文本之间有很大的空间,(这个间距是我发现的唯一方式,在突出显示或悬停时没有文字移动。

  3. < .br>下拉菜单上的间距太大。

  4. 所以对于1.是否有一种方法可以使文本或导航栏(不确定是什么原因)中心,所以悬停看起来更平等(水平)

    For 2.有没有办法可以缩小文本之间的差距,同时仍然保持相同的填充设置,因此当我使用悬停功能时它不会移动文本。

    并且3.有没有办法制作< .br>有一半的空间目前使用

    如果有帮助,我还添加了一个jsfiddle:http://jsfiddle.net/d1a5eshs/

    导航栏的HTML代码:

    <!--TOP NAV BAR SECTION-->
                <div id="nav_bar">
                    <ul>
                        <li><a href="index.html">HOME</a>
                        </li>
                        <li><a href="status.html">STATUS</a>
                        </li>
                        <li><a href="info.html">INFO</a>
                        </li>
                        <li><a href="#">GAMEMODES</a>
    
                            <ul>
                                <li><a href="survival.html">SURVIVAL</a>
                                </li>
                                <li><br><a href="pure-pvp.html">PURE-PVP</a>
                                </li>
                                <li><br><a href="gamesworld.html">GAMESWORLD</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="rules.html">RULES</a>
    
                        </li>
                        <li><a href="vote.html">VOTE</a>
    
                        </li>
                        <li><a href="contact.html">CONTACT</a>
    
                        </li>
                    </ul>
                </div>
    

    导航栏的CSS:

    /*TOP NAV BAR SECTION*/
    #nav_bar {
        background-color: #a22b2f;
        padding:1px;
        box-shadow: 0px 2px 10px;
        height:45px;
        }         
    #nav_bar ul li {
        display: inline-block;    
    }
    #nav_bar ul li a {
        color: white;
        text-decoration:none;
        font-weight:bold;
        font-size:15px;
        margin-left:10px;
        padding-bottom:13px;
        padding-top:17px;
        padding-left:10px;
        padding-right:10px;
        margin-bottom:30px;
    }
    #nav_bar ul li ul {
        display: none;   
    }
    #nav_bar>ul>li>a:hover {
        background:#8c1b1f;
        padding-bottom:13px;
        padding-top:13px;
        padding-left:10px;
        padding-right:10px;   
    }
    #nav_bar>ul>li>ul>li>a:hover {
        background:#c9c9c9;
        padding-bottom:5px;
        padding-top:5px;
        padding-left:5px;
        padding-right:5px;      
    }
    #nav_bar ul li:hover ul {
        display: block;
        position: absolute;
        padding: 0px;
        background: #e2e2e2;
        padding-top:10px;
        padding-bottom:10px;
        padding-left:0px;
        padding-right:10px;
        border: 1px solid black;
        border-radius:5px;
    }
    #nav_bar ul li:hover ul li {
        display: block;
    
    }
    #nav_bar ul li:hover ul li a {
        color: black;
        font-size:12px;
        font-weight:bol;
        margin-left:-20px;
        padding-bottom:5px;
        padding-top:5px;
        padding-left:5px;
        padding-right:5px;
    }
    

1 个答案:

答案 0 :(得分:0)

你不必在内部列表中使用
。调整行高以获得所需的结果。 http://www.jsfiddle.net/9058vefk

 #nav_bar ul li:hover ul {
  display: block;
  position: absolute;
  padding: 0px;
  background: #e2e2e2;
  padding-top:10px;
  padding-bottom:10px;
  padding-left:10px;
  padding-right:10px;
  border: 1px solid black;
  border-radius:5px;
  line-height:1.5em; /* added this- you can change it th=o what you want */
  height:5em;
}

就主要区域居中而言,将整个div(nav_bar)划分为7个相等的较小div,并将该空间应用于每个导航项。