我有一个这样定义的类:
<div class="float-left inline">
在哪里:
.inline {
display: inline;
}
.float-left {
float: left;
}
有人可以告诉我是否需要同时使用float: left;
和display: inline;
。我有点困惑,因为他们似乎都在做同样的事情。
display:inline
表示一个元素可以放置在其他项目旁边。
这与占用水平空间的block
层级元素 ( display:block
) 不同,它意味着换行,并且不会彼此相邻,如 div、段落或表格。
实际上没有必要同时使用这两个属性,但是由于您使用具有各自属性的两个类很好,让我在这里解释一下,如果您display: inline;
只使用,那么首先您需要看看inline
它与float
现在,是的,我知道这span
已经是inline
元素,但是如果您看到,当我使用 时float
,它会使inline
元素表现得像 an ,它也会在和inline-block
处应用边距,而不会。top
bottom
display: inline;
另一个区别是float
通常不同的定位,当你向左或向右浮动一个元素时,它会创建一个空白空间,这使得它下面的元素会移动。
虽然display: inline;
不会
看到不同?因此,这取决于您什么最适合您的需求,只需clear
通过使用overflow: hidden;
或任何可用的 clearfix 确保您的浮动元素,否则您会看到布局的一些意外行为。
结论:即使你使用display: inline;
,你的元素也是一个block
关卡元素 and inline
,所以没有必要使用display: inline;
尽管这两者在元素的不同方面起作用,但它们可以结合使用。例如,将 Anchor 更改为 display:block 和 float:left 将起作用,并允许您在其上设置高度和宽度。
取一个 div 并应用 display:inline 并浮动它没有多大意义。
不是多余的。实际上,我在设置浮点数时遇到了一个问题:正确使用一个元素并且它适用于 chrome 在 IE 中不起作用。具体来说,在 IE 上,元素的内容溢出了容器的边界。因此,我同时使用 display: inline 和 float:right,它在 chrome 和 IE 11 上运行良好。