CSS - 悬停时文本移动

发布于 2024-12-20 22:11:12 字数 846 浏览 0 评论 0原文

我已经这样做了大约一个小时,但似乎无法掌握它。
每次我将鼠标悬停在该文本上(我想为其悬停设置背景颜色),文本都会与背景颜色一起移动。 这是我得到的:

        #innerheader ul {
            list-style:none;
            margin:0;
            padding:0;
        }
        #innerheader li {
            display:block;
            float:left;
            height:25px;
            margin:0 2px;
            padding:15px 10px 0 10px;
            color:#FFFFFF;
            font-weight:bold;
            font-size:10px;
            text-transform:uppercase;
        }

        #innerheader li a, 
        #innerheader li a:link, 
        #innerheader li a:visited, 
        #innerheader li a:active {
            color:#FFFFFF;
            text-decoration:none;
        }
        #innerheader li a:hover {
            background-color: blue;
            padding: 10px 10px 10px 10px
        }

I've been at this for about an hour now, and cant seem to grip it.
Everytime I hover over this text (I'm wanting to put a background color for it to hover), the text moves, along with the bgcolor.
Here is what I got:

        #innerheader ul {
            list-style:none;
            margin:0;
            padding:0;
        }
        #innerheader li {
            display:block;
            float:left;
            height:25px;
            margin:0 2px;
            padding:15px 10px 0 10px;
            color:#FFFFFF;
            font-weight:bold;
            font-size:10px;
            text-transform:uppercase;
        }

        #innerheader li a, 
        #innerheader li a:link, 
        #innerheader li a:visited, 
        #innerheader li a:active {
            color:#FFFFFF;
            text-decoration:none;
        }
        #innerheader li a:hover {
            background-color: blue;
            padding: 10px 10px 10px 10px
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

拥抱我好吗 2024-12-27 22:11:12

删除悬停声明中的填充。或者简单地将填充移动到悬停状态之前的锚点,如下面的代码。

文本移动的原因是锚点上没有填充,然后当您悬停时,就会有填充。

#innerheader li a, 
    #innerheader li a:link, 
    #innerheader li a:visited, 
    #innerheader li a:active {
        color:#FFFFFF;
        text-decoration:none;
        padding: 10px;
    }
    #innerheader li a:hover {
        background-color: blue;
    }

Remove the padding in the hover declaration. Or simply move the padding to the anchor before the hover state, like the code below.

The reason the text is moving is there is no padding on the anchor, then when you hover, there's padding.

#innerheader li a, 
    #innerheader li a:link, 
    #innerheader li a:visited, 
    #innerheader li a:active {
        color:#FFFFFF;
        text-decoration:none;
        padding: 10px;
    }
    #innerheader li a:hover {
        background-color: blue;
    }
↙温凉少女 2024-12-27 22:11:12

就是因为有垫子。删除它然后它就可以正常工作了。

It's because of padding. Remove it then it will work just fine.

°如果伤别离去 2024-12-27 22:11:12

去掉填充物,这就是导致它移动的原因。

Get rid of padding, that is what is causing it to move.

谈场末日恋爱 2024-12-27 22:11:12

它正在移动,因为您正在更改悬停块中的填充。把它去掉就应该没问题了。

It's moving because you are changing the padding in the hover block. Remove that and it should be fine.

初懵 2024-12-27 22:11:12

你正在 li a:hover 上添加填充!当然,它会改变文本。要解决此问题,您需要定义宽度和高度,并通过悬停时的填充量来减少它们。或者将填充移动到非悬停状态。

you're putting padding on the li a:hover! Of course it's going to shift the text. To fix this you need to define the width and height and reduce them by the padding amount on hover. OR move the padding to the non hover state.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文