没有办法在CSS中表达.
The status text inherits its appearance from the global style sheet and does not know font size, family, line height, or anything.
这不太正确.因为你的状态div中的文本通过级联继承其字体大小,行高等的值,所以它“知道”这些,并将相应地进行风格化.问题是CSS不提供使用这些值进行计算的方式.当声明新属性时,它们才被隐含考虑.
通过JavaScript实现您想要的唯一方法.我用一些jQuery做了一个小提琴here.在我的例子中,一个简单的身体宣言充当祖先.在body CSS中使用不同的font-size和line-height值运行它.
在实践中,我将这与您的方法结合作为后台的方案
> JavaScript被禁用>相关祖先的线高度以百分比值(后代继承计算值)给出,您决定更改状态字体大小.示例:祖先的字体大小为16像素,其行高为120%(〜19像素).现在,如果你决定你的状态需要更多的关注并声明.progressStatus {font-size:24px;},它将继承计算的行高(仍然是19px).所以你的行高比文本大小小.明确声明“半解”中的线高度可以防止发生这种情况.