理解DOM如何操作CSS样式

html-css011

理解DOM如何操作CSS样式,第1张

我们知道DOM部分其实就是浏览器各大厂商提供的一些列方法和属性的集合,这一系列的属性和方法也被称为接口,这些接口可以让我们更加方便的操作HTML和XML,注意我没有说CSS哦

但我们经常会听到js操作css或者脚本化css的说法,那是怎么回事呢?

其实,DOM中提供的方法能操作HTML的所有内容,其中包括能操作元素的属性,而元素的属性中又恰好包含style属性,style属性表示的是该元素行间样式,而且行间样式的权重是1000。所以一般我们通过DOM操作元素的属性style就间接的改变了该元素的CSS样式。

DOM操作CSS样式其实质是通过DOM控制行间样式,从而达到改变样式的效果。这只能说间接的操作CSS,并非真实的直接操作CSS文件

通过DOM元素的style读写CSS行间样式

格式:ele.style.prop

注:

1. 可读可写行间样式,没有兼容性问题

2. 碰到保留字属性,前面应添加css;例如:float-->cssFloat

3. 复合属性必须拆解

4. 组合单词变成小驼峰式

5. 写入的值必须是字符串格式

用法比较简单,我们深入看看style吧

先随便来两个元素,并选中

我们发现,dom元素的原型的原型都是HTMLElement。于是猜测,style就是定义在HTMLElement的原型链上,所以凡是DOM元素都有style属性。

通过hasOwnProperty进一步验证看看是否就在HTMLElment的原型上

明白style定义在哪里之后,再来看style里面是什么?

目前也只有这种方式能修改CSS样式。

下面再来了解查询样式的方式:

window.getComputedStyle(ele,null)

IE使用另外一直方式代替

ele.currentStyle

最后我们封装一个所有浏览器都能用的方法:

标签就是html中的规定的一种固定写法 例如:<div></div><span></span><h5></h5>等等这种成对出现的标签...还有少量的这种

但标记标签。这些标签可以构成一个简单的没有任何样式的网页...当然很丑...这时候就需要我们的CSS(层叠样式表)登场了...

给按钮添加css样式的方法:

添加方法:

1、.btn {BORDER-RIGHT: #7b9ebd 1px solid右边线

2、PADDING-RIGHT: 2px内边距 右

3、BORDER-TOP: #7b9ebd 1px solid上边线

4、PADDING-LEFT: 2px内边距 左

5、FONT-SIZE: 12px文字大小

6、BORDER-LEFT: #7b9ebd 1px solid左边线

7、CURSOR: hand鼠标移上去时,变成手形。

8、COLOR: black颜色黑 (表示文字颜色)

9、PADDING-TOP: 2px内边距 上

10、BORDER-BOTTOM: #7b9ebd 1px solid }底边线

扩展资料

CSS样式部分

大小 {font-size: 12px},x-large(特大) xx-small(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD

样式 {font-style: oblique}(偏斜体) italic(斜体) normal(正常)

行高 {line-height: normal}(正常) 单位:PX、PD、EM

粗细 {font-weight: bold}(粗体) lighter(细体) normal(正常)

变体 {font-variant: small-caps}(小型大写字母) normal(正常)

大小写 {text-transform: capitalize}(首字母大写) uppercase(大写) lowercase(小写) none(无)

修饰 {text-decoration: underline}(下划线) overline(上划线) line-through(删除线) blink(闪烁)

常用字体: (font-family)

"Courier New", Courier, monospace, "Times New Roman", Times, serif, Arial, Helvetica, sans-serif, Verdana

背景属性: (background)

色彩 {background-color: #FFFFFF}

图片 {background-image: url()}

重复 {background-repeat: no-repeat}

滚动 {background-attachment: fixed}(固定) scroll(滚动)

位置 {background-position: left}(水平) top(垂直)

字间距 {letter-spacing: normal} 数值 /*这个属性有用,多实践下*/

对齐 {text-align: justify}(两端对齐) left(左对齐) right(右对齐) center(居中)