如何在不修改React代码时移除::before和::after的CSS删除线格式?
解决方案
你可以通过单独为伪元素重置样式来实现需求,不需要修改React代码。核心思路是利用CSS优先级,覆盖伪元素继承自父元素的删除线和颜色样式:
/* 给父元素设置£12需要的红色和删除线 */ .startMonth { color: red; text-decoration: line-through; } /* 重置伪元素的样式,取消删除线并恢复默认颜色 */ .startMonth::before, .startMonth::after { text-decoration: none; color: initial; /* 这里可以替换为你需要的原始文本颜色,比如 #333 */ }
原理说明:
- 伪元素默认会继承父元素的
text-decoration和color属性,所以之前的设置会让"Special Offer "和" FREE"也带上删除线和红色。 - 通过为伪元素单独设置
text-decoration: none可以取消删除线,color: initial会将颜色重置为浏览器默认值(或者你可以指定具体颜色,比如和页面其他文本一致的颜色)。
如果你的伪元素原本有自定义颜色,只需要把color: initial替换成对应的颜色值即可,比如color: #000。
内容的提问来源于stack exchange,提问作者John Kendall
相关产品推荐
相关产品推荐

