实现横向滚动有多种实现方式,之前做过实现横向滚动,有一种方式更快捷、更方便实现横向滚动,其中一点关于对子元素的flex-shrink理解。在父元素设置display:flex后,子元素默认flex-shrink: 1;,当子元素的宽度width之和大于屏幕宽度width之后是无法实现滚动的,这时需要在子元素上flex-shrink: 0;
CSS **
/* 父元素 */
.scroll {
display: flex;
}
/* 子元素 */
.item {
/* width: 100px; */
width: 100px;
height: 50px;
margin-right: 10px;
background-color: gray;
border-right: 1px solid;
text-align: center;
flex-shrink: 0;
line-height: 50px;
}
html
<div class="scroll">
<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 class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="item">X</div>
<div class="item">XI</div>
</div>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>横向滚动</title>
</head>
<style>
/* 父元素 */
.scroll {
display: flex;
}
/* 子元素 */
.item {
/* width: 100px; */
width: 100px;
height: 50px;
margin-right: 10px;
background-color: gray;
border-right: 1px solid;
text-align: center;
flex-shrink: 0;
line-height: 50px;
}
</style>
<body>
<div class="scroll">
<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 class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="item">X</div>
<div class="item">XI</div>
</div>
</body>
</html>