css父子盒子的width问题

width属性是不可继承的。一般情况下,子盒子的宽度默认与父盒子的宽度一样,但也有别的情况会导致子盒子的宽度为0

一、一般情况(子盒子是块级元素,他的宽度默认等于父盒子的宽度)

展示效果:子盒子直接占满父盒子的宽度

二、子盒子是行内元素(子盒子的宽度有其里面的内容撑起,默认情况下宽度为0

)(这里的行内元素可以通过display:inline或者display:inline-block转化而来)

(默认情况)

效果展示(子盒子宽度为0,图中已经看不到了)

当给子盒子里面放点内容后,子盒子就被撑开了一定宽度

 

效果展示:

 

 三、几种特殊情况

1.子盒子是块级div,且加浮动(任何元素都可以加浮动特性,浮动之后就具有行内块的特性,同时脱离文档流)

 效果展示:(子盒子宽度默认为0,除非有内容撑开它)

 子盒子有内容撑开时:

 2.给子盒子添加position属性,当属性值是absolute/fixed时,会使元素脱离文档流(可以看作是转成了行内块display:inline-block,所以默认情况下也不会占有宽度,除非被子盒子里面的内容撑开了宽度)

(下面代码展示的是:给子盒子添加了绝对定位,且子盒子里面没有内容时)

 效果展示(子盒子里面没有内容,所以宽度为0)

 当子盒子里面有内容时(子盒子的宽度就等于内容的宽度)

 3.还有使用flex布局时,如果父盒子 flex-direction: row;

也会使元素变成inline-block 同样也会使得子元素不占宽度

4.总结起来,就是看子盒子是不是块级元素,如果是,就会占满父盒子的宽度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值