苹果iPhone上的宽度CSS问题



有一个网站我正在 https://www.onlinesalebazaar.in/处理。

在Android上打开时,它看起来不错,但是在Apple上,UI失真了。在滑块下方,它旨在水平显示 2 张图像,但在 iPhone 上它是失真的。

我尝试将 CSS 更改为宽度 49% 等,但没有任何效果。

使用的样式如下:

/* Create four equal columns that sits next to each other */
.column {
-ms-flex: 25%; /* IE10 */
flex: 25%;
max-width: 25%;
padding: 0 4px;
}
.column img {
margin-top: 8px;
vertical-align: middle;
}
/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 800px) {
.column {
-ms-flex: 50%;
flex: 50%;
max-width: 50%;
}
}
/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.column {
-ms-flex: 100%;
flex: 100%;
max-width: 50%;
}
}

有人可以帮忙

Bootstrap 导致这种情况发生在 CSS 上:

.row:before, 
.row:after {
display: table;
content: " ";
}

iOS 上的 Safari 将这些伪元素计为实际元素,从而导致 flex 容器在其前后都有一个额外的子元素。

通过在下面添加CSS,它将使项目在iOS Safari中正确显示:

.row:before, 
.row:after {
display: none;
}

这可能会在其他地方产生不希望的效果,因此可能建议添加一个类来定位那些使用flex的行,并改为执行以下操作:

.myFlexRow.row:before, 
.myFlexRow.row:after {
display: none;
}

您正在为您的网站使用 Bootstrap 3.2,而您的网站并未考虑 flexbox。使用 Bootstrap 4+,您只需使用.d-flex类即可。

最新更新