问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

浮动元素的特征、影响以及如何清理浮动、

发布网友 发布时间:2022-09-03 14:56

我来回答

1个回答

热心网友 时间:2024-11-30 02:16

特征:

1、浮动元素会脱离正常的文档流,按照其外边距指定的位置相对于它的上一个块级元素(或父元素)显示

2、浮动元素后面的块级元素的内容会向此浮动元素的外边距靠齐,但是边框和背景却忽略

3、浮动元素而向上一个任意非浮动元素靠齐

4、浮动元素后面的内联元素会向此浮动元素的外边距靠齐

float造成的影响:

1、对其父元素的影响

对于其父元素来说,元素浮动之后,它脱离当前正常的文档流,所以它也无法撑开其父元素,造成父元素的塌陷

2、对其兄弟元素(非浮动)的影响

如果兄弟元素为块级元素,该元素会忽视浮动元素的而占据它的位置,并且元素会处在浮动元素的下层,但它的内部文字和其他行内元素都会环绕浮动元素。如果如果兄弟元素为内联元素,则元素会环绕浮动元素排列。

3、对其兄弟元素(浮动)的影响

同一个方向的浮动元素:当一个浮动元素在浮动过程中碰到同一个方向的浮动元素时,它会紧跟在它们后面

反方向的浮动元素:互不影响,位于同一条水平线上,当空间不够时会被挤下

4、对子元素的影响

当一个元素浮动时,在没有清除浮动的情况下,它无法撑开其父元素,但它可以让自己的浮动子元素撑开它自身,并且在没有定义具体宽度情况下,使自身的宽度从100%变为自适应(浮动元素display:block)。其高度和宽度均为浮动元素高度和非浮动元素高度之间的最大值。

清除浮动指什么? 如何清除浮动? 两种以上方法

浮动:

浮动框不属于文档中的普通流,当一个元素浮动之后,不会影响到 块级框的布局而只会影响内联框(通常是文本)的排列,文档中的普通流就会表现得和浮动框不存在一样,当浮动框高度超出包含框的时候,也就会出现包含框不会 自动伸高来闭合浮动元素(“高度塌陷”现象)。正是因为浮动的这种特性,导致本属于普通流中的元素浮动之后,包含框内部由于不存在其他普通流元素了,也就表现出高度为0(高度塌陷)。在实际布局中,往往这并不是我们所希望的,所以需要闭合浮动元素,使其包含框表现出正常的高度。

清除浮动的方法:

1、添加空的div,对他进行清理:

缺点:增加了一个无意义的标签。

2、BFC清理浮动(BFC详解请看下面):在父容器中生成BFC。

触发BFC

float 除了none以外的值

overflow 除了visible 以外的值(hidden,auto,scroll )

display (table-cell,table-caption,inline-block, flex, inline-flex)

position值为(absolute,fixed)

局限性:使用BFC使用float的时候会使父容器长度缩短,而且还有个重要缺陷——父容器float解决了其塌陷问题,那么父容器的父容器怎么办?overflow属性会影响滚动条和绝对定位的元素;position会改变元素的定位方式,这是我们不希望的,display这几种方式依然没有解决低版本IE问题。。。

3、通用的清理浮动法案

方法1

.clearfix{

*zoom:1;

}

.clearfix:after{

content:"";

display:block;

clear:left;

}

方法2

.clearfix{

*zoom:1;

}

.clearfix:after{

content:"";

display:table;

clear:both;

}

虽然我们得出了一种浏览器兼容的靠谱解决方案,但这并不代表我们一定得用这种方式,很多时候我们的父容器本身需要position:absolute等形成了BFC的时候我们可以直接利用这些属性了,大家要掌握原理,活学活用。总而言之清理浮动两种方式:

1、利用 clear属性,清除浮动

2、使父容器形成BFC

有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?

1、static:

默认值,没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index声明)。当你没有为一个元素(例如div)指定定位方式时,默认为static,也就是按照文档的流式(flow)定位,将元素放到一个合适的地方。所以在不同的分辨率下,采用流式定位能很好的自适合,取得相对较好的布局效果。

2、relative:

生成相对定位的元素,相对于其正常位置进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。在static的基础上,如果我想让一个元素在他本来的位置做一些调整(位移),我们可以将该元素定位设置为relative,同时指定相对位移(利用top,bottom,left,right)。有一点需要注意的是,相对定位的元素仍然在文档流中,仍然占据着他本来占据的位置空间——虽然他现在已经不在本来的位置了。绝对定位会使元素从文档流中被删除,结果就是该元素原本占据的空间被其它元素所填充。

3、fixed:

元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。我们知道absolute定位的参照物是“上一个定位过的父元素(static不算)”,那么如果我想让一个元素定位的参照物总是整个文档(viewport),怎么办呢?答案是使用fixed定位,fixed定位的参照物总是当前的文档。利用fixed定位,我们很容易让一个div定位在浏览器文档的左上,右上等方位。比如你想添加一个信息提示的div,并将该div固定在右上方,你可以使用以下css

.element  {position:fixed;top:2%;right:2%; }

4、absolute:

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。如果你想在一个文档(Document)中将一个元素放至指定位置,你可以使用absolute来定位,将该元素的position设置为absolute,同时使用top,bottom,left,right来定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

z-index 有什么作用? 如何使用?

当网页上出现多个由绝对定位(POSITION:absolute)或固定定位(POSITION:fixed)所产生的浮动层时,必然就会产生一个问题,就是当这些层的位置产生重合时,谁在谁的上面呢?或者说谁看得见、谁看不见呢?这时候就可以通过设置z-index的值来解决,这个值较大的就在上面,较小的在下面。z-index的意思就是在z轴的顺序,如果说网页是由x轴和y轴所决定的一个平面,那么z轴就是垂直于屏幕的一条虚拟坐标轴,浮动层就在这个坐标轴上,那么它们的顺序号就决定了谁上谁下了。

z-index没有单位,z-index:99;这样写就够了和定位一起用,绝对定位才可以触发z-index属性

position:relative和负margin都可以使元素位置发生偏移?二者有什么区别?

1、position:relative是相对定位可以使元素发生偏移,但是在文档流中,它仍然占据着原来的位置,所以其他元素的位置不会发生变化

2、负margin:通过负margin进行偏移的元素,它会放弃偏移前占据的空间,这样它后面文档流中的其它元素就会“流”过来填充这部分空间,所以其他元素的位置发生了变化。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
早孕验血报告单怎么看 测试早孕的方法 联想电脑退货注意什么 公务员裸眼视力必须0.3吗 山东农业大学机电学院科研成果 山东农业大学机械与电子工程学院实验研究 山东农业大学机电工程学院有哪些重点实验室和研究中心? 复发性无菌性脑膜炎的诊断 电子简历自我评价 电子信息技术专业个人简历自我评价 楚留香手游9月7日更新公告 天机阁指点江山功能开放-手游资讯-安族网 企业如何激励90后新员工 如何激励你的90后员工 有什么好的现代诗啊 有哪些好的现代诗?要告诉我作者是谁 有哪些比较好的现代诗? 男人出过一次轨能原谅吗? 男朋友出轨了,现在回来求原谅,该不该接受? 天热了液体钙要怎么保存?罐子里的液体钙都粘到一起了吃的时候还要摇罐子... 液态钙应该放在什么环境下储存 女人怎样才能有气质有气场 如何饮食?有哪些健康饮食方式? 饮食健康的健康食物 洗衣机有剩余水排不出 从分类的角度看,简述机械制造装备主要包括哪几类? 用凹凸壁垒轮廓瞥一眼也造句 我想问一下北京财贸职业学院到底好不好,它排名靠前可有的人却说并不好... 北京财贸职业学院的二专怎么样?我是山东考生,想报考贵校。不知道能不... 北京财贸职业学院2021分数线 广东农鑫投资有限公司怎么样? 广州聚鑫投资有限公司怎么样? 清除浮动的3种方式 2021-03-21 不好意思开口向别人请求的成语 不好意思开口向别人请求的成语有哪些 qq邮箱今天怎么了 你好!因为涉及到一场官司,想问问,我和别人十年前的QQ聊天记录还能找到吗... 我的通讯录里的一个客户怎么可以去抖音关注一个我通讯录里另一个客 ... 我在12306.cn网站购票时,扣款成功但购票不成功怎么办? mac开不了机最快速的解决方法 shout的中文 我要拯救公主英文怎么打 他去救公主 的英语 “王子救公主”的英文 救出公主的救是动词吗? ...阿拉丁终于救出了公主也夺回了神灯”这句话的英文版。 白雪公主后来被一位王子所救,白雪公主和王子在一起了英语怎么说 ...服务是开启的,现在手机也没关机,怎么找到手机~~急急急, 小米3开发者选项怎么找不到了,在哪,试过了,设置里面没有找到 毛笔楷书胜简体字写法 德字书法作品 烦恼的大角主要内容是什么 绵绵若存,用之不勤