【问题标题】:CSS style childclass on hover悬停时的 CSS 样式子类
【发布时间】:2017-09-30 21:24:36
【问题描述】:

我正在尝试使用父类的 on hover 设置子类的样式。

这是我想要的和我尝试过的:

所以使用图像进行解释,当我将鼠标悬停在红色箭头处的部分 div 上时,我希望红色 div 内的文本变为红色,而 div 的背景变为白色(在黄色箭头处)。

这是我在代码中尝试过的:

/* CSS */
.blogpost_preview_fw:hover > .bc_title a:active {
   color: red;
   background-color: white;
}

/* HTML */
    <div class="blogpost_preview_fw element places streets">
        <div class="fw-portPreview">
            <div class="img_block wrapped_img fs_port_item">
                <a class="featured_ico_link" href="portfolio_post_fullscreen_slider.html" >
                    <img alt="" src="img/portfolio/540_auto/10.jpg" />
                </a>
                <div class="bottom_box bottom_box_v2">
                    <div class="bc_content bc_content_v2">
                        <h5 class="bc_title"><a href="verhaal.php">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laboriosam, quaerat!</a></h5>
                    </div><a href="verhaal.php">
                        <div class="bc_likes gallery_likes_add already_liked">
                            <i class="stand_icon icon-comment-o"></i>
                            <span>Verhaal</span>
                        </div></a>
                </div>
                <div class="portFadder"></div>
            </div>
        </div>
    </div>

那么这在纯 CSS 中是否可行,还是我必须使用 jQuery 在 HTML 标签上放置类?

我正在使用 HTML、CSS、Bootstrap v3.3.7

【问题讨论】:

    标签: jquery html css twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    您在这里唯一的错误是使用 :active 伪选择器(锚元素不一定处于活动状态,除非您通过 JS 强制它进入活动状态?)和直接子 (>) 选择器。 .bc_title 不是 .blogpost_preview_fw 的直接子代;)

    .blogpost_preview_fw:hover .bc_title a {
       color: red;
       background-color: white;
    }
    

    要添加另一个选择器,请这样做:

    .blogpost_preview_fw:hover .bc_title a,
    .blogpost_preview_fw:hover .bc_likes {
        color: red;
        background-color: white;
    

    }

    【讨论】:

    • 啊,我知道它现在可以工作了。谢谢,我还有一件事。假设我想让bc_likes 变成红色。我可以把它放在css中吗?像AND css 声明?还是我必须再做一个?
    • @H.Brendan 如果他的回答对您有帮助,请选择他作为最佳答案。
    • @besciualex 是的,我知道,我现在支持他,我可以在 4 分钟内接受答案。有某种计时器不会让我立即点击它:P
    • @H.Brendan,是的,当然 - 查看我的编辑(注意逗号后跟选择器,同样的 CSS 规则将适用);)
    • @l.varga 非常感谢!你应该得到赞成:)
    【解决方案2】:

    您使用了错误的 CSS 选择器。 '>' 表示 .blogpost_preview_fw 的第一级子级,其中 .blogpost_preview_fw 只有一个子级( .fw-portPreview ),因此无法找到。

    这个应该做的事情:

    .blogpost_preview_fw:hover .bc_title a:active {
       color: red;
       background-color: white;
    }
    

    还可以考虑删除 :active 伪类。使用该伪类,锚元素只有在被点击时才会获得样式。

    【讨论】:

    • 我支持你,因为你给出了正确的答案,但@I.varga 是第一个
    【解决方案3】:

    请试试这个:

    .blogpost_preview_fw:hover .bc_title a {
       color: red;
       background-color: white;
    }
    

    【讨论】:

    • 感谢您的回答。这是正确的,但其他人已经给出了答案。所以只给你一个赞成票。
    • 解释您的答案与已发布的答案有何不同
    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 2014-11-27
    • 2019-05-23
    • 2020-01-21
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    相关资源
    最近更新 更多