相关代码
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title></title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="" />
<style type="text/css">
.container {
margin: 80px;
width: auto;
}
.cmp-main {
display: flex;
overflow: auto;
flex-direction: column;
align-items: center;
position: relative;
width: 100%;
}
.cmp-core {
background-color: #f5f5f7;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.process-core {
display: flex;
flex-direction: column;
align-items: center;
}
.item-wrap {
display: flex;
flex-direction: column;
justify-content: center;
flex-wrap: nowrap;
}
.item {
width: 230px;
margin-top: 5px;
cursor: pointer;
border: 1px solid white;
background-color: white;
border-radius: 0 0 6px 6px;
}
.item-condition {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.condition {
position: relative;
display: flex;
}
.condition .item-wrap {
position: relative;
display: flex;
flex-direction: row;
}
.condition .item-wrap .item {
position: relative;
display: flex;
width: 500px;
height: 100px;
border: 1px solid red;
}
</style>
</head>
<body>
<div class="container">
<div class="cmp-main">
<div class="cmp-core">
<div class="process-core">
<div class="item-wrap">
<div class="item">头部</div>
</div>
<div class="item-wrap">
<div class="item-condition">
<div class="condition">
<div class="item-wrap">
<div class="item">数据1</div>
<div class="item">数据2</div>
<div class="item">数据3</div>
<div class="item">数据4</div>
<div class="item">数据5</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
清楚明确的知道自己写的每一个css样式的作用,不写多余的样式。
在你的代码中,这些类的
flex
布局是多余的,.cmp-main \ .cmp-core \ .process-core \ .item-wrap \ .item-condition \ .condition
移除掉这些多余的样式之后,你会看到你的item元素没有因为
width
宽度出现滚动条,这是由于
.condition .item-wrap
设置的flex布局导致的,宽度不会超过父元素宽度,自动缩小,修改你的css,在flex布局中,设置子元素的固定宽度通过属性flex
控制可以看到
width:500px
改成了flex:0 0 500px
,0 0
表示元素不会放大,也不会缩小。在此查看页面可以看到页面滚动条已经正常了。
此时有个问题,就是头部会跟着滚动,因为你的滚动轴是
.container
出现,修改超出部分的父元素condition
让下方的数据出现滚动,头部则固定不动。
然后再设置头部局中。直接修改
.item-wrap
会污染下面同类名的元素样式。这样我们只控制第一个
.item-wrap
的样式