【发布时间】:2023-12-27 02:56:01
【问题描述】:
您好,我是 html 和 css 新手,我有一个问题。我试图使我的页面尽可能流畅,但由于某种原因,我的按钮和 h3 不断与导航栏发生冲突。有人可以帮帮我吗 ?
这是我的 html 代码:
<div id="content">
<h2>Kleding</h2>
<div id="navbanner">
<div id="nav2">
<ul>
<li><a href="#Pasgeborenen">Pasgeborenen</a></li>
<li><a href="#Baby">Baby</a></li>
<li><a href="#Peuter">Peuter</a></li>
<li><a href="#Kleuter">Kleuter</a></li>
</ul>
</div>
</div>
<div id="img">
<button onclick="ShowCheckBoxes()"><img src="../images/winkelwagen.jpg"></button>
</div>
<a name="Pasgeborenen"><h3>Pasgeborenen</h3></a>
</div>
这是使用的css:
#content{
margin: 30px 0;
background: white;
padding: 20px;
clear: both;
box-shadow: 0px 1px 1px #999;
}
#navbanner{
width: 100%;
height: 5.5em;
background: orange;
}
#nav2{
text-align: center;
}
/* unorded list */
#nav2 ul{
display: inline-block;
list-style-type:none;
margin-left: auto;
margin-right: auto;
}
#nav2 ul li{
float:left;
}
#nav2 ul li a:hover{
background-color: #ffbc00;
text-decoration: underline;
}
/* text in blokken */
#nav2 ul li a{
display: inline-block;
padding: 1em;
background: orange;
font-family: Arial, sans-serif;
font-size: large;
color: white;
}
button{
float: right;
}
提前致谢!
【问题讨论】:
-
快速而肮脏的解决方案是将 float:left 添加到#nav2。这是一个例子jsfiddle.net/vladsaling/WWTug
-
浮动代码是脏代码吗?有什么好的选择?
-
顺便说一句,通过添加 float:left 文本将不再居中
-
重做结构。如果我错了,请纠正我,但第一个标题 + 导航似乎是标题结构。第二个标题似乎是实际内容的开始。您可以将这两个元素分离为 clearfixed 包装器和浮动单元格(很像 css 网格),您可以重用整个页面。重新文本居中:让我把 js fiddle 中的例子放在一起。
-
这里是您需要重做的定心。我再次检查了您的代码,最大的问题是,您设置了#navbanner 的特定高度。这使你的标题与导航碰撞jsfiddle.net/vladsaling/WWTug(简单地说,如果视口变得太窄,NAV 的组合高度大于 5.5em,但它的包装不会拉伸)