美文网首页
js获取外部css样式方法。

js获取外部css样式方法。

作者: K891V | 来源:发表于2018-03-07 14:14 被阅读0次

今天需要js获取css外联样式值,长时间不用,忘了怎么拼写了(给自己找个不要脸的理由);咳咳。。。不管怎么说,发现了一篇不错的文章,主要是简单易懂,没有那么多乱七八糟的原理,推荐一下。
当然需要更深层次的原理的话,在这里

样式表有三种方式:

内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有效。 (也称作“内联样式”)

内部样式(internal Style Sheet):是写在HTML的里面的,内部样式只对所在的网页有效。

外部样式表(External Style Sheet):如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。

最常用的是style属性,在JavaScript中,通过document.getElementById(id).style.XXX就可以获取到XXX的值,但意外的是,这样做只能取到通过内嵌方式设置的样式值,即style属性里面设置的值。

解决方案:引入currentStyle,runtimeStyle,getComputedStyle style 标准的样式,可能是由style属性指定的!

runtimeStyle 运行时的样式!如果与style的属性重叠,将覆盖style的属性!

currentStyle 指 style 和 runtimeStyle 的结合! 通过currentStyle就可以获取到通过内联或外部引用的CSS样式的值了(仅限IE) 如:document.getElementById("test").currentStyle.top

要兼容FF,就得需要getComputedStyle 出马了

注意: getComputedStyle是firefox中的, currentStyle是ie中的. 比如说

<style>
#mydiv {
     width : 300px;
}
</style>

<script>
var mydiv = document.getElementById('mydiv');
if(mydiv.currentStyle) {
      var width = mydiv.currentStyle['width'];
      alert('ie:' + width);
} else if(window.getComputedStyle) {
      var width = window.getComputedStyle(mydiv , null)['width'];
      alert('firefox:' + width);
}
</script> 

另外火狐谷歌等还可以通过下面的方式获取

document.defaultView.getComputedStyle(mydiv,null).width;
window.getComputedStyle(mydiv , null).width;

我的火狐是58.0.2版本,那么测试的时候比如想要获取背景颜色,那么必须是这样写backgroundColor

window.getComputedStyle(document.getElementById('gameView'),null).backgroundColor

只写background的话谷歌浏览器会把所有background的属性输出一遍,不管你之前有没有定义。
但是火狐浏览器却什么都不会输出。
这种情况,包括margin,padding这些样式。

关于getComputedStyle的参数等更多详细信息,可以移步 这里这里这里

相关文章

  • js获取外部css样式方法。

    今天需要js获取css外联样式值,长时间不用,忘了怎么拼写了(给自己找个不要脸的理由);咳咳。。。不管怎么说,发现...

  • 每天get几个JavaScript小技巧(一)

    加载 JS (外部)/ CSS(外部) / style 获取URL参数

  • js实现vue组件打印,选择内容不打印

    js方法,获取dom,用windows方法来打印。 css方法 不需要打印的用css样式来标记no-print使用...

  • jQuery获取设置样式

    css();方法 获取或设置样式 对以下html标签进行样式的获取和设置 获取样式 css();方法设置参数,...

  • 脚本化初识

    一、脚本化:用JS去控制css样式1、获取css样式(1)获取行内样式var style=div.stylesty...

  • js使用getComputedStyle()方法获取css属性值

    通过js获取元素css样式的方法1.obj.style这个方法只能获取写在html标签的写在style属性中的值,...

  • jQuery(三)_设置CSS

    jQuery(三)_设置CSS 获取css样式相当于js中计算后的样式getComputedStyle(box)....

  • JS语法

    一、CSS和JS在网页中的放置顺序是怎样的?js引入样式:1、内部js样式 alert(1); 2、引入外部js样...

  • 关于CSS

    CSS 加载方式 css引用方式分为以下三种: 外部样式 内部样式 内联样式 外部样式 外部式css样式就是把cs...

  • 二级联动组件

    HTML结构 js Data数据 js 的methods方法 css样式

网友评论

      本文标题:js获取外部css样式方法。

      本文链接:https://www.haomeiwen.com/subject/ptcjfftx.html