首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getComputedStyle()意外行为

getComputedStyle()意外行为
EN

Stack Overflow用户
提问于 2016-01-31 04:32:02
回答 1查看 108关注 0票数 2

在下面的代码示例中,我希望看到控制台日志中的下划线。相反,我看到none

如何从underline中的text-decoration属性提取#one .yo

代码语言:javascript
复制
setTimeout(function() {
  var $el = document.querySelectorAll('#one .yo')[0];
  var css = getComputedStyle($el).cssText;

  console.log("text-decoration is set to:");
  console.log(/text\-decoration\: ([^\;]+)/g.exec(css)?.[1] + '!');
  console.dir($el);
  console.log(window.getComputedStyle($el));

  var $el2 = document.querySelectorAll('#two .yo')[0];
  $el2.style.cssText = css;
}, 750);
代码语言:javascript
复制
* {
  margin: 0;
  padding: 0;
}
#one {
  color: blue;
  text-decoration: underline;
}
代码语言:javascript
复制
<div id="one">
  <div class="yo">what's up</div>
</div>

<div id="two">
  <div class="yo">what's up</div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-31 05:00:42

虽然它会影响它的子类,但是父元素的text-decoration样式属性是非遗传 (粗体是我的):

文本装饰是,技术上不是继承的,但效果类似于继承。如果将它们设置在内联元素上,则它们适用于该元素生成的所有框。(...)

这看起来很奇怪,因为其他类似的属性,如font-size继承,但这正是它的方式(参见表这里和/或这里中的"Inherited: no“)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35110362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档