解决方法:
1:在外层元素加入css样式
min-width:max-content;
min-width:-webkit-max-content;
案例一:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div {
width: 400px;
overflow-x: scroll;
border: 1px solid #e6e6e6;
}
ul{
min-width: max-content;
min-width:-webkit-max-content;
padding: 0px;
margin: 0px;
}
li {
min-width: 100%;
white-space: nowrap;
list-style: none;
}
.a{
background-color: red;
}
.b{
background-color: blue;
}
</style>
</head>
<body>
<div>
<ul>
<li class='a'>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li class='b'>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</li>
</ul>
</div>
</body>
</html>
2:在内容元素上加入
display:table-row;
案例二:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div {
width: 400px;
overflow-x: scroll;
border: 1px solid #e6e6e6;
}
ul{
padding: 0px;
margin: 0px;
}
li {
min-width: 100%;
white-space: nowrap;
display: table-row; /* or inline-block */
list-style: none;
}
.a{
background-color: red;
}
.b{
background-color: blue;
}
</style>
</head>
<body>
<div>
<ul>
<li class='a'>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li class='b'>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</li>
</ul>
</div>
</body>
</html>