我在网站上创建了一个导航栏,当我在Chrome中尝试使用导航栏时,它无法正常工作。
在Microsoft Edge中,导航栏运行良好。
但是在Chrome中,当我打开导航栏并将鼠标移至导航栏时,模糊动画立即开始播放,这非常容易出错。
在“边缘”中,仅当我将光标移动到文本时,导航栏才能在打开动画开始时正常工作。
我完全不知道我做错了什么。有专家可以检查一下吗?
在Codepen .io网站上,您可以看到错误,并且区别明显
打开导航栏时,只需移动鼠标光标
在两个文本之间。
这是代码:
$('.toggle').on('click', function() {
$('.menu').toggleClass('active');
});
$(window).on("load", function() {
$('.menu').toggleClass('active');
});
body {
font-family: 'Roboto Condensed', sans-serif;
font-size: 16px;
overflow: auto;
text-transform: uppercase;
font-weight: bold;
}
.menu {
height: 70px;
width: 70px;
left: 70px;
top: 20px;
text-align: center;
position: absolute;
background: #0e0f0f;
overflow: hidden;
transition: all 0.2s ease;
z-index: 999;
}
.menu.active {
width: 85%;
transition: width 0.3s;
-webkit-transition: width .3s;
-moz-transition: width 0.3s;
}
.menu.active .menuContent * {
opacity: 1;
}
.menu.active span i:nth-child(1) {
transform: rotate(-45deg) translate(-50%, -50%);
top: 50%;
}
.menu.active span i:nth-child(2) {
transform: translateX(-100px);
opacity: 0;
}
.menu.active span i:nth-child(3) {
transform: rotate(45deg) translate(-50%, -50%);
top: 50%;
}
.menu span {
width: 70px;
height: 70px;
position: absolute;
left: 0px;
cursor: pointer;
background: #0e0f0f;
opacity: 0.3;
z-index: 1;
}
.menu span i {
position: absolute;
transform-origin: 50% 50%;
width: 45%;
height: 2px;
left: 0;
right: 0;
margin: auto;
background-color: #ccc;
transition: transform 0.3s ease, opacity 0.1s ease 0.1s;
}
.menu span i:nth-child(1) {
top: 40%;
}
.menu span i:nth-child(2) {
top: 50%;
}
.menu span i:nth-child(3) {
top: 60%;
}
.menu .menuContent {
position: absolute;
width: 100%;
height: 100%;
line-height: 40px;
right: 0px;
text-align: center;
}
.menu .menuContent * {
opacity: 0;
}
.menu .menuContent ul li {
display: inline-block;
margin-left: 140px;
margin-right: 50px;
color: #2d3235;
transition: opacity 0.3s ease 0.3s;
cursor: pointer;
position: relative;
}
.menu .menuContent ul li:hover:before {
opacity: 0.8;
top: 13px;
left: 20px;
}
.menu .menuContent ul li:hover:after {
opacity: 0.8;
bottom: 13px;
left: -20px;
}
body {
margin: 0;
padding: 0;
background-color: #112b38;
}
ul {
display: inline;
margin-bottom: 500px;
}
ul li {
margin: 12px 100px;
transition: 0.5s;
}
ul li a {
display: block;
position: relative;
text-decoration: none;
padding: 0px;
font-size: 18px;
font-family: sans-serif;
color: #fff;
text-transform: uppercase;
transition: 0.5s;
}
ul:hover li a {
transform: scale(1.5);
opacity: .2;
filter: blur(5px);
}
ul li a:hover {
transform: scale(2);
opacity: 1;
filter: blur(0);
}
ul li a:before {
content: '';
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
transition: 0.5s;
background: #43bc0b;
transform-origin: right;
transform: scaleX(0);
z-index: -1;
}
ul li a:hover:before {
transition: 0.5s;
transform-origin: left;
transform: scaleX(1);
}
a,
a:hover,
a:focus {
text-decoration: none;
color: white;
}
body {
background-color: #112b38;
}
<!DOCTYPE html>
<html lang="hu">
<head>
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<meta charset="UTF-8">
<title>PC Szerviz Sinko</title>
</head>
<body>
<div class='menu'>
<span class='toggle'>
<i></i>
<i></i>
<i></i>
</span>
<div class='menuContent'>
<ul>
<li><a href="Legujabb.html">Home</a></li>
<li><a href="szolgaltatasok.html">Services</a></li>
<li><a href="rolunk.html">About us</a></li>
<li><a href="elerhetoseg.html">Contact Us</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.min.js"></script>
最佳答案
据我正确理解,您只希望当鼠标光标位于菜单项上而不是导航栏的其余部分时才模糊。
尝试更换
ul:hover li a
{
transform: scale(1.5);
opacity: .2;
filter:blur(5px);
}
与
ul:before li a
{
transform: scale(1.5);
opacity: .2;
filter:blur(5px);
}
因此,请使用before而不是将鼠标悬停。
关于javascript - 我的导航栏在Microsoft Edge中正常工作,但在chrome中效果不佳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56102433/