CSS浮动定位

浮动

浮动float

通过浮动可以使一个元素向其父元素的左侧或者右侧移动

使用float属性来设置元素的浮动

可选值:none默认值,元素不浮动

left 元素向左浮动

right元素向右浮动

注 意 1.元素设置浮动后,会脱离文档流,不再占用文档流位置,元素下边的位置还在文档流的元素会自动向上移动

2.浮动元素不会脱离父元素从中移出

3.浮动元素在向左或向右移动时,他不会超过其他浮动元素

4.浮动元素上边的元素是一个没有浮动的块元素,则浮动元素无法上移

5.浮动元素不会超过他上边的浮动的兄弟元素,最多和他一样高

6.浮动元素不会盖住文字,文字会自动环绕在浮动元素周围

脱离文档流后,元素的特点会发生变化,块元素不再独占一行,高度和宽度默认被内容撑开,行内元素可以设置宽高,特点和块元素一样,ps:脱离文档流后,就不需要区分块或行内元素了

高度塌陷

高度塌陷问题:网页布局时,我们常不设置父元素高度,想利用子元素内容高度将父元素高度撑开,防止留白过多或是内容溢出,但是在浮动布局中,子元素浮动会脱离文档流,无法撑开父元素高度,导致高度塌陷,高度塌陷导致父元素丢失以后,导致下面的元素自然上移,导致页面布局混乱

BFC(Block Formatting Context)块级格式化环境

BFC是CSS的一个隐藏属性,开启BFC状态的元素会开启一个独立布局结构

1.开启BFC的元素不会被浮动元素覆盖

2.开启BFC的元素子元素和父元素的外边距不会重叠

3.开启BFC的元素可以包含浮动的子元素

BFC不能直接开启,需要一些特定方法

1.设置元素浮动(不推荐,会脱离文档流,使下方元素上移,并且丢失宽度)

2.将元素设置成行内块(不推荐,丢失宽度)

3.将元素的overflow设置成为非visible的值(auto/hidden)

clear

clear属性用于清除float的不利影响,可选值

left/right/both——>左侧,右侧,两侧影响较大的

利用clear消除高度塌陷

使用伪类,为子元素配置

dispaly :block,

clear:both

利用伪类解决内边距重叠

设置::before{

content:“”,dispaly:table

}

定位

定位position

1.相对定位relative

将position设置成relative后开启相对定位,相对定位的特点

1.元素开启相对定位以后不设置偏移量则没有改变

2.元素相对定位是参照于元素在文档流中的位置进行定位

3.相对定位会提升元素的层级

4.相对定位不会使元素脱离文档流

5.相对定位不会改变元素的性质,块还是快,行内块还是行内块

2.绝对定位absolute

将position设置成absolute后开启绝对定位,绝对定位的特点

1.开启绝对定位后,如果不设置偏移量,元素的位置不会发生改变

2.开启了绝对定位后,元素会从文档流中脱离

3.绝对定位会改变元素的性质,行内边成快,块的宽高呗内容撑起

4.绝对定位会使元素提升一个层级

5.绝对定位元素是相对其包含块进行定位的

ps:包含块:正常情况下,包含块就是离当前元素最近的祖先块元素

绝对定位的包含块就是离他最近的开启了定位的祖先元素,如果所有祖先元素都没有开启定位,则定位祖先元素,html(根元素,初始包含块)

3.固定定位fixed

将position设置成fixed后开启固定定位,固定定位实质上跟决定定位的特点相同,区别在于,固定定位是相对于浏览器的视口进行定位,随着滚动条进行滚动。

4.粘滞定位sticky

将position设置成sticky后开启粘滞定位,粘滞定位的特点相似于相对定位,

不同的是,可以在元素到达某个部位时,停止不动

元素的层级

z-index关键字,:数值越大,代表层级越高,

如果都不设置 z-index的值,则后设置定位的显示在前

祖先元素的层级再高也不会盖过后代元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值