我只在Chrome内部遇到问题,在Opera,FF,Safari中进行了测试,一切正常。
我知道Chrome 17存在一个错误,在访问过的链接上有转换,所以我甚至包含了想要修复的内容
对于border-bottom,悬停时仍然没有动画转换。
任何线索?我只是没有看到什么?我已经读完了,这一切似乎都在谈论文本的颜色,而我正试图过渡到边框颜色。
我试图在border-bottom中从no到1px solid#9ecd41动画,但发现除了firefox之外的所有浏览器都有一个时髦的锯齿状动画,它有点反弹。
任何帮助都会很棒,附上的是我正在使用的代码。
好的,这是我的HTML
<nav>
<ul class="nav">
<li><a href="#">ABOUT</a></li>
<li><a href="#">SERVICES</a></li>
<li><a href="#">MEDIA</a></li>
<li><a href="#">BLOG</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</nav>
这是我的CSS
nav {
float: right;
height: auto;
width: auto;
padding: 25px;
}
ul.nav {
width: auto;
height: auto;
overflow: visible;
}
.nav > li {
display: inline-block;
margin-right: 20px;
}
.nav > li:last-child {
margin-right: 5px;
}
/* non-visited links: Chrome transition bug fix */
.nav > li > a:visited {
color: #ffffff;
letter-spacing: 1px;
text-decoration: none;
display: block;
font-family: "proxima-nova-condensed",sans-serif;
font-style: normal;
font-weight: 400;
font-size: 12px;
font-smooth: always;
-webkit-font-smoothing: antialiased;
padding-bottom: 5px;
border-bottom: 1px solid #333; /* CSS3 transition */
-webkit-transition: all .5s ease-in;
-moz-transition: all .5s ease-in;
-o-transition: all .5s ease-in;
-ms-transition: all .5s ease-in;
transition: all .2s ease-in;
}
/* visited links: Chrome transition bug fix */
.nav > li > a {
color: #ffffff;
letter-spacing: 1px;
text-decoration: none;
display: block;
font-family: "proxima-nova-condensed",sans-serif;
font-style: normal;
font-weight: 400;
font-size: 12px;
font-smooth: always;
-webkit-font-smoothing: antialiased;
padding-bottom: 5px;
border-bottom: 1px solid #333; /* CSS3 transition */
-webkit-transition: all .5s ease-in;
-moz-transition: all .5s ease-in;
-o-transition: all .5s ease-in;
-ms-transition: all .5s ease-in;
transition: all .2s ease-in;
}
.nav > li > a:hover {
border-bottom: 1px solid #9ecd41;
}
.nav > li > a:active {
border-bottom: 1px solid #f96d10;
}
只是设置<li>
的样式,我会用宽度/高度/填充/边框等样式设置li,然后只是设置链接以填充li并只是设置链接颜色和字体属性。 Chrome在边框底部有一个小错误,用于链接转换
这应该是一个简单的解决方案。据我所知,你的问题在于转换的位置。使用chrome需要将其添加到最多父级。
尝试在此处添加:
.nav > li { display: inline-block; margin-right: 20px; }
还要为ex添加-webkit-元素的声明。
.nav > li { display: inline-block; margin-right: 20px; -webkit-transition: all .5s ease-in; -moz-transition: all .5s ease-in; -o-transition: all .5s ease-in; -ms-transition: all .5s ease-in; transition: all .2s ease-in; -webkit-transition-property: all; -webkit-transition-duration: .5s; -webkit-transition-timing-function: ease-in; }
看看这是否有效,如果没有,我将尝试构建类似的东西,并在解决方案上工作。
我有Bootstrap 4导航栏组件的这个问题。我的菜单链接有边框底部,从第二个开始,在移动菜单打开时都是不可见的。用带边框底部的元素上的transform: rotate(0);
修复它。