2010-11-07 98 views
0

我试图使它使得布局看起来像下面的(原油)模型笑:浮动问题

--div ----------------
|       label TextBox |
|       label TextBox |
|       label TextBox |
| ------------------- |

这是我有...

.personalInfo_Form 
{ 
width:600px; 
margin: auto; 
padding: 20px; 
background-color: White; 
} 

.addressLabel 
{ 
float: left; 
width: 140px; 
padding: 5px; 
text-align: right; 
} 

.addressField 
{ 
float: left; 
padding: 5px; 
} 

最终的结果看在Firefox是各行偏移和不统一。我已经注意到,指定div的非常具体的宽度可以改变位置的结果,这是合理的,因为它会强制执行默认情况下项不能重叠的浮动规则,从而将它们置于彼此之下...但是,我希望设计它使Div的宽度不是内部元素定位的一个因素。

欢呼声!

回答

1

clear: both;clear: left;添加到您的.addressLabel风格。你将不得不通过浮动包含的div或提供一个clearfix来确保div继续超出浮动元素。

+0

哈哈,谢谢先生。这解决了它。这很讽刺。我购买了一个非常好的资源“CSS权威指南”,我刚刚完成关于浮动元素的章节。本章最后一个项目的标题是Clearing。我只读了前三句话,第四句解释了清算所做的事情,而我只是略过了它。 DOH! – 2010-11-07 08:08:54

+1

@Matthew可能我建议把文本框放在标签中?然后将标签的文字放在您希望的文本框的哪一侧。否则,请务必为可访问性指定[for]属性。 此外,没有书与实际规范本身一样全面(或干燥):http://www.w3.org/TR/CSS2/。 – zzzzBov 2010-11-07 08:22:14