html用按钮控制字体换色不用link,如何更改使用css类的链接的字体颜色?

,但它影响了网页上的所有链接。

#amp-wp-header a:active,a:visited{color:#ffffff;}a:hover,a:focus{color:#ffffff;}

如果重新格式化这个(并更改#到.指定一个类),你会得到

.amp-wp-header a:active,a:visited{color:#ffffff;}

a:hover,a:focus{color:#ffffff;}

,您可以在第二个规则,你是清楚地看到,将颜色应用于全部盘旋或集中链接。

换句话说,第一个{color:#ffffff}终止规则。从a:hover开始的以下部分被解释为一个全新的独立规则。它不受.amp-wp-header的影响,仅仅因为它碰巧在同一条线上。

所以,你可能会认为解决办法是重写你的CSS作为一个规则,让更高级别的选择适用于所有伪类国家:

.amp-wp-header a:active, a:visited, a:hover, a:focus {color: #ffffff;}

然而,这并不工作,因为.amp-wp-header只适用于a:active。 “选择器组”中的每个成员,有时称为“选择器列表”,用逗号分隔的选择器列表完全是独立。换句话说,上面是完全等同于

.amp-wp-header a:active {color: #ffffff;}

a:visited {color: #ffffff;}

a:hover {color: #ffffff;}

a:focus {color: #ffffff;}

将样式应用到所有参观,徘徊,或集中环节,而不仅仅是内部.amp-wp-header。因此,你需要把它写成

.amp-wp-header a:active {color:#ffffff;}

.amp-wp-header a:visited {color:#ffffff;}

.amp-wp-header a:hover {color:#ffffff;}

.amp-wp-header a:focus {color:#ffffff;}

对于这相当于是

.amp-wp-header a:active,

.amp-wp-header a:visited,

.amp-wp-header a:hover,

.amp-wp-header a:focus {

color: #ffffff;

}

注意,在未来的浏览器,你将能够使用:matches如下:

.amp-wp-header a:matches(:active, :visited, :hover, :focus) {

color: #ffffff;

}

更多详情请参阅MDN page。有关兼容性,请参阅this chart。目前,您需要使用供应商前缀版本,例如-webkit-any或-moz-any,这使得它不太吸引人。

除了理解选择器和选择器组的工作方式外,这里的一个教训是仔细格式化和缩进CSS,以帮助您(和其他人)了解它的含义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS的伪元素(pseudo-element)和伪(pseudo-class)实现这个效果。 首先,需要在HTML中添加一个按钮和一个显示字体图标的元素,例如: ```html <button id="changeIconBtn">Change Icon</button> <div id="icon" class="original-icon">A</div> ``` 其中,按钮的id为"changeIconBtn",显示字体图标的元素的id为"icon",并且初始状态下它的class为"original-icon",表示显示的是原来的字体图标。 接下来,使用CSS为这些元素添加样式。首先,需要为"icon"元素设置字体字体大小: ```css #icon { font-family: "Font Awesome 5 Free"; /* 字体图标库的名称 */ font-size: 24px; } ``` 然后,使用伪元素和伪为"icon"元素添加两个不同的字体图标。在初始状态下,使用:before伪元素显示第一个字体图标;在按钮点击后,使用:after伪元素显示第二个字体图标。同时,为了实现点击按钮字体图标的变换效果,可以使用:checked伪和相邻兄弟选择器(adjacent sibling selector)来实现: ```css #icon:before { content: "\f007"; /* 第一个字体图标的Unicode编码 */ } #changeIconBtn:checked + #icon:after { content: "\f008"; /* 第二个字体图标的Unicode编码 */ } .original-icon:before { content: "\f007"; /* 在初始状态下仍显示第一个字体图标 */ } .new-icon:after { content: "\f008"; /* 在按钮点击后显示第二个字体图标 */ } ``` 最后,为按钮添加点击事件,当它被点击时,将"icon"元素的class从"original-icon"变为"new-icon",从而触发字体图标的变换效果: ```javascript var changeIconBtn = document.getElementById("changeIconBtn"); var icon = document.getElementById("icon"); changeIconBtn.addEventListener("click", function() { icon.classList.toggle("original-icon"); icon.classList.toggle("new-icon"); }); ``` 这样就可以实现一个简单的点击按钮字体图标变换的效果了。完整的代码如下: ```html <!DOCTYPE html> <html> <head> <title>Change Icon Example</title> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"> <style> #icon { font-family: "Font Awesome 5 Free"; font-size: 24px; } #icon:before { content: "\f007"; } #changeIconBtn:checked + #icon:after { content: "\f008"; } .original-icon:before { content: "\f007"; } .new-icon:after { content: "\f008"; } </style> </head> <body> <button id="changeIconBtn">Change Icon</button> <div id="icon" class="original-icon">A</div> <script> var changeIconBtn = document.getElementById("changeIconBtn"); var icon = document.getElementById("icon"); changeIconBtn.addEventListener("click", function() { icon.classList.toggle("original-icon"); icon.classList.toggle("new-icon"); }); </script> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值