【发布时间】:2021-12-06 02:48:00
【问题描述】:
如果按钮中有一个外部图标,我正在尝试为按钮提供一些填充。如果有外部图标,我想给按钮padding-right: 30pxexample。但是,如果没有外部图标,则按钮不应获得 30 像素的填充。目前,即使没有外部图标,我仍然会出现 30px padding-right 的问题。 Example
有没有办法根据外部图标是否存在来切换 CSS?
这是 HTML 和 CSS:
.btn {
border-radius: 3px;
border: none;
height: 45px;
font-weight: bold;
font-size: 18px;
background: #FFFFF;
color: #515151;
margin-top: 19px;
padding-top: 12px;
border: solid #FFFFFF 1px;
}
<a href="......." title="Hello World" class="btn btn-default" role="button" target="_blank">
Button Title
<svg class="svg-inline--fa fa-external-link fa-w-16 pull-right" title="external link icon" aria-labelledby="svg-inline--fa-title-u1BaVqD2mZ2F" data-prefix="far" data-icon="external-link" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<title id="svg-inline--fa-title-u1BaVqD2mZ2F">external link icon</title>
</svg>
<!-- <i class="far fa-external-link pull-right" title="external link icon"></i> -->
</a>
【问题讨论】:
-
请注意:
background: #FFFFF;应该是background: #FFFFFF;。white的十六进制值具有3或6、f的在里面。 -
你基本上想要
:has(),但这还没有真正的浏览器支持。
标签: javascript html jquery css css-selectors