遇到的问题:
父元素是body,宽度给100%。子元素想要距离屏幕两侧各10px,但我给子元素也设置了100%且是flex布局,这时宽度超出屏幕,页面开始横向滑动!
最终想要的效果是不横向滑动页面完整展示。
现在记录一下这个问题,警告自己,当时写的时候脑子估计废掉了。
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title></title>
<style type="text/css">
.Box{
width:300px;
height: 300px;
background-color: #D2691E;
margin:0 auto;
}
.con1{
margin:10px;
width: 100%;
display: flex;
background-color: #ED4040;
}
</style>
</head>
<body>
<div class="Box">
<div class="con1">
1
</div>
</div>
</body>
</html>
类似上图中,子元素跑出去了。解决办法就是去掉子元素中宽度100%。就变成
这时我再给子元素加个子元素,宽度给他百分之百。
.con2{
margin:10px;
width: 100%;
background-color: #0087F1;
}
那么一开始的问题,我要子元素距离两侧各精准10px,且宽度为100%,就需要把父元素设置为flex,特性问题,高度填充了。
写个高度
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title></title>
<style type="text/css">
.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;
}
</style>
</head>
<body>
<div class="Box">
<div class="con1">
1
</div>
</div>
</body>
</html>
其实这个问题不是个问题,还是自己对于flex理解不够深。为啥子元素一定要设置100%,因为子元素里还需要写其他孙元素,由百分比控制的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。