我们在用元素.style.样式名操作的是内联样式,而我们无法读取到样式表的样式,所以我们需要用到其他的方法。
1.getComputedStyle()
2.currentStyle()
这两种方法方法用于获取指定元素的 CSS 样式,而currentStyle()适用于IE浏览器。
**getComputedStyle()**适用于大部分浏览器,且里面的有两个参数,该方法属于window的可以直接使用,并且会返回一个对象var obj = getComputedStyle(元素,null);
调用宽度的时候alert(obj.width);
window.getComputedStyle(element, pseudoElement)
element: 必需,要获取样式的元素。
pseudoElement: 可选,伪类元素,当不查询伪类元素的时候可以忽略或者传入 null。
而currentStyle()可以直接用 元素.currentStyle.样式名直接获取
为了兼容IE 我们可以自己创建一个获取元素样式的函数,便于后期直接使用。
function getStyle( obj , name){
//obj 为元素 name为元素的样式
if(window.getComputedStyle){
//大部分浏览器
return getComputedStyle(obj,null)[name];
}else{
//IE
return obj.currentStyle[name];
}
}