在页面的顶部,我有两个div,一个浮动到左边,一个浮动到右边。我可以在它们之间放置带边框的文本,但是,我现在需要在它们之间堆叠两个这样的文本区域。
这是一个说明我问题的小提琴:http://jsfiddle.net/TcRxp/
我需要绿色框下面的橙色框,每个中心与另一个中心对齐。 “传奇”(浮动到右边)曾经处于同一水平但现在向下移动。
我尝试在混合中添加另一个表,但这没有帮助。
原谅标记 - 我知道,这不是真正的光滑。随着时间的推移,有些人已经触及过这一点,我们都不是这方面的大师。
是的,我曾游说设计师加入团队但尚未发生。
谢谢,
保
答案 0 :(得分:1)
更新:纳入@Jeremy B的建议
是否必须通过CSS更改?在处理这样的场景时,您需要注意HTML元素的定义顺序。
请查看此处的修改:http://jsfiddle.net/TcRxp/8/
通过改变三个DIV的顺序并使用@Jeremy B的CSS建议,我能够实现你所需要的东西
基本上,布局的逻辑是
答案 1 :(得分:1)
首先让你的顶部跨越一个块元素来堆叠它们:
<span class="color status active bold" style="display:block">
。状态:</span>
然后将中间div向左漂浮:
在你的css中添加float:left到#headmiddle
答案 2 :(得分:1)
当你将CSS和表格用于布局时,总是很难得到理想的结果。
我建议您简化HTML:
<div id="headleft">a little search form here</div>
<div id="headmiddle">
<div class="active"><strong>Status:</strong> Active</div>
<div class="search">Search results displayed</div>
</div>
<div id="headright">
<dl>
<dt>Legend:</dt>
<dd>Status numero uno</dd>
<dd>Status two</dd>
</dl>
</div>
和你的CSS:
div { padding: 2px; }
strong { font-weight: bold; }
#headleft { float: left; font-size: 0.8em; }
#headmiddle { float: left; font-size: 0.8em; }
#headmiddle div { border: 1px solid #000; margin-bottom: 3px; }
.search { background: orange; }
.active { background: #8ed200; }
#headright { float: right; font-size: 0.8em; }
dt { float: left; font-weight: bold; }
dd { margin-left: 4.5em; }
结果是语义正确的HTML,更易于阅读,因此将来更容易修改。 Supporting fiddle
答案 3 :(得分:0)
答案 4 :(得分:0)
我通过组合许多不同的来源得到它。亚历克斯科尔斯的解决方案最接近蝙蝠,但中间没有居中。它比我的混乱更干净。我从this post的代码开始:
<style type="text/css">
.leftit {
float: left;
}
.rightit {
float: right;
}
.centerit {
width: 30%;
margin-right: auto;
margin-left: auto;
text-align: center;
}
.centerpage {
width: 80%;
margin-right: auto;
margin-left: auto;
}
</style>
</head>
<body>
<div class="centerpage">
<div class="leftit">Hello Left</div>
<div class="rightit">Hello Right</div>
<div class="centerit">Hello Middle</div>
</div>
我把元素Alex清理干净了,这让我更接近目标,但中心颜色块太宽了。从this question开始,我学到了“最大宽度”,这最终成为了我需要的最后一件......或者我想到了。
编辑:max-width在IE7怪癖模式下不起作用(我必须支持)所以从this page我学会了如何调整我的css以在IE7怪癖模式,IE8和FF中工作。< / p>
最终代码(fiddle):
.leftit {
float: left;
font-size: 0.8em;
}
.rightit {
float: right;
font-size: 0.8em;
}
.centerit {
width:220px;
margin-right: auto;
margin-left: auto;
font-size: 0.8em;
}
#headmiddle div {
border: 1px solid #000;
margin-bottom: 3px;
}
.centerpage {
margin-right: auto;
margin-left: auto;
text-align: center;
}
strong { font-weight: bold; }
.search { background: orange; }
.active { background: #8ed200; }
dt { float: left; font-weight: bold; }
dd { margin-left: 4.5em; }
<div class="centerpage">
<div class="leftit">a little search form here</div>
<div class="rightit">
<dl>
<dt>Legend:</dt>
<dd>Status numero uno</dd>
<dd>Status two</dd>
</dl>
</div>
<div class="centerit" id="headmiddle">
<div class="active"><strong>Status:</strong>
Active</div>
<div class="search">Search results displayed</div>
</div>
</div>
感谢所有出色的答案 - 我从这个问题中学到了很多东西。
保