为什么我的菜单不会一直向左移动

时间:2017-07-27 21:28:43

标签: html css outline

我对编码很陌生,很抱歉,如果我在这里做的事情是完全愚蠢的。

我正在使用html和css构建一个非常基本的网站。我想使用2个导航栏。一个位于屏幕顶部,用于主导航。左侧有一个用于浏览该特定页面。第一个工作正常,但第二个看起来很奇怪。可点击的链接不能进一步向左移动,因此在右侧伸出。这就是我的意思:

enter image description here

我将鼠标悬停在" content2"

我做错了什么?这是我写的代码:

<body>
    <nav>
        <ul class="navbar">
            <li class="navbar"><a class="navbar active" href="index.html">home</a></li>
            <li class="navbar"><a class="navbar" href="page1.html">page 1</a></li>
            <li class="navbar"><a class="navbar" href="page2.html">page 2</a></li>
            <li class="navbar"><a class="navbar" href="page3.html">page 3</a></li>
            <li class="navbar"><a class="navbar" href="page4.html">page 4</a></li>
        </ul>
    </nav>

    <div id="contentbar">   
        <ul class="ucontentbar">
            <li class="contentbar"><a class="contentbar" href="#">content1</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content2</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content3</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content4</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content5</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content6</a></li>
            <li class="contentbar"><a class="contentbar" href="#">content7</a></li>
        </ul>
    </div>

    <div id="page">
    <p>text</p>

    </div>

</body>

随之而来的CSS:

body {
margin: 0px;
padding: 0px;
}

nav {
background-color: rgb(50,50,50);
font-family: sans-serif;
font-size: 20px;
height: 60px;
width: 100%;

}

ul.navbar {
list-style-type: none;
margin: 0px;
padding: 0px;
overflow: hidden;
text-align: right;
position: fixed;
}

li.navbar{
float: left;
height: 60px;
}

a.navbar { 
display: inline-block;
padding: 19px 25px;
background-color: rgb(50,50,50);
text-align: center;
color: white;
text-decoration: none;
}

a.navbar:hover {
background-color: black;
}

a.active {
background-color: rgb(80,80,220);
}

#contentbar {
background-color: rgb(100,100,100);
font-family: sans-serif;
font-size: 14px;
width: 300px;
height: 100%;
display: block;
position: absolute;
}

ul.contentbar {
margin: 0;
padding: 0;
}

li.contentbar {
list-style: none;

}

a.contentbar { 
left: 0;
background-color: rgb(100,100,100);
color: white;
display: block;
width:300px;
height: 30px;
text-decoration: none;

}   

a.contentbar:hover {
background-color: black;
}

#page { 
background-color: rgb(0,200,100);
width: 100%;
height: 100%;
}

2 个答案:

答案 0 :(得分:3)

似乎你在ul的classname <ul class="ucontentbar">中输入了拼写错误,因此没有应用填充。

答案 1 :(得分:1)

ul转换为padding: 0或从width移除a.contentbar样式。

默认情况下,ul元素具有其子节点的填充原因。这就是为什么你的清单看起来像那样。