iPad 上的 div box-shadow

Posted

技术标签:

【中文标题】iPad 上的 div box-shadow【英文标题】:div box-shadow on iPad 【发布时间】:2014-05-05 06:17:49 【问题描述】:

我目前正在开发一个触摸优化的网络应用程序。部分概念设计包括易于导航,所以我设计了一些漂亮的 div,它们有一个“点击”或“触摸”事件,当你触摸它时看起来很漂亮。

这在计算机网络浏览器和安卓浏览器上效果很好,但是当我在 iPad 上的 Safari 上使用它时,它不会显示阴影。我所有的语法似乎都是正确的,所以我只能得出结论是它是一个错误或不受支持。

我的问题是:有没有人遇到过这个问题并发现了修复或解决方法?

jsFiddle

CSS:

div.touch-button:active 
    width: 300px;
    border: 1px solid #ccc;
    padding: 10px;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;


div.touch-button 
    width: 300px;
    border: 1px solid #ccc;
    padding: 10px;
    -moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
    box-shadow: 0 0 5px rgba(0,0,0,0.5);

【问题讨论】:

【参考方案1】:

你应该在 -moz-box-shadow 和 -webkit-box-shadow 之前使用 box shadow。 这在过去为我解决了同样的问题。

div.touch-button 
    width: 300px;
    border: 1px solid #ccc;
    padding: 10px;    
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    -moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);

【讨论】:

抱歉,好像没有用。似乎有一个轻微的阴影(大约 1px),我必须眯着眼睛才能看到它。增加阴影似乎也无法解决问题。【参考方案2】:

使用-webkit-appearance:无;对于覆盖默认值,试试这个..

div.touch-button 
    width: 300px;
    border: 1px solid #ccc;
    padding: 10px;
    -webkit-appearance: none;
    -moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
    box-shadow: 0 0 5px rgba(0,0,0,0.5);


div.touch-button:active 
    width: 300px;
    border: 1px solid #ccc;
    padding: 10px;
    -webkit-appearance: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;

【讨论】:

【参考方案3】:

好的, 在经历了很大的压力和混乱之后,放弃了。我在尝试解决另一个问题时遇到了这个问题。

这与视口设置有关。

不正确: <meta name="viewport" content="width=device-width" />

正确: <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />

【讨论】:

您的问题与 safari 上未出现框阴影有关,您在此处更改的内容将禁用缩放并将其保持为设计的原始大小。 Rider 是对的。你可能想试试这个:<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes">。我在尝试解决缩放问题时发现了这个解决方法。它没有,但它确实在我的代码中解决了横向视图中的 ios 盒子阴影问题。

以上是关于iPad 上的 div box-shadow的主要内容,如果未能解决你的问题,请参考以下文章

iPad - touchStart() 事件被 div 文本阻止

iPhone/iPad 上的视频控制叠加

修复 iPhone/iPad/iPod 上的 CSS 悬停

iPad 上的 JS .play() 播放错误的文件...建议?

滚动时,iPad 上的全屏背景会变成空白

绝对定位容器中 Ipad 垂直中心上的 IOS Safari