开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天,点击查看活动详情
今天复习了一下浮动有关知识点,别人面试的时候有听到问浮动相关的知识点。
浮动
定位主要使用的属性:float position z-index
z-index叫空间位置 ,必须和position配合使用,不能单独用
浮动大多数都是加在块级标记上
float:left /right /none;
一个块级标记设置浮动
1、 给一个块级元素添加浮动时,不设置元素宽度的话,宽度会由原来的100%变为内容的宽,如果设置了宽度,就按设置的宽度显示,然后相应的左右浮动。
兄弟块级标记设置浮动
1、当前一个元素浮动之后,会对后面的元素造成影响,后面的元素会上去占据原来浮动的标记的位置,同时上去的元素内容会自动移动,以保证不会被浮动的元素遮盖住
2、 下面的元素浮动,不会对上面的造成影响
3、 两个相邻的元素同时设置浮动,这两个元素是会水平排列,宽变为各自内容的宽,后面的不会被覆盖
4、 两个元素一起右浮动,会出现逆序
父子块级标记浮动
1、 子元素浮动,父元素未设置高,会造成父元素塌陷问题,子元素不在支撑父元素,还有一个儿子未浮动,父元素由第二个儿子支撑。
2、 父元素浮动,子元素没浮动,父元素会带着子元素一起浮动,出现子元素的浮动特点,子元素的宽变为内容的宽
3、 父子元素同时浮动,它同时脱离文档流就,和父元素自己浮动时一样的效果
前两个元素都浮动,第三个元素会上去占据位置,不想让第三个浮动,就给第三个元素加clear:both
前两个元素
利用float和margin一起布局
面试题:清除浮动的方法
语法:clear:left right both
兄弟之间浮动解决办法
1、 谁受浮动元素影响,给哪个元素浮动加clear
2、 在他俩之间加一个空标记,给空标记设置clear。
目的:为了分工明确,更有利于读取代码,清晰
父子之间浮动解决办法
1、 子元素浮动,父元素塌陷,给父元素一个高,子元素脱离文档流,宽高不会变
2、 子元素浮动,父元素塌陷,给父元素加overflow:hidden;有一个弊端,父元素的内容会超出的文本隐藏