如果我有三个元素向右扩展,为什么顺序跟随(参见jsfiddle)元素1是右侧的第一个元素,当元素3实际上是最后一个元素时.
订单现在
[3] [2] [1]
Run Code Online (Sandbox Code Playgroud)
但是元素在html中按此顺序排列
[1] [2] [3]
Run Code Online (Sandbox Code Playgroud)
为什么?
float属性从最右边到最左边开始它的分析。
前任:
<div class="block block-1"></div>
<div class="block block-2"></div>
<div class="block block-3"></div>
Run Code Online (Sandbox Code Playgroud)
有了这个规则:
.block {
float: left;
}
Run Code Online (Sandbox Code Playgroud)
block-3向左对齐,我们有:block-3, block-1, block-2
block-2向左对齐,我们有:block-2, block-3, block-1
block-1向左对齐,我们有:block-1, block-2, block-3
有了这个规则:
.block {
float: right;
}
Run Code Online (Sandbox Code Playgroud)
block-3向右对齐,我们有:block-1, block-2, block-3
block-2向右对齐,我们有:block-1, block-3, block-2
block-1向右对齐,我们有:block-3, block-2, block-1
如果您希望它们float:right按正确的顺序排列:block-1, block-2, block-3
那么您应该在标记中交换它们
<div class="block block-3"></div>
<div class="block block-2"></div>
<div class="block block-1"></div>
Run Code Online (Sandbox Code Playgroud)
更新:或者将它们全部包装在一个父级中,并且只浮动父级