我正在尝试为目标为“_blank”的每个超链接向::after
伪元素添加内容。
但是,各种a
元素各有不同的大小,我希望::after
元素中的内容与之一致。
例如,如果a
元素具有font-size: 10px;
,我希望添加的内容具有font-size: 8px;
- 父内容大小的80%的常量比例。
如果不向每个a
元素添加类,CSS中是否有一种方法可以采用继承的字体大小并对其进行缩放?
a[target=_blank]::after {
content: " bar";
font-size: 10px;
}
<a href="#">Foo</a>
<br>
<a href="#" target="_blank">Foo</a>
答案 0 :(得分:2)
您可以使用em
而不是px
。 em
个元素与其容器相关。 font-size: 1em;
表示其父亲font-size
的字体大小为100%。如果您的父元素的font-size
为16px
而您给其中一个孩子font-size
1em
,则字体大小将计算为{{ 1}}(16px
=父级字体大小的100%)取决于其父级的字体大小。
这是一个演示:
1em
&#13;
a {
font-size: 20px;
}
a[target="_blank"]::after {
content: ' bar';
font-size: 0.8em; /*80% of it's parent*/
}
&#13;
答案 1 :(得分:1)
0.8em =当前font-size的80%:
a[target="_blank"] {
font-size: 25px;
}
a[target=_blank]::after {
content: " bar";
font-size: 0.8em;
}
<a href="#">Foo</a>
<br>
<a href="#" target="_blank">Foo</a>