- Javascript 基础教程
- Javascript - 首页
- JavaScript - 路线图
- JavaScript - 概述
- JavaScript - 特性
- JavaScript - 启用
- JavaScript - 放置
- JavaScript - 语法
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - 注释
- JavaScript - 变量
- JavaScript - let 语句
- JavaScript - 常量
- JavaScript - 数据类型
- JavaScript - 类型转换
- JavaScript - 严格模式
- JavaScript - 保留关键字
- JavaScript 运算符
- JavaScript - 运算符
- JavaScript - 算术运算符
- JavaScript - 比较运算符
- JavaScript - 逻辑运算符
- JavaScript - 按位运算符
- JavaScript - 赋值运算符
- JavaScript - 条件运算符
- JavaScript - typeof 运算符
- JavaScript - 空值合并运算符
- JavaScript - delete 运算符
- JavaScript - 逗号运算符
- JavaScript - 分组运算符
- JavaScript - Yield 运算符
- JavaScript - 展开运算符
- JavaScript - 幂运算符
- JavaScript - 运算符优先级
- JavaScript 控制流
- JavaScript - If...Else
- JavaScript - While 循环
- JavaScript - For 循环
- JavaScript - For...in
- Javascript - For...of
- JavaScript - 循环控制
- JavaScript - Break 语句
- JavaScript - Continue 语句
- JavaScript - Switch Case
- JavaScript - 用户定义迭代器
- JavaScript 函数
- JavaScript - 函数
- JavaScript - 函数表达式
- JavaScript - 函数参数
- JavaScript - 默认参数
- JavaScript - Function() 构造函数
- JavaScript - 函数提升
- JavaScript - 自执行函数
- JavaScript - 箭头函数
- JavaScript - 函数调用
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - 闭包
- JavaScript - 变量作用域
- JavaScript - 全局变量
- JavaScript - 智能函数参数
- JavaScript 对象
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - Strings
- JavaScript - Arrays
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Handler
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Sets
- JavaScript - WeakSet
- JavaScript - Maps
- JavaScript - WeakMap
- JavaScript - 可迭代对象
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - 模板字面量
- JavaScript - 带标签的模板
- 面向对象 JavaScript
- JavaScript - 对象
- JavaScript - 类
- JavaScript - 对象属性
- JavaScript - 对象方法
- JavaScript - 静态方法
- JavaScript - 显示对象
- JavaScript - 对象访问器
- JavaScript - 对象构造函数
- JavaScript - 原生原型
- JavaScript - ES5 对象方法
- JavaScript - 封装
- JavaScript - 继承
- JavaScript - 抽象
- JavaScript - 多态
- JavaScript - 解构赋值
- JavaScript - 对象解构
- JavaScript - 数组解构
- JavaScript - 嵌套解构
- JavaScript - 可选链
- JavaScript - 全局对象
- JavaScript - Mixins
- JavaScript - 代理
- JavaScript 版本
- JavaScript - 历史
- JavaScript - 版本
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript 异步
- JavaScript - 异步
- JavaScript - 回调函数
- JavaScript - Promises
- JavaScript - Async/Await
- JavaScript - 微任务
- JavaScript - Promise 化
- JavaScript - Promises 链式调用
- JavaScript - 定时事件
- JavaScript - setTimeout()
- JavaScript - setInterval()
- JavaScript Cookies
- JavaScript - Cookies
- JavaScript - Cookie 属性
- JavaScript - 删除 Cookies
- JavaScript 浏览器 BOM
- JavaScript - 浏览器对象模型
- JavaScript - Window 对象
- JavaScript - Document 对象
- JavaScript - Screen 对象
- JavaScript - History 对象
- JavaScript - Navigator 对象
- JavaScript - Location 对象
- JavaScript - Console 对象
- JavaScript Web APIs
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript 事件
- JavaScript - 事件
- JavaScript - DOM 事件
- JavaScript - addEventListener()
- JavaScript - 鼠标事件
- JavaScript - 键盘事件
- JavaScript - 表单事件
- JavaScript - Window/Document 事件
- JavaScript - 事件委托
- JavaScript - 事件冒泡
- JavaScript - 事件捕获
- JavaScript - 自定义事件
- JavaScript 错误处理
- JavaScript - 错误处理
- JavaScript - try...catch
- JavaScript - 调试
- JavaScript - 自定义错误
- JavaScript - 扩展错误
- JavaScript 重要关键字
- JavaScript - this 关键字
- JavaScript - void 关键字
- JavaScript - new 关键字
- JavaScript - var 关键字
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM 方法和属性
- JavaScript - DOM 文档
- JavaScript - DOM 元素
- JavaScript - DOM 属性 (Attr)
- JavaScript - DOM 表单
- JavaScript - 更改 HTML
- JavaScript - 更改 CSS
- JavaScript - DOM 动画
- JavaScript - DOM 导航
- JavaScript - DOM 集合
- JavaScript - DOM NodeList
- JavaScript - DOM DOMTokenList
- JavaScript 杂项
- JavaScript - Ajax
- JavaScript - 异步迭代
- JavaScript - Atomics 对象
- JavaScript - Rest 参数
- JavaScript - 页面重定向
- JavaScript - 对话框
- JavaScript - 页面打印
- JavaScript - 验证
- JavaScript - 动画
- JavaScript - 多媒体
- JavaScript - 图像地图
- JavaScript - 浏览器
- JavaScript - JSON
- JavaScript - 多行字符串
- JavaScript - 日期格式
- JavaScript - 获取日期方法
- JavaScript - 设置日期方法
- JavaScript - 模块
- JavaScript - 动态导入
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - 浅拷贝
- JavaScript - 调用栈
- JavaScript - 引用类型
- JavaScript - IndexedDB
- JavaScript - Clickjacking 攻击
- JavaScript - 柯里化
- JavaScript - 图形
- JavaScript - Canvas
- JavaScript - 防抖
- JavaScript - 性能
- JavaScript - 样式指南
JavaScript - 更改 CSS
使用 JavaScript 更改 CSS
JavaScript 允许您动态更改 HTML 元素的CSS。
当 HTML 在浏览器中加载时,它会创建一个DOM 树。DOM 树以对象格式包含每个 HTML 元素。此外,每个 HTML 元素对象都包含“style”对象作为属性。在这里,“style”对象包含各种属性,例如 color、backgroundcolor 等,用于更改或获取元素的样式。
因此,您可以使用“style”对象的各种属性来更改特定 HTML 元素的样式。
语法
请按照以下语法更改 HTML 元素的 CSS。
element.style.property = value;
在上述语法中,“element”是您需要从 DOM 树中访问的 HTML 元素。“property”是 CSS 属性,“value”可以是静态的或动态的。
例如,您可以通过设置其 Style 对象上的相应属性来更改元素的背景颜色或字体大小。这种方法的最佳用途是实现动态行为,例如动画、过渡和用户界面的实时更新。让我们在实践中看看这一点 -
欢迎来到 Tutorialspoint
示例:更改 HTML 元素的样式
我们在下面的代码中对 div 元素应用了初始样式。在 JavaScript 中,我们使用 style 对象的“backgroundColor”属性更改 div 元素的背景颜色。
<!DOCTYPE html> <html> <head> <style> div { background-color: blue; width: 700px; height: 100px; color: white; } </style> </head> <body> <div id = "square"> Changing the color of this Div. </div> <br> <button onclick="changeColor()"> Change Color </button> <script> function changeColor() { let square = document.getElementById('square'); square.style.backgroundColor = 'red'; } </script> </body> </html>
事件触发时更改元素的样式
您还可以在特定事件触发时更改元素的样式。
示例
在下面的代码中,我们向<div>元素添加了“click”事件。当用户单击按钮时,它会更改 div 元素的背景颜色。
<!DOCTYPE html> <html> <head> <style> div { width: 700px; height: 100px; color: white; background-color: orange; } </style> </head> <body> <div id = "square"> Click Me </div> <br> <script> const square = document.getElementById('square'); square.addEventListener('click', () => { square.style.backgroundColor = 'green'; square.style.fontSize = "25px"; }); </script> </body> </html>
动态更改 HTML 元素的 CSS
您还可以动态更改 HTML 元素的 CSS。您可以使用变量分配值。
示例
我们在下面的代码中向<div>元素添加了默认样式。
此外,我们还创建了多个单选按钮。当用户选择任何单选按钮时,它会相应地更改 div 元素的样式。
<!DOCTYPE html> <html> <head> <style> p { width: 700px; height: 100px; color: white; background-color: blue; } </style> </head> <body> <div><p id = "square">Select any of the following colors to change the background color</p></div> <div>Yellow: <input type = "radio" id = "yellow" name = "color"></div> <div>Green: <input type = "radio" id = "green" name = "color"></div> <div>Red: <input type = "radio" id = "red" name = "color"></div> <script> let square = document.getElementById('square'); // Changing the style when radio button changes let colors = document.getElementsByName('color'); for (let i = 0; i < colors.length; i++) { colors[i].addEventListener('change', function () { square.style.backgroundColor = this.id; }); } </script> </body> </html>
JavaScript DOM Style 对象属性列表
以下是 JavaScript DOM Style 对象提供的属性列表 -
序号 | 属性和描述 |
---|---|
1 | alignContent
当它们没有使用所有可用空间时,它会在交叉轴或垂直轴上对弹性容器的项目进行对齐。 |
2 | alignItems
它设置弹性容器内项目的默认对齐方式。 |
3 | alignSelf
它设置弹性容器内单个弹性项目的默认跨轴对齐方式。 |
4 | animation
它定义所需的样式。 |
5 | animationDelay
它设置动画开始后的延迟时间(以秒或毫秒为单位)。 |
6 | animationDirection
它设置动画的方向。 |
7 | animationDuration
它指定动画完成一个循环所需的时间。 |
8 | animationFillMode
它指定动画未播放、已结束或包含延迟时元素的样式。 |
9 | animationIterationCount
它设置或返回动画应播放的次数。 |
10 | animationName
它获取或设置 @keyframes 动画的动画名称。 |
11 | animationTimingFunction
它指定动画的速度曲线。 |
12 | animationPlayState
它指定动画是正在运行还是已暂停。 |
13 | background
它设置或返回元素最多 8 个单独的背景属性。 |
14 | backgroundAttachment
它设置或返回背景图像是否应与内容一起滚动或保持固定。 |
15 | backgroundColor
它设置或返回元素的背景颜色。 |
16 | backgroundImage
它设置或返回元素的背景图像。 |
17 | backgroundPosition
它设置或返回元素的背景图像的位置。 |
18 | backgroundRepeat
它设置或返回如何重复背景图像。 |
19 | backgroundClip
设置或返回背景的绘画区域。 |
20 | backgroundOrigin
设置或返回背景图像相对于填充、边框和内容的相对位置。 |
21 | backgroundSize
设置或返回背景图像的大小。 |
22 | backfaceVisibility
指定元素在不面向屏幕时是否可见。 |
23 | border
设置或返回元素的边框属性。 |
24 | borderBottom
设置或返回元素的下边框属性。 |
25 | borderBottomColor
设置或返回元素下边框的颜色。 |
26 | borderBottomLeftRadius
设置或返回左下角边框的半径。 |
27 | borderBottomRightRadius
设置或返回右下角边框的半径。 |
28 | borderBottomStyle
设置或返回元素的下边框样式。 |
29 | borderBottomWidth
设置或返回元素的下边框宽度。 |
30 | borderCollapse
指定表格单元格元素是否应该具有单独的边框,或者共享一个合并为单个边框的边框。 |
31 | borderColor
设置或返回元素的边框颜色。 |
32 | borderImage
设置或返回元素的边框图像。 |
33 | borderImageOutset
指定边框图像区域超出边框框的扩展量。 |
34 | borderImageRepeat
设置或返回图像边框是否应圆角、重复或拉伸。 |
35 | borderImageSlice
指定图像边框的内偏移量。 |
36 | borderImageSource
设置或返回用作元素边框图像的图像源。 |
37 | borderImageWidth
设置或返回图像边框的宽度。 |
38 | borderLeft
设置或返回元素的左边框属性。 |
39 | borderLeftColor
设置或返回元素左边框的颜色。 |
40 | borderLeftStyle
设置或返回元素的左边框样式。 |
41 | borderLeftWidth
设置或返回元素的左边框宽度。 |
42 | borderRadius
设置或返回四个不同的边框半径属性。 |
43 | borderRight
设置或返回元素的右边框属性。 |
44 | borderRightColor
设置或返回元素右边框的颜色。 |
45 | borderRightStyle
设置或返回元素的右边框样式。 |
46 | borderRightWidth
设置或返回元素的右边框宽度。 |
47 | borderSpacing
设置或返回表格中单元格之间的间距。 |
48 | borderStyle
设置或返回元素的边框样式。 |
49 | borderTop
设置或返回元素的上边框属性。 |
50 | borderTopColor
设置或返回元素上边框的颜色。 |
51 | borderTopLeftRadius
设置或返回左上角边框的半径。 |
52 | borderTopRightRadius
设置或返回右上角边框的半径。 |
53 | borderTopStyle
设置或返回元素的上边框样式。 |
54 | borderTopWidth
设置或返回元素的上边框宽度。 |
55 | borderWidth
设置或返回元素的边框宽度。 |
56 | bottom
设置或返回定位元素的底部位置。 |
57 | boxShadow
设置或获取元素框架周围或内部的阴影。 |
58 | boxSizing
指定元素的总宽度和高度的计算方式。 |
59 | captionSide
设置或返回表格标题的位置。 |
60 | caretColor
设置或获取任何可编辑元素(在输入或区域中)的光标颜色。 |
61 | clear
设置或获取特定元素相对于浮动对象的相对位置。 |
62 | clip
设置或获取定位元素的可见部分。 |
63 | color
设置或获取所选元素的文本颜色。 |
64 | columnCount
指定元素应划分为的列数。 |
65 | columnFill
指定内容在被分成多列时如何在列中排列。 |
66 | columnGap
指定列之间的间隙。 |
67 | columnRule
设置或返回列规则属性。 |
68 | columnRuleColor
设置或获取列之间的规则颜色。 |
69 | columnRuleStyle
设置或获取列之间的规则样式。 |
70 | columnRuleWidth
设置或获取列之间的规则宽度。 |
71 | columns
设置列宽和列数。 |
72 | columnSpan
定义元素应跨越的列数。 |
73 | columnWidth
设置或获取列的宽度。 |
74 | counterIncrement
定义在任何选择器出现的每次出现时要增加的计数器数量。 |
75 | counterReset
创建或重置计数器。 |
76 | cursor
设置或获取要为鼠标指针显示的光标类型。 |
77 | direction
设置或获取元素的文本方向。 |
78 | display
设置或返回元素的显示类型。 |
79 | emptyCells
设置或获取是否显示空单元格的边框和背景属性。 |
80 | filter
向图像添加滤镜或视觉效果。 |
81 | flex
设置或获取是否显示空单元格的边框和背景属性。 |
82 | flexBasis
设置或返回弹性项目的初始长度。 |
83 | flexDirection
设置或返回弹性元素的放置方向。 |
84 | flexFlow
指定弹性项目的排列方向,flex-wrap指定是否应包装弹性项目。 |
85 | flexGrow
指定项目相对于同一容器内其他弹性项目的增长。 |
86 | flexShrink
指定项目相对于同一容器内其他弹性项目的收缩程度。 |
87 | flexWrap
指定是否应包装弹性项目。 |
88 | cssFloat
设置或返回元素的水平对齐方式。 |
89 | font
设置或返回字体属性。 |
90 | fontFamily
设置或返回元素中文本的字体系列名称和通用系列名称列表。 |
91 | fontSize
设置或返回文本的字体大小。 |
92 | fontStyle
设置或返回元素的字体样式。 |
93 | fontVariant
设置或返回小写和大写字母的文本。 |
94 | fontWeight
设置或返回字体粗细属性,该属性指定单词中字符的粗细。 |
95 | fontSizeAdjust
设置或返回文本的字体纵横比值。 |
96 | height
设置或返回元素的高度。 |
97 | isolation
指定元素是否必须创建一个新的堆叠内容。 |
98 | justifyContent
设置或返回弹性项目在主轴上的对齐方式,或者当它们没有使用所有可用空间时的水平对齐方式。 |
99 | left
设置或返回定位元素的左侧位置。 |
100 | letterSpacing
设置或返回文本字符之间的间距。 |
101 | lineHeight
设置或返回文本中行之间的距离。 |
102 | listStyle
设置或返回以下三个属性。 |
103 | listStylePosition
定位列表项标记。 |
104 | listStyleImage
将图像设置为列表项标记。 |
105 | listStyleType
设置或获取列表项的标记类型。 |
106 | margin
设置或返回元素的边距。 |
107 | marginBottom
设置或返回元素的下边距。 |
108 | marginLeft
设置或返回元素的左边距。 |
109 | marginRight
设置或返回元素的右边距。 |
110 | marginTop
设置或返回元素的上边距。 |
111 | maxHeight
设置或返回元素的最大高度。 |
112 | maxWidth
设置或返回元素的最大宽度。 |
113 | minHeight
设置或返回元素的最小高度。 |
114 | minWidth
设置或返回元素的最小宽度。 |
115 | objectFit
设置或返回如何调整图像或视频的大小以适应其容器。 |
116 | objectPosition
定义图像或视频应在其内容框中如何定位。 |
117 | opacity
设置或返回元素的不透明度级别或透明度级别,其中 0 表示完全透明,1 表示完全不透明。 |
118 | order
设置或返回弹性项目相对于同一容器中弹性项目的顺序。 |
119 | orphans
设置或返回元素在页面底部可见的最小行数。 |
120 | outline
设置或返回以下三个轮廓属性。 |
121 | outlineColor
设置或返回元素周围的轮廓颜色。 |
122 | outlineOffset
设置或返回轮廓偏移量,并在边框边缘之外绘制它。 |
123 | outlineStyle
设置或返回元素周围的轮廓样式。 |
124 | outlineWidth
设置或返回元素的轮廓宽度。 |
125 | overflow
决定如何处理不适合元素框的内容。 |
126 | overflowX
如果内容不适合元素框,则决定如何处理内容的左右边缘。 |
127 | overflowY
如果内容不适合元素框,则决定如何处理内容的上下边缘。 |
128 | padding
设置或返回元素的填充。 |
129 | paddingBottom
设置或返回元素的下填充。 |
130 | paddingLeft
设置或返回元素的左填充。 |
131 | paddingRight
设置或返回元素的右填充。 |
132 | paddingTop
设置或返回元素的上填充。 |
133 | pageBreakAfter
在打印或打印预览期间设置或返回元素之后的分页符行为。 |
134 | pageBreakBefore
在打印或打印预览期间设置或返回元素之前的分页符行为。 |
135 | pageBreakInside
在打印或打印预览期间设置或返回元素内部的分页符行为。 |
136 | perspective
它指定元素与 z=0 平面的距离,以提供元素的 3D 视图。 |
137 | perspectiveOrigin
它使用 x 轴和 y 轴设置 3D 元素的位置。 |
138 | position
它设置或返回任何元素上使用的定位方法类型。 |
139 | quotes
它设置或返回嵌入引号的引号类型。 |
140 | resize
它指定用户是否可以调整元素的高度和宽度或不能。 |
141 | right
它设置或返回已定位元素的右侧位置,包括填充、滚动条、边框和边距。 |
142 | scrollBehavior
当用户点击可滚动框内的链接时,它指定平滑滚动效果而不是立即滚动。 |
143 | tableLayout
它设置或返回 HTML 文档中表格单元格、行和列的布局方式。 |
144 | tabSize
它设置或返回制表符字符使用的空格长度。 |
145 | textAlign
它设置或返回块级元素内文本内容的水平对齐方式。 |
146 | textAlignLast
它设置或返回文本最后一行的对齐方式。 |
147 | textDecoration
它设置 textDecorationLine、textDecorationStyle 和 textDecorationColor 属性。 |
148 | textDecorationColor
它设置或返回文本装饰(如上划线、下划线和删除线)的颜色。 |
149 | textDecorationLine
它指定装饰将具有的线条类型。 |
150 | textDecorationStyle
它设置或返回文本装饰线的样式,例如可以显示为实线、虚线、点线或波浪线。 |
151 | textIndent
它设置或返回文本第一行的缩进。 |
152 | textOverflow
它指定文本超出包含元素时的行为。 |
153 | textShadow
它设置或返回一个或多个文本阴影效果。 |
154 | textTransform
它设置或返回文本的大小写。 |
155 | top
它设置或返回已定位元素的顶部位置,包括边距、边框、填充和滚动条。 |
156 | transform
它应用 2D 或 3D 变换来变换对象。 |
157 | transformOrigin
它允许用户更改已变换元素的位置。 |
158 | transformStyle
它指定子元素是在 3D 空间中定位还是相对于父元素平面展平。 |
159 | transition
当悬停在任何块级元素上时,它在更改其 CSS 属性时添加类似动画的效果。 |
160 | transitionDelay
它设置或返回过渡效果开始之前的延迟时间(以秒或毫秒为单位)。 |
161 | transitionDuration
它设置或返回过渡效果完成所需的时间量(以秒或毫秒为单位)。 |
162 | transitionProperty
它指定将应用过渡效果的 CSS 属性名称。 |
163 | transitionTimingFunction
它设置或返回过渡效果的速度曲线。 |
164 | unicodeBidi
它指定如何显示文档中的双向文本。 |
165 | userSelect
它设置或返回用户是否可以选择文本。 |
166 | verticalAlign
它设置或返回元素中内容的垂直对齐方式。 |
167 | visibility
它设置或返回元素是否应可见。 |
168 | whiteSpace
它设置或返回文本中如何处理空白字符的方式。 |
169 | width
它设置或返回元素的宽度。 |
170 | window
它设置或返回元素在页面顶部可见的最小行数。 |
171 | wordBreak
它指定单词在到达行尾时如何换行,除了 CJK(中文、日语和韩语)脚本。 |
172 | wordSpacing
它设置或返回句子中单词之间的间距。 |
173 | wordWrap
它设置或返回长单词是否应换行到下一行。 |
174 | zIndex
它设置已定位元素的 z 顺序。 |