JavaScript修改CSS样式的两种核心方法
本文介绍使用原生JavaScript修改网页元素样式的两种主要方式。第一种是通过修改DOM对象的className属性来切换预设的CSS类,实现整体样式替换;第二种是直接操作style对象,针对单个CSS属性进行动态赋值。文章提供了具体的代码示例,涵盖字体、颜色及边框等常见属性的修改,并附带了CSS属性与JS语法对照表,帮助开发者快速掌握前端样式控制技巧。
JavaScript修改CSS样式的两种核心方法
若需通过原生JavaScript修改CSS属性,主要涉及两种实现路径。
1. 通过JS修改标签的class属性值:
通过className属性切换样式类
class属性是HTML标签引用样式表的一种方式,其值对应样式表中的选择器。当修改class属性的值时,标签所关联的样式表规则随之改变,这构成了第一种修改样式的方法。
修改标签class属性的具体代码如下:
document.getElementById( id ).className = 字符串;
其中,document.getElementById( id )用于获取目标标签对应的DOM对象,也可使用其他选择器方法替代。className是DOM对象的一个属性,直接对应HTML标签的class属性。字符串参数代表class的新值,该值必须是CSS中已定义的选择符名称。
此方法可用于将标签的CSS样式切换至另一个类,或为原本未应用CSS样式的标签指定特定的样式规则。
具体应用示例如下:
代码实现如下:
<style type="text/css">
.txt {
font-size: 30px; font-weight: bold; color: red;
}
</style>
<div id="tt">欢迎光临!</div>
<p><button onclick="setClass()">更改样式</button></p>
<script type="javascript">
function setClass()
{
document.getElementById( "tt" ).className = "txt";
}
</script> 2. 通过JS修改标签的style属性值:
通过style对象直接修改属性
style属性同样是标签引用样式表的方式之一,其值直接对应CSS样式表。DOM对象同样拥有style属性,但该属性本身是一个Style对象。Style对象的属性与CSS属性一一对应,修改Style对象的属性即改变了标签对应的CSS属性值,这构成了第二种修改样式的方法。
修改标签CSS属性的代码如下:
document.getElementById( id ).style.属性名 = 值;
其中,document.getElementById( id )用于获取目标标签对应的DOM对象,也可使用其他方法获取。style是DOM对象的一个属性,其本身为对象类型。属性名指Style对象的属性名,需与目标CSS属性相对应。
注意:此方法仅修改单一的CSS属性,不会影响标签上其他CSS属性的现有值。
具体应用示例如下:
代码实现如下:
<div id="t2">欢迎光临!</div>
<p><button onclick="setSize()">大小</button>
<button onclick="setColor()">颜色</button>
<button onclick="setbgColor()">背景</button>
<button onclick="setBd()">边框</button>
</p>
<script type="javascript">
function setSize()
{
document.getElementById( "t2" ).style.fontSize = "30px";
}
function setColor()
{
document.getElementById( "t2" ).style.color = "red";
}
function setbgColor()
{
document.getElementById( "t2" ).style.backgroundColor = "blue";
}
function setBd()
{
document.getElementById( "t2" ).style.border = "3px solid #FA8072";
}
</script>常用方法汇总:
document.getElementById("xx").style.xxx中涉及的所有属性有哪些?
| 盒子标签和属性对照 | |
|---|---|
| CSS语法(不区分大小写) | JavaScript语法(区分大小写) |
| border | border |
| border-bottom | borderBottom |
| border-bottom-color | borderBottomColor |
| border-bottom-style | borderBottomStyle |
| border-bottom-width | borderBottomWidth |
| border-color | borderColor |
| border-left | borderLeft |
| border-left-color | borderLeftColor |
| border-left-style | borderLeftStyle |
| border-left-width | borderLeftWidth |
| border-right | borderRight |
| border-right-color | borderRightColor |
| border-right-style | borderRightStyle |
| border-right-width | borderRightWidth |
| border-style | borderStyle |
| border-top | borderTop |
| border-top-color | borderTopColor |
| border-top-style | borderTopStyle |
| border-top-width | borderTopWidth |
| border-width | borderWidth |
| clear | clear |
| float | floatStyle |
| margin | margin |
| margin-bottom | marginBottom |
| margin-left | marginLeft |
| margin-right | marginRight |
| margin-top | marginTop |
| padding | padding |
| padding-bottom | paddingBottom |
| padding-left | paddingLeft |
| padding-right | paddingRight |
| padding-top | paddingTop |
| 颜色和背景标签和属性对照 | |
| CSS 语法(不区分大小写) | JavaScript 语法(区分大小写) |
| background | background |
| background-attachment | backgroundAttachment |
| background-color | backgroundColor |
| background-image | backgroundImage |
| background-position | backgroundPosition |
| background-repeat | backgroundRepeat |
| color | color |
| 样式标签和属性对照 | |
| CSS语法(不区分大小写) | JavaScript 语法(区分大小写) |
| display | display |
| list-style-type | listStyleType |
| list-style-image | listStyleImage |
| list-style-position | listStylePosition |
| list-style | listStyle |
| white-space | whiteSpace |
| 文字样式标签和属性对照 | |
| CSS 语法(不区分大小写) | JavaScript 语法(区分大小写) |
| font | font |
| font-family | fontFamily |
| font-size | fontSize |
| font-style | fontStyle |
| font-variant | fontVariant |
| font-weight | fontWeight |
| 文本标签和属性对照 | |
| CSS 语法(不区分大小写) | JavaScript 语法(区分大小写) |
| letter-spacing | letterSpacing |
| line-break | lineBreak |
| line-height | lineHeight |
| text-align | textAlign |
| text-decoration | textDecoration |
| text-indent | textIndent |
| text-justify | textJustify |
| text-transform | textTransform |
| vertical-align |
verticalAlign |
anime.js 快速入门:怎么引入库并编写第一个 DOM 动画
2026-11-05 14:22:43
在线JS解密后变量名仍乱码?结合浏览器DevTools调试还原
2026-11-04 20:26:01
怎么在浏览器中运行JavaScript代码并查看输出结果
2026-11-04 09:07:33
JS 获取屏幕分辨率:window.screen.width 与 height 用法
2026-11-04 08:52:48
为什么推荐用DOMContentLoaded代替window.onload初始化JS
2026-11-04 08:42:33
