CSS中浮动的原理和规则

html-css08

CSS中浮动的原理和规则,第1张

任何元素 element 都可以被浮动。段落、div、list、tables,以及图像都可以被浮动,事实上即使是像 span 和 strong这样的行内置元素也可以很好地进行浮动。

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。

如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:

注意:

原本的浮动是用来实现左边图片右边文字的样式,后来慢慢发展成布局的主要手段,但是这个浮动布局会破坏文档流。渐渐的现在也建议不使用,现在css3.0提供了伸缩盒模型,慢慢的将成为主流的布局方式

你好,css中浮动和对齐实际上是两个不同的概念,谈不上相同点和不同点,

首先是浮动,在 CSS 中,我们通过 float 属性实现元素的浮动。实现块状元素变为行内元素,类似于div之间不在换行,而并排显示

对齐分为元素自身对齐,和元素里面内容对齐,比如div、p标签里面的文本对象,text-align属性设置居中、居左,居右,元素自身对齐,比如div相对于浏览器居中可以用margin:0 auto实现

这两个可以结合使用,没有什么区别,是两个不同的概念,要说又区别也是,float和display属性的区别

希望可以解答你的问题