How can I conditionally set the font size of an element, only if the parents font size is not explicitly set (i.e. font-size is 'inherit')?

huangapple go评论70阅读模式
英文:

How can I conditionally set the font size of an element, only if the parents font size is not explicitly set (i.e. font-size is 'inherit')?

问题

Set <p> 的字体大小为 14px,仅当 <div> 的字体大小未设置(即为 font-size:inherit)时。

英文:
<div>
  <p>
    Hello
  </p>
</div>

How to set <p>s font-size to 14px only if <div>s font-size is not set (i.e. is font-size:inherit)?

答案1

得分: 3

使用 CSS 变量可能会这样:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->
div {
  font-size: var(--f);
}
div p {
  font-size: var(--f, 14px);
}
/* 如果 --f 被设置,两者将具有相同的字体大小(类似于继承)
   如果没有设置,将使用 14px 作为备用值
*/

<!-- language: lang-html -->
<div style="--f: 20px">
  <p>
    你好
  </p>
</div>

<div>
  <p>
    你好
  </p>
</div>

<!-- end snippet -->
英文:

Using CSS variables maybe:

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-css -->

div {
  font-size: var(--f);
}
div p {
  font-size: var(--f,14px);
}
/* if --f is set both will have the same font (similar to inherit)
   if not, the 14px will be used as fallback
*/

<!-- language: lang-html -->

&lt;div style=&quot;--f: 20px&quot;&gt;
  &lt;p&gt;
    Hello
  &lt;/p&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;p&gt;
    Hello
  &lt;/p&gt;
&lt;/div&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年5月25日 16:14:43
  • 转载请务必保留本文链接:https://go.coder-hub.com/76330200.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定