我目前正在重新设计一个表单,现在我正在处理一个CSS问题:
要查看,请转到此处:http://temp.meyerdevelopment.nl/
然后点击“继续”链接,在“Checkout as”下找到 访客或注册“标题。
你会看到一堆字段,问题在于“姓氏”和“公司”字段之间的空格。我相信元素的边缘应融合,导致所有元素之间的间距相等。
“名字”字段的上边距和“姓氏”字段的下边距未包含在封闭div的高度中。这在我看来是正确的。
问题:
不知何故,“姓氏”字段的下边距包含在封闭的<li>
中。我相信这不应该发生。
另请注意,“名字”字段的上边距未合并到<li>
元素的高度(我认为是正确的)。怎么会这样???
PS:
我没有尝试改变奇怪的标记的原因是因为我不能。我想我可以,但它会有点复杂,所以我会改变风格。
修改:
我找到了问题的根本原因:
LI元素是标准Magento CSS附带的主要clearfix CSS规则的目标。导致问题的选择器+规则是:
li:after {
content: ".";
}
这个CSS生成的时期是阻止内部DIV的边缘与其容器(LI)的兄弟姐妹(其他LI)的边缘融合的因素。因为期间是在LI之后添加的,所以底部边距不能融合,而topmargin可以并且确实存在。
答案 0 :(得分:1)
这是因为.field元素的上下边距为4px。你尝试过选择器“.field + .field”吗?只做一个margin-top就意味着你只有连续的字段边距。你觉得那会有用吗?
编辑但看起来很奇怪,li.fields认为底部边距,但div.customer-name没有。在任何情况下,您都可以尝试我建议的选择器,并报告您的发现。
答案 1 :(得分:0)
这可能是浮动问题,尝试对每个浮动元素的父div或元素使用clearfix。
如果您仍然混淆,请提供您的表单和CSS代码。