【发布时间】:2010-11-26 22:23:42
【问题描述】:
引自Head first html:
你可以在内联元素的顶部和底部添加内边距,但内边距不会影响它周围其他内联元素的间距,所以内边距会与其他内联元素重叠
a) 据我了解以上引用,在行内元素的顶部和底部添加填充(永远)不会对周围元素产生任何影响,从而影响页面的外观?!
b) 但是“填充将与其他内联元素重叠”到底是什么意思?它是否可能表明在某些情况下填充(内联元素的顶部和底部)会影响页面的外观?!
感谢
【问题讨论】:
引自Head first html:
你可以在内联元素的顶部和底部添加内边距,但内边距不会影响它周围其他内联元素的间距,所以内边距会与其他内联元素重叠
a) 据我了解以上引用,在行内元素的顶部和底部添加填充(永远)不会对周围元素产生任何影响,从而影响页面的外观?!
b) 但是“填充将与其他内联元素重叠”到底是什么意思?它是否可能表明在某些情况下填充(内联元素的顶部和底部)会影响页面的外观?!
感谢
【问题讨论】:
填充会影响元素本身。例如,元素中的任何文本都将被其他 DOM 元素填充。
【讨论】:
试试这个:
<style type="text/css">
div { background: blue; height: 4em; padding: 1em }
span { background: red; padding: .5em; }
</style>
<div>
<span>one</span>
<br/>
<span>two</span>
</div>
【讨论】:
如果我理解正确,并且来自我刚刚制作的example:
a) 文本是一个内联元素,所以我添加一个带有顶部和底部填充的跨度不会将其他行向下推
b) 如您所见,由于我在 span 中添加了颜色,因此颜色会与其他线条重叠。
我希望这都是正确的,并回答你的问题:D
【讨论】:
改用内联块。将这些属性添加到要添加填充的所有元素。例如:
a:link {
display: inline-block;
display: -moz-inline-box;
-moz-box-orient: vertical;
vertical-align: top;
zoom: 1;
*display: inline;
}
【讨论】:
*是什么意思?这是一个错误吗?无论如何,它工作得很好。