css 错误 - 仅适用于 iPhone 6/7/8 的图片库剪切的 div - flex 和网格

标签 css iphone

我花了很多时间来解决一个只在 iPhone 上没有成功的 css 问题。 要使用网络检查器代码并查看 iphone safari 上发生的情况,我必须有一台 mac,但我没有这台电脑,所以我盲目编码。

我的 CSS 适用于大多数屏幕和机器人,我得到了这个结果(我期望的)

enter image description here

但是在 iphone 8 上,我得到了这个:

enter image description here

由于某些原因,照片更大,没有用两列组织,并且带有橙色边框的 .pr-section-inner-block 与其内容不匹配并剪切了画廊。也许它的行为是因为 flex 而获得与之前的 .pr-section-inner-block 相同的高度。

CSS

pr-section-inner{
    padding: 75px 0;
    display: flex;
    flex: 1;
}

.pr-section-inner .pr-section-inner-block{
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden;

}

@media screen and (max-width: 767px)  {
    .pr-section-inner{
        border: 2px solid yellow;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-flex: 1;
    }

    .pr-section-inner .pr-section-inner-block{
        border: 2px solid orange;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-flex: 1;
    }

    .pr-section-inner .pr-section-inner-block .pr-section-inner-block-content{
        border: 2px solid red;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-flex: 1;
    }
}

有人有解决这个问题的想法吗?

最佳答案

我解决了这个问题。 似乎适用于 iPhone 的 Safari 会解释 display: flex; 即使行为是错误的。通常它应该只解释 display: -webkit-box; 所以我切换了这两个规则。

.h4a-pr-section-inner{
    border: 2px solid yellow;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-box; /* After display :flex; */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-flex: 1;
}

关于css 错误 - 仅适用于 iPhone 6/7/8 的图片库剪切的 div - flex 和网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014599/

相关文章:

css - Y 平面怎么看起来更远了?

iphone - 仅发布适用于 iPod 设备的应用程序

iphone - 播放 iPod 库中的多首歌曲

iphone - 动态实例命名

ios - iPhone 关机前检测?

iphone - iPhone Safari 上的定位和字体大小问题

css - (webpack 4) + sass-loader + mini-css-extract-plugin ,忽略 sass 依赖,输出目录中缺少生成的 css

css - Webkit CSS 动画问题 - 坚持动画的结束状态?

html - css:样式图像网格

css - 当我缩小窗口时,字母从按钮上被截断