DOM 是不能直接修改 CSS 层叠样式表,只能修改标签的 style 属性
<html>
<style type="text/css">
div {
width: 100px;
height: 100px;
background-color: green;
}
</style>
<body>
<div></div>
<script type="text/javascript">
var oDiv = document.getElementsByTagName('div')[0];
</script>
</body>
</html>
不能操作 CSS,也不能访问 CSS (内嵌样式、外部引用样式),
DOM 是通过标签 style 样式(只能访问行内样式)属性来改变元素的样式
elem.style.xxx
DOM 使用 style 属性来间接修改元素样式,属性的名字要使用小驼峰的方式
oDiv.style.width = "200px";
oDiv.style.height = "200px";
oDiv.style.backgroundColor = "200px";
- style 这个属性是可读可写 (再次强调只针对行内样式)
- 属性的值是字符串
- 复合值一定要拆解赋值
- oDiv.style.border = ‘5px solid #000’ 不建议这样写
- 应该能过拆解的方式 (非常重要)
- oDiv.style.borderWidth = ‘5px’;
oDiv.style.borderStyle = ‘solid’;
oDiv.style.borderColor = ‘#000’;
- oDiv.style.borderWidth = ‘5px’;
- 存在保留字,要在保留字前加上 css
- float(关于 CSS 目前仅有)属性应该为 cssFloat (规范)
- oDiv.style.cssFloat = ‘left’;
- float(关于 CSS 目前仅有)属性应该为 cssFloat (规范)
oDiv.style -> CSSStyleDeclaration
window.getComputedStyle
返回元素样式
显示值
- 默认值(没有设置的值)
- 值为绝对值
- 如颜色为 #000 会转为 rbga(0,0,0,0)
DOM2 和 DOM3
计算样式是只读的
IE8 以下兼容
不支持,使用 elem.currentStyle,要封装兼容性方法
DOM兼容性