我唯一的问题是使它们排成三排并具有相等的间距。显然,跨距不能具有宽度,并且div(以及带有display:block的跨距)不能水平并排出现。有什么建议吗?
<div style='width:30%; text-align:center; float:left; clear:both;'>
是我现在所拥有的。
我唯一的问题是使它们排成三排并具有相等的间距。显然,跨距不能具有宽度,并且div(以及带有display:block的跨距)不能水平并排出现。有什么建议吗?
<div style='width:30%; text-align:center; float:left; clear:both;'>
是我现在所拥有的。
Answers:
您可以将divs与该float: left;
属性一起使用,该属性将使它们彼此水平并排显示,但是随后您可能需要对以下元素使用清除功能,以确保它们不会重叠。
overflow: hidden
。请参阅:stackoverflow.com/questions/323599/...
padding-left
在右侧的div中,它将被忽略。
<div style="display: in-line"></div><div style="display: in-line"></div>
应该工作正常。
overflow: hidden
是最好的解决方案。
<style>
#whatever div {
display: inline;
margin: 0 1em 0 1em;
width: 30%;
}
</style>
<div id="whatever">
<div>content</div>
<div>content</div>
<div>content</div>
</div>
从技术上讲,跨度是一个内联元素,但是它可以具有宽度,您只需要将其显示属性设置为首先阻塞即可。但是,在这种情况下,div可能更合适,因为我猜您想用内容填充这些div。
您绝对不希望做的一件事是clear:both
在div上进行设置。像这样设置意味着浏览器将不允许任何元素与它们位于同一行。结果,您的元素将堆积起来。
注意,使用display:inline
。这处理了ie6保证金加倍错误。您可以根据需要以其他方式解决此问题,例如条件样式表。
我添加了一个包装器(#whatever),因为我猜这些将不是页面上唯一的元素,因此您几乎肯定需要将它们与其他页面元素分开。
无论如何,我希望这会有所帮助。
我会做这样的事情,因为它为您提供了3个均匀大小的列,均匀的间距和(甚至)刻度。注意:未经测试,因此可能需要针对旧版浏览器进行调整。
<style>
html, body {
margin: 0;
padding: 0;
}
.content {
float: left;
width: 30%;
border:none;
}
.rightcontent {
float: right;
width: 30%;
border:none
}
.hspacer {
width:5%;
float:left;
}
.clear {
clear:both;
}
</style>
<div class="content">content</div>
<div class="hspacer"> </div>
<div class="content">content</div>
<div class="hspacer"> </div>
<div class="rightcontent">content</div>
<div class="clear"></div>
我会用:
<style>
.all {
display: table;
}
.maincontent {
float: left;
width: 60%;
}
.sidebox {
float: right;
width: 30%;
}
<div class="all">
<div class="maincontent">
MainContent
</div>
<div class="sidebox">
SideboxContent
</div>
</div>
这是我第一次从溢出中使用此“代码工具” ...但现在应该这样做...
您可能想做的就是查找基于CSS网格的布局。此布局方法涉及指定一些CSS类,以使页面内容与网格结构对齐。与基于Web的版式相比,它与基于Web的版式更紧密相关,但是它是许多网站上使用的一种技术,用于将内容布局为结构,而不必借助表格。
试试这个对于初学者从碎杂志。
查看css Float属性。 http://w3schools.com/css/pr_class_float.asp
它适用于div等块元素。另外,如果您要显示的是信息表,那么表并不是邪恶的。
<!-- CSS -->
<style rel="stylesheet" type="text/css">
.all { display: table; }
.menu { float: left; width: 30%; }
.content { margin-left: 35%; }
</style>
<!-- HTML -->
<div class="all">
<div class="menu">Menu</div>
<div class="content">Content</div>
</div>
另一个...尝试使用float: left;
or right;
,将width
for更改为其他值...这应该有效...还请注意div所使用的arent的10%在它们之间...对不起,英语不好:)