仅针对iOS设备的CSS媒体查询
是否有@media查询只针对运行iOS的设备 例如:仅针对iOS设备的CSS媒体查询,css,media-queries,Css,Media Queries,是否有@media查询只针对运行iOS的设备 例如: @media (min-device-width:320px) and (max-device-width:768px) { #nav { yada: yada; } } 这是否也会改变Android设备上具有这些设备宽度的页面行为?简短回答否。 CSS不是特定于品牌的 以下是仅使用介质为iOS实施的文章 事实上,您可以使用PHP、Javascript来检测iOS浏览器,并据此调用CSS文件。 比如说 如
@media (min-device-width:320px) and (max-device-width:768px) {
#nav {
yada: yada;
}
}
这是否也会改变Android设备上具有这些设备宽度的页面行为?简短回答否。
CSS不是特定于品牌的
以下是仅使用介质为iOS实施的文章
事实上,您可以使用PHP、Javascript来检测iOS浏览器,并据此调用CSS文件。
比如说
如上所述,简短的答案是否定的。但我现在正在开发的应用程序中需要类似的东西,但是CSS需要不同的地方仅限于页面的特定区域 如果您和我一样,不需要提供完全不同的样式表,另一个选项是按照此问题的选定答案中所述的方式检测运行iOS的设备: 一旦检测到iOS设备,您就可以使用Javascript(例如
文档.getElementsByTagName(“yourElementHere”)[0].setAttribute(“class”,“iOS设备”);
、jQuery、PHP或其他工具向目标区域添加一个类,并使用预先存在的样式表相应地设置该类的样式
.iOS-device {
style-you-want-to-set: yada;
}
是的,你可以
@supports (-webkit-touch-callout: none) {
/* CSS specific to iOS devices */
}
@supports not (-webkit-touch-callout: none) {
/* CSS for other than iOS devices */
}
YMMV
它之所以有效,是因为只有Safari Mobile实现了-webkit touch callout
:
请注意,@supports
在IE中不起作用。IE将跳过上述两个@support
块。要了解更多信息,请参阅。因此,建议使用@supports not
iOS上的Chrome或Firefox呢?事实上,这些只是WebKit渲染引擎上的皮肤。因此,只要iOS策略不变,上述操作在iOS上随处可见。请参阅中的2.5.6
警告:未来几年,iOS可能会在任何新的iOS版本中删除对该功能的支持。您应该更努力地避免使用上述CSS。此答案的早期版本使用了
-webkit overflow scrolling
,但新的iOS版本将其删除。正如评论者所指出的,还有其他选项可供选择:转到nd搜索“iOS上的Safari”。我不知道如何将iOS作为一个整体来定位,但要将iOS Safari作为具体目标:
@supports (-webkit-touch-callout: none) {
/* CSS specific to iOS devices */
}
@supports not (-webkit-touch-callout: none) {
/* CSS for other than iOS devices */
}
显然,从iOS 13开始,
-webkit溢出滚动
不再响应@支持
,但是-webkit touch callout
仍然响应。当然,这可能会在将来发生变化…所有设备不仅仅是iOS为什么需要它?您可以使用javascript获取用户代理,并且根据结果,您可以包含一个规范al css文件。-webkit溢出滚动仅在Safari中受支持,这太棒了…谢谢你,我知道这不是一种标准方法,但有时你确实需要iOS的特殊规则,因为…因为它们是苹果的。@carl是的,这忽略了安卓,因为-webkit溢出滚动仅由Safari Mobile支持。@Johnny All biOS上的浏览器基于Safari的Webkit引擎:blog.chromium.org/2016/01/…Chrome for iOS基本上是Safari,上面添加了内容。如果这种情况再次发生变化,请转到并搜索“Safari on iOS only”这就是我使用的。我们的代码知道我们在iPhone上,所以在JS中,我们将文本区域的字体大小更改为16px,这看起来不错,不会影响其他浏览器(包括桌面)