html - iPhone 在图像上叠加 CSS 显示出不同的结果

标签 html css

显示差异的视觉问题:https://ibb.co/k6dJqyp

图像上的覆盖层存在问题,我一生都无法弄清楚为什么 iPhone 的覆盖层比图像长。

我尝试在多个设备上进行测试,但无法像在 iPhone 上那样重现该问题。我尝试在浏览器开发工具手机调整大小上进行复制,但没有成功。

编辑:问题已解决,正如下面 safwan 提到的,如果您知道要定位哪个元素,请使用 CSS safari hack,更改将在 Safari 上实现:)

最佳答案

每种浏览器应用 CSS 的方式都略有不同。您可以使用 CSS hacks 仅针对 Safari,如上所述 here ,但这相当复杂。我建议你使用 JavaScript 来查找浏览器。如果您想知道如何准确找到浏览器,请查看this邮政。但实际功能如下。

function findBrowser() {
    var ua = navigator.userAgent, tem,
    M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
    if(/trident/i.test(M[1])){
        tem =  /\brv[ :]+(\d+)/g.exec(ua) || [];
        return 'IE '+( tem[1] || '');
    }
    if(M[1] === 'Chrome'){
        tem = ua.match(/\b(OPR|Edge?)\/(\d+)/);
        if(tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera').replace('Edg ', 'Edge ');            
    }
    M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
    if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
    return M.join(' ');
}

if(findBrowser() === 'Safari 13') {
    document.querySelector('img').classList.add("inSafari"); 
}

将“Safari 13”更改为导致问题的 Safari 版本。

然后,在您的样式表中:

.inSafari {
    ...
}

关于html - iPhone 在图像上叠加 CSS 显示出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63608653/

相关文章:

html - 嵌套在另一个内联 block 元素中的内联 block 元素具有 offsetTop

javascript - 谷歌如何将一个选项卡中的更改(如文件重命名)反射(reflect)到驱动器中的其他选项卡?

html - 导航栏是否应该始终以列表的形式实现?

css - 如何修复 Avoid AlphaImageLoader 过滤器?

CSS3变换矩阵到全变换转换

html - “missing Unicode character” 框本身是 Unicode 字符吗?如果是,是哪一个?

java - 如何将 html/javascript 值发送到 sql 并将其返回到 jsp 中的同一页面?

javascript - 为什么添加此代码后我的图标会发生变化?

html - 对齐 HTML 布局

PHP 函数将组合的 CSS 属性/值拆分为多个属性