html子布局不超出父布局,flex布局子元素超出父元素

遇到的问题:

父元素是body,宽度给100%。子元素想要距离屏幕两侧各10px,但我给子元素也设置了100%且是flex布局,这时宽度超出屏幕,页面开始横向滑动!

最终想要的效果是不横向滑动页面完整展示。

现在记录一下这个问题,警告自己,当时写的时候脑子估计废掉了。

461d67bf5dc522644fff2b1e2bd52a37.png

.box{

width:300px;

height: 300px;

background-color: #D2691E;

margin:0 auto;

}

.con1{

margin:10px;

width: 100%;

display: flex;

background-color: #ED4040;

}

1

类似上图中,子元素跑出去了。解决办法就是去掉子元素中宽度100%。就变成

4763b0b96358c7e42ff4858e70dcf8a9.png

但是有时候就需要让子元素有一个百分比宽度,孙元素好分配子元素的宽度。那么给子元素小于100%的宽度,比如98%?

432428dfb440cf9f85856951f31c1508.png

太小了,因为还有10px的边距还是展不开,可是我没办法算精准给百分之多少正好两侧都空10px,所以这种方法不行。

这时我再给子元素加个子元素,宽度给他百分之百。

.con2{

margin:10px;

width: 100%;

background-color: #0087F1;

}

f12e65bc61e342bfe3d71e7f2c93d177.png

这时候孙元素在子元素里面呆着,而且两侧有10px边距!由于子元素设置了flex,所以这时候就听话了。

那么一开始的问题,我要子元素距离两侧各精准10px,且宽度为100%,就需要把父元素设置为flex,特性问题,高度填充了。

071c029544baab0cc93d68906713e57f.png

写个高度

80e331a5da59f41d88d9f2598c28e413.png

.box{

width:300px;

height: 300px;

background-color: #D2691E;

margin:0 auto;

display: flex;

}

.con1{

margin:10px;

width: 100%;

height:20px;

/* display: flex; */

background-color: #ED4040;

}

1

其实这个问题不是个问题,还是自己对于flex理解不够深。为啥子元素一定要设置100%,因为子元素里还需要写其他孙元素,由百分比控制的。

标签:flex,100%,元素,宽度,background,10px,超出

来源: https://blog.csdn.net/qq_43101834/article/details/113185832

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值