我正在阅读制作基于CSS的水平下线菜单的教程,我注意到锚元素(<a>
)设置为float:left和display:block
我想知道这是做什么的?因为,当您将display:block
添加到内联元素时,您可以注意到差异,但是当您再次添加float:left
时,它几乎就像不添加任何其他元素。只有一小段空间两个连续的内联元素随float:left
消失。
基本上我想知道的是,当一些锚元素一个接一个地放置时,以下类之间有什么区别:
a.one {
display:block;
float:left;
}
a.two {
float:left;
}
a.default {
}
答案 0 :(得分:5)
根据箱子模型(即宽度,高度,边距),自动浮动的元素的行为类似于block
元素(请参阅W3C definition)。因此,规则1和规则2是等效的。在大多数情况下,浮动内容并指定display
是多余的(或者在这种情况下会产生误导)。
规则3有所不同,因为a
元素默认为inline
。