我在下面有一个屏幕截图,我在fiddle中复制了它。在小提琴中我创建了一个父div,其中我提到了所有2行:
<div class="product-all-contents">
<div class="product-contents">
</div>
<div class="product-contents">
</div>
</div>
问题陈述:
我想在移动设备/平板电脑视图中单独的行滚动。我为了使它滚动而尝试的CSS代码如下所示它似乎不起作用。我是否还需要设置最小宽度以使行在移动/平板电脑视图中滚动?
@media only screen and (max-width: 767px)
{
.product-all-contents
{
overflow-x: auto;
}
}
答案 0 :(得分:9)
overflow-x
设置为.product-contents
以便显示
在较小的屏幕上滚动min-width
设置为.product
,这样它就不会变小
设备:not
中使用.product
选择器,将margin-right
设置为空格
每个项目之间将保持white-space
中的.product-all-contents
移除@media only
screen and (max-width: 767px)
,因为现在不需要它
.product-contents {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
overflow-x: auto;
}
.product-contents .product {
width: 10%;
min-width: 90px;
text-align: center;
height: 150px;
padding-top: 1%;
padding-left: 1%;
padding-right: 1%;
border-style: solid;
border-width: 3px;
border-color: rgb(145, 147, 150);
background-color: white;
border-radius: 10px
}
.product-contents .product:not(:last-child) {
margin-right: 15px;
}
.product-contents .product img {
max-width: 100%;
}
@media only screen and (max-width: 767px)
{
.product-all-contents
{
overflow-x: auto;
/*white-space: nowrap;*/
}
}
<div class="product-all-contents">
<div class="product-contents">
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
</div>
<div class="product-contents">
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
<div class="product"><img src="http://via.placeholder.com/150x150" alt="" /></div>
</div>
</div>
更新了小提琴Here
答案 1 :(得分:2)
最好修复盒子的高度和宽度,而不是使用百分比宽度,因为页面布局在所有屏幕上都是一致的,用户也可以水平滚动单个产品行< / p>
只需更改以下CSS规则我已更改.product
类的CSS规则,并为产品行中的水平滚动添加了一个额外的媒体查询。
.product-contents .product {
min-width: 160px;
width:160px;
text-align: center;
height: 150px;
border-style: solid;
border-width: 3px;
border-color: rgb(145,147,150);
background-color: white;
border-radius: 10px;
padding: 20px;
margin-left: 10px;
}
@media only screen and (max-width: 767px)
{
.product-contents{
overflow-x: auto;
}
}
希望这对你有用:)