如果我有三个元素向右浮动,为什么顺序如下(参见 jsfiddle):第一个元素是右侧的第一个元素,而第三个元素实际上是最后一个元素。
现在的顺序是:
现在的顺序是:
[3] [2] [1]
但在 HTML 中,元素的顺序是这样的
[1] [2] [3]
为什么?
[3] [2] [1]
但在 HTML 中,元素的顺序是这样的
[1] [2] [3]
为什么?
第一个元素向右移动,当它碰到容器的边缘时停止,并允许下一个元素向它的左侧移动。
然后第二个元素也是一样,不过它会在碰到第一个元素的左边缘时停止。
... 以此类推。
float
属性的分析从最右边开始到最左边。
例如:
<div class="block block-1"></div>
<div class="block block-2"></div>
<div class="block block-3"></div>
.block {
float: left;
}
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;
}
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>
更新: 或者将它们全部包含在一个父元素中,只对父元素进行浮动。
使用float或者其他css属性对html源代码没有影响。
任何跟在浮动元素后面的元素都会流动到浮动元素的另一侧。
如果你将一个图片向左浮动,那么任何跟在它后面的文本或其他元素都会向右流动。如果你将一个图片向右浮动,任何跟在它后面的文本或其他元素都会向左流动。