【发布时间】:2014-10-22 07:55:59
【问题描述】:
您好,我想知道如何链接悬停事件来更改相关元素。例如,我想让它悬停在链接或图标上,它会同时改变它们的样式。现在在我的 sass/scss 我有 CSS:
.iconlinks {
color:$linkscolor;
&:hover {
color:darken($linkscolor,20%);
}
}
#icons {
a:hover {
i {
color: darken($primary-color, 20%);
}
}
}
HTML:
<div id="icons" class="row">
<div class="medium-4 large-4 text-center column adjust">
<a href="#"><i id="promotional" class="fi-calendar"></i></a>
<h4><a class="iconlinks" href="#">text</a></h4>
<p>Text ect</p>
</div>
</div>
所以,我想将鼠标悬停在.iconlinks 或#icons 上会改变两者的样式。
我听说过使用像:before 和:after 这样的伪元素,但我还没有真正了解它们的用法以及它们是否适用。那么,实现这一目标的最佳方法是什么?
我也试过了:
<div class="medium-4 large-4 text-center column adjust">
<a class"dualhover" href="#"><i id="promotional" class="fi-calendar"></i>
<h4><a class="iconlinks" href="#">Promotional Items</a></h4></a>
css:
.dualhover:hover{
#promotional{color: darken($linkscolor,10%);}
.iconlinks{
color: darken($linkscolor,10%);
}
}
我的代码开始变得混乱,我需要清理一下。必须有一种更简单的方法来做到这一点。
【问题讨论】:
-
嗯,我看过了,但它与我的问题有点不同,因为我在问你是否将鼠标悬停在特定元素上,它可能导致另一个元素做出反应,而该链接似乎解决了导致两个通过将鼠标悬停在具有两个孩子的父 div 上来做出反应的元素。让我添加 html。
-
但是你的图标、链接、文本等都包裹在同一个div中。那么你可以像上面的例子那样将悬停样式应用到元素上吗?我不相信你可以让一个元素纯粹使用 CSS 来影响另一个不相关的元素。
-
你能改变标记吗?将图标和标题包裹在链接中,然后您可以在 SCSS 中的
a:hover块中访问它们
标签: html css sass pseudo-element