CSS布局讲解-float浮动布局使用

我们在讲解float之前,需要大家理解一个东西-标准文档流

什么是标准文档流呢?宏观地讲,我们的web页面和photoshop等设计软件有本质的区别:web页面的制作,是个“流”,必须从上而下,像“织毛衣”。而设计软件,想往哪里画个东西,都能画。 

标准流里面的限制非常多,导致很多页面效果无法实现。如果我们现在就要并排、并且就要设置宽高,那该怎么办呢?办法是:移民!脱离标准流! 

css中一共有三种手段,使一个元素脱离标准文档流:

    • 1)浮动
    • 2)绝对定位
    • 3)固定定位

这便引出我们今天要讲的内容:浮动。 

Float是CSS布局中使用最多的一个属性 

现在有两个div,分别设置宽高。我们知道,它们的效果如下:

up-8be11278379b852652858eb2927ec8e752a.JPEG

此时,如果给这两个div增加一个浮动属性,比如float: left;,效果如下:

up-e8b04ebb31ce3fee6db7663e5937587096c.JPEG

这就达到了浮动的效果。此时,两个元素并排了,并且两个元素都能够设置宽度、高度了(这在上一段的标准流中,不能实现)。 

浮动想学好,一定要知道三个性质。接下来讲一讲。 

性质1:浮动的元素脱标 

脱标即脱离标准流。我们来看几个例子。 

证明1:

up-648e99217facde43f2b11c237fda8e31ede.JPEG

上图中,在默认情况下,两个div标签是上下进行排列的。现在由于float属性让上图中的第一个<div>标签出现了浮动,于是这个标签在另外一个层面上进行排列。而第二个<div>还在自己的层面上遵从标准流进行排列。 

证明2:

up-4c3f2f41bee26d30c5889b532efb47fdaa5.JPEG

上图中,一个span标签不需要转成块级元素,就能够设置宽度、高度了。所以能够证明一件事儿,就是所有标签已经不区分行内、块了。也就是说,一旦一个元素浮动了,那么,将能够并排了,并且能够设置宽高了。无论它原来是个div还是个span 

性质2:浮动的元素互相贴靠 

我们来看一个例子就明白了。 

我们给三个div均设置了float: left;属性之后,然后设置宽高。当改变浏览器窗口大小时,可以看到div的贴靠效果:

up-bc6b75d460afe4302854066a242e47e10dd.JPEG

 

up-12b1bb740b9fc5a5a1e9a02a46181f3b7c4.png

上图显示,3号如果有足够空间,那么就会靠着2号。如果没有足够的空间,那么会靠着1号大哥。 

如果没有足够的空间靠着1号大哥,3号自己去贴左墙。 

不过3号自己去贴墙的时候,注意: 

上图显示,3号贴左墙的时候,并不会往1号里面挤。

up-3aac768d3b2d02109c72157a9ae6b3ab839.JPEG

 

up-4290dbba27201a175aca191cab1731e76aa.png

同样,float还有一个属性值是right,这个和属性值left是对称的。 

性质3:浮动的元素有字围效果 

来看一张图就明白了。我们让div浮动,p不浮动。

up-50fe3df6621566788bbc73755b89e27a121.JPEG

上图中,我们发现:div挡住了p,但不会挡住p中的文字,形成“字围”效果。

 关于浮动我们要强调一点,浮动这个东西,为避免混乱,我们在初期一定要遵循一个原则:永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动。 

性质4:收缩

 收缩:一个浮动的元素,如果没有设置width,那么将自动收缩为内容的宽度(这点非常像行内元素)。 

举例如下:

up-e5f203d1bd60e1ff5aba1fe5b07214c1fb9.JPEG

上图中,div本身是块级元素,如果不设置widh,它会单独霸占整行;但是,设置div浮动后,它会收缩 

浮动的补充(做网站时要注意)

up-55e7fa1632e5827cd7ee6f6fc1be3fe0708.JPEG

上图所示,将para1和para2设置为浮动,它们是div的儿子。此时para1+para2的宽度小于div的宽度。效果如上图所示。可如果设置para1+para2的宽度大于div的宽度,我们会发现,para2掉下来了:

up-60ca636cbf37c170b8deda8f1612d264eff.JPEG

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Div CSS 页面布局——左中右版式是一种常见的网页布局方式。在这种布局中,页面被分为左侧、中间和右侧三个区域,每个区域可以分别放置内容。 在HTML中,我们可以使用div元素来创建这样的布局。首先,我们需要设置一个父div元素,并为其设置宽度,以适应整个页面的大小。然后,我们可以创建三个子div元素,分别用于左侧、中间和右侧区域。 对于左侧和右侧区域,我们可以通过设置宽度和浮动属性来控制其位置。例如,我们可以设置左侧div的宽度为25%,右侧div的宽度为25%,并将它们都向左浮动。这样,左侧和右侧的区域就会分别占据页面的左边和右边。 对于中间区域,我们可以简单地将其放在左侧和右侧区域之后。由于左侧和右侧区域都是浮动的,中间区域将会自动填充剩余的空间。 为了避免中间区域被覆盖,我们可以使用clear属性来清除浮动。我们可以在中间区域div的CSS样式中添加clear:both来确保中间区域在内容的上方和下方都没有浮动元素。 除了设置区域的宽度和浮动属性外,我们还可以使用其他CSS属性来进一步调整页面布局。例如,我们可以通过设置边距、内边距和背景颜色来美化页面。 总的来说,Div CSS 页面布局——左中右版式是一种简单而实用的布局方式,可以帮助我们将页面划分为多个区域,并在不同的区域放置不同的内容。通过灵活运用CSS属性,我们可以轻松地创建出各种漂亮的页面布局

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值