html - 如果仅将鼠标悬停在一个 <span> 上,如何激活两个不同的 <span> ?

标签 html css

通常,两个 .labout 跨度都是白色的,两个 .pabout 跨度都是黄色的。将鼠标悬停在上方时,我会将整个短语设为黑色。即,当按钮的任何部分(而不是单个跨度)悬停在上方时,LEARN ABOUT FULL SERVICE 为黑色。

<div id="inner">
    <a style="color:white" href="full-service/overview/" class="fs-button">
        <span class="labout">LEARN ABOUT</span>
        <span class="pabout"> FULL SERVICE</span>
    </a>                    
    <a style="color:white; vertical-align:middle;" href="diy/overview/" class="diy-button">
        <span class="labout">LEARN ABOUT</span>
        <span class="pabout">  DO IT YOURSELF</span>
    </a>
</div>

但是,使用我拥有的 CSS,只有您将鼠标悬停在上面的单个跨度变黑,而短语的其余部分则不会。这是我的 CSS:

a.fs-button {
    display: inline;
    background: #28353e;
    height: 26px;
    margin: 0 10px;
    width: 245px;
    float: left;
    font-family: 'asenine';
    text-decoration: none;
    font-size: 20px;
    text-align: center;
    vertical-align: middle;
    padding-top: 5px;
    position: absolute;
}

a span.pabout {
    color: #f6ec02;
}

.home-buttons a span.labout:hover {
    color: black;
}   

.home-buttons a span.pabout:hover {
    color: black;
}   

.home-buttons a.fs-button:hover {
    cursor: pointer;
    color: black;
    font-weight: 500; 
    background: #f7ed04; /* Old browsers */
    background: -moz-linear-gradient(left,  #f7ed04 0%, #eda704 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#f7ed04), color-stop(100%,#eda704)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left,  #f7ed04 0%,#eda704 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left,  #f7ed04 0%,#eda704 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left,  #f7ed04 0%,#eda704 100%); /* IE10+ */
    background: linear-gradient(to right,  #f7ed04 0%,#eda704 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7ed04', endColorstr='#eda704',GradientType=1 ); /* IE6-9 */
}

最佳答案

您只是将鼠标悬停在了错误的选择器上。您想要根据 a 是否悬停而不是单个跨度是否悬停来着色。

a:hover .pabout, a:hover .labout { color: black; }

旁注:您在 style 属性中有样式,然后在选择器 .home-buttons a.fs-button:hover 中覆盖它。您的选择器不会覆盖 style 属性。尽量不要混合使用 css 类和内联样式。

关于html - 如果仅将鼠标悬停在一个 <span> 上,如何激活两个不同的 <span> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17557098/

相关文章:

java - 用于 Java 的 HTML/XML 解析器

html/css - 使用带有 <img> 标签的 sprite - 如何删除 Chrome 中的轮廓?

javascript - 如何在浏览器窗口较小时显示滚动条?

javascript - ngAnimate 仅在 IE9 中部分降级

html - 导航在网站上的定位

html - 在没有阴影的 CSS 文本后面变暗?

php - 无法从 $_GET 请求中获取值

html - CSS和定位一组div

asp.net - 在页面加载时使用 JavaScript 填充文本框

javascript - 下一个下拉菜单不能具有已在另一个下拉菜单中使用的值