CSS浮动篇

网页布局准则:

(1)多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

(2)先设置好盒子的大小,之后设置盒子的位置
 

先简单介绍一下浮动的必要性:

        <1>普通流(标准流/文档流)

​                标签按照规定好的默认方式排列

​                1.块级元素独占一行,从上到下排列

​                2.行内元素从左到右排列,碰到父元素边缘自动换行

​               3.行内块元素

        <2>浮动

​                例如:想让多个div放在一行

​                           可以利用行内块化(display:inline-block,但是块与块之间有默认的空隙)

​                            但是块间的空隙不好控制,所以引出浮动改变标签默认的排列方式(块之间没有空隙)。

                                   语法:选择器 {float: 属性值;}

                                   属性值有none(默认为不浮动),left,right。

浮动的特性:

(1)浮动的元素会脱离标准流(简称为“脱标”)

​    *脱离标准普通流的控制(浮)移动到指定的位置(动)---脱标

​    *浮动的盒子不在保留原来的位置,其他盒子会占原来的位置,形成叠加

(2)浮动的元素在一行内显示并且元素的顶部对齐(宽度不够则换行)

(3)浮动的元素会具有行内块元素的特性

​    任何元素都可以浮动,不管原先是什么模式的元素,添加浮动之后都具有行内块元素相似的特性。

​    *将行内元素类似转换成行内块元素,不需要转换成行内块元素

    *将块级元素类似转换称行内块元素,若不设置宽度,则块的宽度取决于盒子内部的快读(行内块元素的特性)

浮动布局的两个注意点:

(1)浮动与标准流的父盒子搭配

​            先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置。

            即“浮动元素经常与标准流父级搭配使用

(2)如果一个元素浮动了,理论上其余的兄弟元素也要浮动。

​            浮动的标准流只会影响浮动盒子后面的标准流,不会影响前面的标准流。

清除浮动:

                        为什么要清除浮动?

                    (1)父盒子的高度不一定定义,可以用子盒子来撑开父盒子

​                    (2)若子盒子浮动了(子盒子浮动影响了下面的布局)

                             加之不给父盒子高度出现的问题,元素浮动则不占位置,则父元素高度为0

清除浮动的本质:在父盒子没有给出高度的情况下,清除浮动元素造成的影响

                                    CSS语法:

​                                        选择器(clear:属性;)

​                                        属性值:left,right,both(同时清除左右浮动元素)

                                        清除浮动的策略:闭合浮动

其他清除浮动的方法:

(1)额外标签发也称为隔墙法

​    即在浮动元素末尾添加一个空的标签

<div style="clear.both"></div>div>或者是其他标签</br>

​    优点:通俗易懂,书写方便。

​    缺点:添加许多无意义的标签,机构化差。

​    注意:要求这个新的空标签必须是块级标签。

(2)父级天机overflow属性

​    通过给父级添加overflow属性,将其属性值设置为hidden(最常见)、auto或者scroll

​    overflow: hidden;既可防止外边距合并,清除浮动

​    优点:代码简洁;

​    缺点:无法显示溢出的部分

(3)父级添加after伪元素

​    额外标签法的升级版,也是给父元素添加(此处省略代码)

(4)父级添加双伪元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值