首先要明白一点,safrai浏览器是把z-index直接忽略了,直接忽略,忽略,不是别的,记住这个再看下面
个人傻瓜式理解:
- 谷歌,火狐等浏览器都是直接将一个盒子一个盒子理解成一块一块的,想分层就按照你的z-index高低来区分,
- 而safari不是,safari是将整个浏览器的页面看成一个整体,虽然也是一块一块的,但是他的分层是按照视觉感来分层的,它认为在下面的代码块总比在上面的代码块离人的眼睛近,所以就应该覆盖在上面的代码块上面,不应该用z-index来区分,而是应该用视觉来区分
这样理解可能,大概,也许,或者就明白人家这个不是BUG而是独到的见解,
刚好,有一个css属性叫 translateZ,如果有perspective属性的话,值越大,说明离人眼越近,块就越大,越应该在上层,好啦,这里就知道怎么解决了吧
用视觉感来区分层级貌似也是一个不错的选择啦
.cus-warning-mask {
width:280px;
// height:30px;
text-align:center;
line-height: 30px;
font-size:18px;
padding:6px 12px;
background: rgba(0, 0, 0, 0.3);
position: fixed;
top: 200px;
left: calc(50% - 140px);
z-index: 999; /*这里是给chrome用的*/
transform: translateZ(1000px); /*这里是给safari用的*/
background:linear-gradient(180deg,#FFD972 0%,#FC9541 78%,rgba(252,149,65,0.8) 100%);
color:#ffffff;
border-radius:50px;
box-shadow:0 10px 30px 0px rgba(0,0,0,0.3);
}