Ionic开发中box-shadow在ios中显示有问题

本来是开发中一个简单的需求,就是类似用户导航一样,除了重点部分,其他地方都被黑色透明层遮住,为了项目保密,我还是用一个别人做的列子来表达下我的意思:

http://www.zhangxinxu.com/study/201603/overlay-cover-refer-to.html

我最初发现用box-shadow简直是超级好用,先做一个圆圈,再做个定位,然后直接设置box-shadow: 0 0 0 1997px rgba(0,0,0,0.6);这个1997我也是随手设置的,打个包在安卓上跑的杠杠滴!但是没想到到了ios上,居然完全没效果,什么-webkit-box-shadow,-webkit-appearance:none;统统没有用!

更奇怪的是这个box-shadow在模拟器上跑的好好的,但是到了真机上面测试却不起作用,简直让人崩溃,幸亏有个同事发现玄机在box-shadow的第四个值spread上面,当设置太大的时候,safari居然渲染有问题,他一个像素一个像素的调整,最终发现1008px这个界限值,当我兴冲冲改成box-shadow: 0 0 0 1008px rgba(0,0,0,0.6)的时候,测试跑过来跟我说iphone 6 plus上还是不行!难道说我又要一个个像素调6 plus?万一以后又出什么8 plus,9 plus怎么办?想来我只能另辟蹊径了,/(ㄒoㄒ)/~~

结果我想了一个最笨的方法!上下左右四个div夹击这个镂空圆,然后针对这个圆设置半透明背景图,这样就可以做出最终效果。

本来这样就可以收工了,但是孜孜不倦的同事又扔过来一个链接,就是上面鑫大神那个,我才发现原来世上还有如此高深莫测的办法,简单来说,先对镂空圆做一个定位,然后设置他的border,也就是说那些透明灰色快,都是镂空圆对象的border!但是这个只能针对矩形,如何让圆角div也能实现这个效果,伪元素!

只要给镂空圆对象添加一个圆角伪元素,也通过border的方式设置出他的边界,保证能填充矩形和圆形中间的间隙,就完美的解决该问题了!

.cover::before {
    content: ‘‘;
    width: 100%; height:100%;
    border-radius: 50%;
    border: 400px solid #000;
    position: absolute;
    left: -400px; top: -400px;
    box-shadow: inset 0 0 5px 2px rgba(0,0,0,.75);
}

其中left和top的位移是跟设置的border-width相关的,实际目的都是为了这个圆形伪类能够在镂空对象的正中间。

话说谁能最后告诉我为什么box-shadow在ios下渲染的问题怎么才能解决呢?

时间: 2024-10-06 01:32:47

Ionic开发中box-shadow在ios中显示有问题的相关文章

vue中解决时间在ios上显示NAN的问题

最近在用vue,遇到倒计时在ios上显示为NAN的问题. 因为做的是倒计时支付,思路是获取服务器时间和下单时间,再转成秒级时间戳做差值. 在网上找到说是ios 不支持例如2018-09-01 10:00:59这种"-"连接符. 网上的解决是: var data = '2018-09-01 12:00:00' var time= Date.parse(new Date(data )) 然后用正则匹配改一下,将-替换为/ var date = '2018-09-01 12:00:00' v

[摘抄]请问iOS开发什么时候需要重写ios中的setter和getter方法

可以完全不重写这两个方法,但是当你习惯了用这两个方法后你会发现能极大的简化代码比如你的类里面有个label,然后你再定义一个公开属性lableColor来获取这个label字体的颜色如果不用get方法的情况下,每当label的字体颜色有变化你都要给lableColor赋值一次,这样才能保证获取到的颜色的是对的,但是如果你重写了lableColor 的get方法,只要return [label.textcolor];全部搞定 这只是举个简单的例子,还有set方法也一样,你可以在set的时候制定很多

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous------------------ [1]新建工程,新建分类 [2]分类的命名方式以及类的选择 [3]书写NSString分类的类方法,以及实现类方法,以及MD5如何加密 [4]测试加密结果 [5]解密:直接百度MD5解密,随便点歌网站进去,输入解密KEY,在我这个Demo中, wolfhous正常加密44bf025

iOS开发——高级篇——iOS中常见的设计模式(MVC/单例/委托/观察者)

关于设计模式这个问题,在网上也找过一些资料,下面是我自己总结的,分享给大家 如果你刚接触设计模式,我们有好消息告诉你!首先,多亏了Cocoa的构建方式,你已经使用了许多的设计模式以及被鼓励的最佳实践. 首先得搞清楚设计模式是个什么鬼,在软件设计领域,设计模式是对通用问题的可复用的解决方案.设计模式是一系列帮你写出更可理解和复用代码的模板,设计模式帮你创建松耦合的代码以便你不需要费多大力就可以改变或者替换代码中的组件 其实iOS中的设计模式有非常多,常用的就下面这四种 一.MVC设计模式(设计模式

iOS中消息的传递机制(KVO、Notification、delegation、block以及target-action)---转载

注1:本文由破船[博客]译自Communication Patterns. 本文目录如下所示: 可用的机制 做出正确的选择 Framework示例 小结 每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递.本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framework中如何使用,同时,还介绍了一些最佳实践建议,告诉你什么时机该选择使用什么机制. 虽然这一期的主题是关于Foundation Framework的,不过本文中还

如何在iOS中使用libxml

本篇文章简单介绍如何在iOS中使用libxml Mac OS版本:10.8.2 XCode版本:4.5.1 1. 选择xcode工程设定 2. 选择target 3. 选择Summary 4. 拉到Linked Frameworks and Libraries的地方,按下+按键 输入libxml并选择libxml2,按下Add按键 如此便可在工程中看到libxml2.dylib 如同第一张图中,改选到Build Setting 往下拉找到Search Paths在里面找到Header Searc

iOS中消息的传递机制

小结 每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递.本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framework中如何使用,同时,还介绍了一些最佳实践建议,告诉你什么时机该选择使用什么机制. 虽然这一期的主题是关于Foundation Framework的,不过本文中还介绍了一些超出Foundation Framework(KVO和Notification)范围的一些消息传递机制,另外还介绍了delegation,

iOS开发笔记--iOS中的多线程

摘要 本文主要介绍iOS开发中的三种多线程技术:NSThread, NSOperation/NSOperationQueue, GCD.以及在多线程编程中的注意点和小技巧. 多线程 NSThread NSOperation/NSOperationQueue GCD 目录[-] iOS中的多线程 iOS的三种多线程技术特点: GCD基本思想 队列: 操作: 不同队列中嵌套同步操作dispatch_sync的结果: 同步操作dispatch_sync的应用场景: GCD优点: GCD队列: NSOp

iOS开发笔记--iOS中的触摸事件和手势处理

iOS中的事件可以分为三大类:原文:http://my.oschina.net/aofe/blog/268749 1> 触摸事件 2> 加速计事件 3> 远程控制事件 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为"响应者对象". UIApplication,UIViewController,UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件. UIRespon

iOS中的模块化开发思路一

我想不光是在iOS开发中,在其他各种软件产业开发中,模块化开发是必不可少的一种开发模式. 那么,在iOS中如何做到模块化开发.小伙伴们之间并行的有规矩的开发.集成.代码了?答案是,设计模式出.依赖抽象,不依赖具体实现. 第一步,拿到每一个模块的开发任务的小伙伴们,首先不要马上去写各种viewController.subViews.networkApi.dataBaseApi.entity.... .我想的是,我们应该定义一下接口,告诉其他调用这个模块的小伙伴们,我们这个模块能够干一些什么...