当前位置: 首页 > 面试题库 >

如何仅将Safari定位为Mac?

芮星海
2023-03-14
问题内容

嗨,我已经跨浏览器在所有可想到的PC浏览器(包括Safari)上固定了一个网站。现在,我的聪明驴设计师向我发送了在Mac上崩溃的整个布局的屏幕截图。我有一个解决方法(将元素的边距减少几个像素),但是我不知道如何仅针对Safari,最好仅针对Safari
mac。
最好的方法是什么?


问题答案:

这是您可以在页面上(或在单独的js文件中)包含的脚本,该脚本会将类添加到html元素,以便您可以将safari-mac特定的css添加到css文件中。

(function($){
    // console.log(navigator.userAgent);
    /* Adjustments for Safari on Mac */
    if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
        // console.log('Safari on Mac detected, applying class...');
        $('html').addClass('safari-mac'); // provide a class for the safari-mac specific css to filter with
    }
})(jQuery);

示例css修复,可以在页面中或在外部css文件等中:

/* Safari Mac specific alterations
 * (relies on class added by js browser detection above),
 * to take into account different font metrics */
.safari-mac #page4 .section p.fussyDesigner { margin-right: -15px; }
.safari-mac #page8 .section-footer { width: 694px; }

感谢其他想法的答案,我已经尝试将所有内容打包成一个完整的解决方案。



 类似资料:
  • 问题内容: 我希望实数是例如12.92,而不是12.9241。有可能这样做吗? 问题答案: 在PHP中,尝试 :

  • 我已经编写了basic程序,但是,我需要使它这样,如果输入了一个以上的字符,一个错误消息将显示。 }

  • 问题内容: 我正在尝试使用媒体规则将CSS仅定位到iPad。我想排除iPhone / iPod和桌面浏览器。如果可能的话,我也想排除其他移动设备。 我用过了 但是刚刚发现桌面Safari 4可以读取它。我尝试使用“ 481px”而不是“ 768px”进行变体,而另一个为它添加了方向: 但没有运气。(稍后,我们将嗅探iPad的用户代理字符串,但目前该解决方案不起作用。) 谢谢! 更新:桌面Safar

  • 问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: iOS 5 支持position:fixed

  • 问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-请在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: 这个固定位置的div可以仅用两行代码来实现,该代码将div滚动移动到页面底部。

  • 问题内容: 我正在开发将使用分水岭的图像分割应用程序。为此,我找到了需要在python中使用的代码。但是,我很难转换为Kotlin,因为Mat Mat()不具有zero_likes函数,只有0函数。我正在使用opencv 3.31。我该如何在Kotlin中进行检查: 程式码python: 代码kotlin: 在pointsToDrawX和pointsToDrawY中,我将用户触摸事件的所有x,y坐