如何垂直居中一个浮动元素?

父元素高度未知

.progres {
    position: relative;
}
.progres .bar {
	float: right;			/*这里的浮动失效了*/
    width: 133px;
    height: 13px;
    position: absolute;   /*子绝父相,父元素相对定位,自元素绝对定位:上下左右偏移量为0*/
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;		/*同时给子元素margin:auto;*/
    border: 1px solid #c81523;
    border-radius: 6px;
}

如果要用子绝父相来垂直居中一个浮动的子元素,这个时候,由于子元素设置了绝对定位,会使本身的浮动属性失效。
在某些场景下,需要对已经浮动了的元素进行水平垂直居中,就直接用定位:子绝父相。
注意点:浮动与绝对定位不要一起设置,否则浮动属性会失效。

拓展:浮动与相对定位一起设置会如何?

.father {
  width: 600px;
  height: 400px;
  background-color: red
}
.son {
  float: right;
  width: 200px;
  height: 200px;
  background-color: pink;
  position: relative;
  top: 10px;
}

在这里插入图片描述

在这里我们可以看到:子元素既有浮动的效果(右浮动),又有相对定位的效果(top:10px;)。
所以浮动与相对定位可以一起设置,相对定位不会改变浮动属性。
注意点:当浮动与相对定位一起设置时,首先会进行浮动,然后在浮动之后的位置上进行相对定位

总结:
          div{float :left;position:relative}这样是可以的
          div{float :left;position:absolute}不允许,绝对定位会使浮动失效

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值