我正在构建一个导航栏,我正在为每个链接创建一个单独的div标签,因此我可以指定它们的margin-left因为它是一个水平条。
然而,当我添加<div>
标签时,它会将下一个标签放在下一行:
<div>HOME</div>
<div>ABOUT</div>
<div>MUSIC</div>
<div>CONTACT</div>
打印:
HOME
ABOUT
MUSIC
CONTACT
然而,当我删除它时,它打印
HOME ABOUT MUSIC CONTACT
我如何保持水平,但仍然设计风格。 非常感谢
答案 0 :(得分:4)
您正在寻找的是:
在样式表中(例如style.css):
.nav_button {
display: inline;
}
在你的HTML中:
<div class="nav_button">
HOME
</div>
默认为display: block;
为Brian Rose编辑,以便它在样式表中,而不是按照我的简单示例内联。
答案 1 :(得分:3)
只需将<div>
更改为<span>
的工作吗?
否则,请将style="float:left;"
添加到div。
答案 2 :(得分:2)
您可以随时尝试float: left
,而不是display: inline-block
。这应该具有预期的效果: - )
答案 3 :(得分:1)
因此,div是一个块元素,默认情况下,块元素占用容器的最大宽度。另一方面,Span是一个内联元素。内联元素是堆叠的,内嵌良好。 内联元素不能定义边距,宽度或高度,而块元素可以。与css一样,您有几种选择:
您可以在div上使用float: left
水平堆叠它们。请记住在末尾添加另一个元素并定义clear:left
,以便在浏览器中正确显示,以便父容器根据菜单项高度显示高度。
第二个选项是使用display: inline-block
,它将使div的堆叠水平,但允许您定义边距,宽度和高度。但这在IE6 / 7中不起作用,因此您必须为这些浏览器应用display: inline
。最简单的方法是hack *display: inline
,除了IE6 / 7之外的所有内容都会被忽略。
第三个选项是使用前两个选项之一,而不是使用div <ul>
。您可以通过将list-style-type: none
应用于li
元素来删除这些点。
答案 4 :(得分:0)
您可以随时添加一些CSS:
float: left
width: xxx
对于每个DIV或班级。
答案 5 :(得分:0)
您想要<span>
标签,跨度用于内联文本,其中div是块元素,这就是为什么它将所有内容放在新行上的原因。见http://en.wikipedia.org/wiki/Span_and_div
答案 6 :(得分:0)
我强烈建议使用无序列表(ul)进行导航。 Div适用于较大的部分或框,但列表非常适合导航链接列表。
使用您的示例来执行此操作:
<强> CSS 强>
li { display: inline: padding: 4px 8px;}
<强> HTML 强>
<ul>
<li>HOME</li>
<li>ABOUT</li>
<li>MUSIC</li>
<li>CONTACT</li>
</ul>
如果它的导航你也有一个标签:
<强> HTML 强>
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">MUSIC</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
答案 7 :(得分:0)
好的,出于好奇,您是否考虑过使用<li>
标签?
像这样的东西。
<style>
.nav{
width:20%;
background-color:gray;
list-style-type:none;
margin:0px;
padding:0px;
display:inline;
}
.nav li{
width:100%;
}
.nav li a{
background-color:silver;
color:white;
float:left;
padding:7px;
font-weight:bold;
text-decoration:none;
}
</style>
<ul class="nav">
<li><a href="#">Home</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Site Map</a></li>
</ul>
如果您有特殊原因要使用,请告诉我们,但我相信使用div
应该一样容易。