gpt4 book ai didi

CSS 转换和过渡在 Safari 中不起作用

转载 作者:行者123 更新时间:2023-11-28 09:25:52 28 4
gpt4 key购买 nike

我正在研究 <nav>对于移动网站。它在 Firefox 和 Chrome 中有效,但在 Safari 中无效。我在 Windows 8.1 上运行它,我在 iPad mini 的 Safari 上观察到同样的问题。

在下面的代码片段中,如果您查看移动 View (max-width: 768px) 并单击右上角的菜单图标,该图标应该会变成十字 (X) 图标以及导航菜单应该会滑下来。

$("a.nav-opener").click(function(e) {
e.preventDefault();
$('body').toggleClass("nav-active");
});
@media screen and (max-width: 768px){

.holder {
padding: 14px;
}

.logo {
float: none;
display: block;
margin: 0px auto;
width: 168px;
position: relative;
z-index: 2;
}

a {
text-decoration: none;
color: #DC7952;
outline: medium none;
}

.logo img {
width: 100%;
height: auto;
display: block;
}

img {
max-width: 100%;
height: auto;
}

.nav-opener {
display: block;
position: absolute;
top: 0px;
right: 0px;
border-left: 1px solid #D4D4D4;
width: 65px;
height: 53px;
text-indent: -9999px;
overflow: hidden;
background: none repeat scroll 0% 0% transparent;
z-index: 15;
}

.nav-opener::before, .nav-opener::after {
content: "";
top: 19px;
}

.nav-opener::before, .nav-opener::after, .nav-opener span {
background: none repeat scroll 0% 0% #DC7952;
position: absolute;
left: 15%;
right: 15%;
height: 6px;
margin-top: -2px;
transition: all 0.2s linear 0s;
}

.nav-opener::after {
top: 37px;
}

.nav-opener span {
background: none repeat scroll 0% 0% #DC7952;
position: absolute;
top: 28px;
left: 15%;
right: 15%;
height: 6px;
margin-top: -2px;
transition: all 0.2s linear 0s;
}

.nav-active .nav-opener::after, .nav-active .nav-opener::before {
transform: rotate(45deg);
border-radius: 3px;
top: 24px;
left: 15%;
right: 15%;
}

.nav-active .nav-opener::after {
transform: rotate(-45deg);
}

.nav-opener::before, .nav-opener::after {
content: "";
}

.nav-active .nav-opener span {
display: none;
}

.navigation-container {
border: 0px none;
overflow: hidden;
position: absolute;
top: 53px;
left: 0px;
right: 0px;
z-index: 999;
max-height: 0px;
transition: all 0.25s linear 0s;
margin: 0px;
padding: 0px;
}

.nav-active .navigation-container {
max-height: 4000px;
}

.navigation-container .drop {
transition: all 0.25s linear 0s;
transform: translateY(-100%);
background: none repeat scroll 0% 0% #FFF;
width: 100%;
display: table;
}

.nav-active .drop {
transform: translateY(0px);
}

#nav {
margin: 0px;
overflow: visible;
font-size: 24px;
display: table-header-group;
font-family: "apercu",sans-serif;
font-weight: 700;
line-height: 1.4285;
text-transform: uppercase;
}

#nav ul {
display: block;
border-top: 1px solid #E8E8E8;
padding: 0px;
width: 100%;
margin: 0px;
}

#nav li {
display: block;
width: auto;
border-style: solid;
border-color: #E8E8E8;
-moz-border-top-colors: none;
-moz-border-right-colors: none;
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
border-image: none;
border-width: 0px 0px 1px;
list-style: outside none none;
}

#nav li.active a, #nav li a:hover {
text-decoration: none;
color: #FFF;
background: none repeat scroll 0% 0% #DC7952;
}

#nav a {
display: block;
text-align: left;
padding: 15px 20px;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="holder">
<strong class="logo"><a href="#">Some logo</a></strong>
</div>

<!-- navigation opener -->
<a href="#" class="nav-opener"><span>opener</span></a>

<div class="navigation-container">
<div class="drop">
<!-- main navigation of the page -->
<nav id="nav">
<ul>
<li class="active"><a href="#">HOME</a></li>
<li><a href="#">BIBLE RESOURCES</a></li>
<li><a href="#">OUR MISSION</a></li>
</ul>
</nav>
</div>
</div>

Equivalent jsFiddle

谁能指出我正确的方向?

最佳答案

转换和过渡在没有浏览器前缀的 safari 和 chrome 上不起作用,这是用于 safari 的 webkit 所以使用:

-webkit-transform 和 -webkit-transition 代替...

关于CSS 转换和过渡在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864226/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com