我正在构建React / Redux应用程序,我想知道是否可以仅将样式应用于没有链接的图标。我使用标签形式的fontawesome图标,并用标签包装。我想只在父标签的href属性中没有值时才将图标变为灰色。
<ul>
<li>
<a href={test.officialLinks.Reddit} target="_blank">
<i className="fab fa-reddit-alien"></i>
</a>
</li>
<li>
<a href={test.officialLinks.Website} target="_blank">
<i className="fas fa-globe"></i>
</a>
</li>
</ul>
答案 0 :(得分:1)
您可以在组合选择器中为a
标记使用空属性选择器,如下所示(我将其设为红色以使其更明显):
a > i {
color: green;
}
a[href=""] > i {
color:red;
}
<ul>
<li>
<a href="http://www.example.com" target="_blank">
<i className="fab fa-reddit-alien">icon_placeholder</i>
</a>
</li>
<li>
<a href="" target="_blank">
<i className="fas fa-globe">icon_placeholder</i>
</a>
</li>
</ul>
答案 1 :(得分:0)
如果没有链接的<i>
标记不会被<a>
标记包围,您可以。这可以使用子组合选择器>
i {
display:block
}
ul > li > a > i {
background:red
}
ul > li > i {
background:grey
}
<ul>
<li>
<i class="fab fa-reddit-alien">ss</i>
</li>
<li>
<a href={contract.officialLinks.Telegram} target="_blank">
<i class="fab fa-telegram-plane">ss</i>
</a>
</li>
<li>
<a href={contract.officialLinks.Website} target="_blank">
<i class="fas fa-globe">ss</i>
</a>
</li>
</ul>