本文介绍了悬停时淡入边界的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在悬停时淡入边框。我有以下内容,但它开始时什么都没有,然后变成1px的灰线(灰色是默认颜色),最后变成2px的红线。

我哪里出错了?

a{
    border-bottom: none;
    transition: border-bottom 1s;
}
a:hover{
    border-bottom: 2px solid red;
}
<a href='#'>hover here</a>

推荐答案

如果元素没有边框,则在悬停时会遇到一些问题,如页面移动、从头绘制边框等

解决方案:先尝试将边框设置为透明,这样它就在那里,但看不到:

a {
    border-bottom: 2px solid transparent; /* <- here */
    transition: border-bottom 1s;
    text-decoration: none; /* I added this for clarity of effect */
}
a:hover {
    border-bottom: 2px solid red;
}
<a href="">testing border</a>

编辑

实际上,您不需要再次声明整个边框,只需更改颜色:

a:hover {
    border-color: red; /* <-- just change the color instead */
}

这篇关于悬停时淡入边界的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-21 12:53