javascript核心技术(二十九)原生JS设置CSS样式和取CSS样式操作

[复制链接]
查看: 1187|回复: 31
发表于 2023-1-26 13:25:24 | 显示全部楼层 | 阅读模式
通过css样式操作语法,我们可以动态的改变元素的样式,大多数的页面特效都是这样实现的。
关于样式的设置方法非常多,我们只讲解一些常用的,大家先掌握我们讲解的方法,以后再慢慢深入。
一、原生JS设置CSS样式的三种方法
请看以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>原生JS和jquery设置CSS样式操作</title>
    <script src="./jquery.js"></script>
</head>
<style>
    #box1{
        width: 300px;
        height: 300px;
        background-color: aqua;
    }
</style>
<body>
    <div id="box">
        <span id="span1">span1</span>
    </div>
    <br>
    <div id="box1">

    </div>
</body>
<script>
//方法一 最简单的办法
var box=document.getElementById('box');
box.style.height="200px"; 
box.style.width="200px"; 
box.style.backgroundColor="#E5C07B"; 
box.style.fontSize="30px"; 

//方法二 cssText支持追加
// var box=document.getElementById('box');
// box.style.cssText ="height:200px;width:200px;background-color:#E5C07B;font-size:30px;"; 
// box.style.cssText +="border-radius: 5%;"; 

//方法三 设置节点的style属性
// var box=document.getElementById('box');
// box.setAttribute('style',"height:200px;width:200px;background-color:#E5C07B;font-size:30px;");

//取样式 只能取出行内样式
console.log(box.style.height,box.style.width,box.style.backgroundColor,box.style.fontSize)

//取最终样式  解决由于多种样式叠加,导致获取css不准确的问题
var box1=document.getElementById('box1');
//这样取不到
console.log(box1.style.height,box1.style.width,box1.style.backgroundColor,box1.style.fontSize);
//这样可以取到
console.log(getComputedStyle(box1).height);
</script>

</html>

javascript核心技术(二十九)原生JS设置CSS样式和取CSS样式操作
javascript核心技术(二十九)原生JS设置CSS样式和取CSS样式操作

解释一下:
以上代码中,我们写了两个div盒子,分别是box和box1,然后使用了三种方式对id为box的div盒子添加了样式。
最后又进行了取样式操作,也用了两种方式。
方式一、只能取出行内样式,如果一个元素的样式是有多种样式叠加的则不能取出。
例如:一个元素的样式分别写在了页面中的style标签中、行内和css文件中。方式一只能取出行内的样式,可以看到,在控制台中第二行的输出是空的。
方式二、可以取出最终的样式。

另外需要注意的是:在使用JS批量设置css样式时,样式名中如果包含大写字母,将大写变小写,并在该前面的前面加中横线。
例如:backgroundColor要写为background-color。

ok,以上就是原生JS和jquery设置CSS样式操作,请大家动手测试一下。

易博软件介绍

0

主题

13

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2023-2-20 07:39:46 | 显示全部楼层
至心至腑~~~~~~~~~`
发表于 2023-3-3 17:08:34 | 显示全部楼层
你是我的小目标 呵呵

0

主题

25

帖子

13

积分

终身会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
13
发表于 2023-3-14 06:46:28 | 显示全部楼层
很不错的文章!

0

主题

24

帖子

13

积分

营销入门

Rank: 2

积分
13
发表于 2023-3-23 17:19:16 | 显示全部楼层
我 是刚学这门课的,当我看到这以后,震惊了,一个程序的设计是如此的复杂,我想我也是时候奋斗了,愿所有的程序设计人员都能步入高手之列      突想起伯苓师的一句话“中国不亡有我在” 奋发图强,创造中国人的辉煌
发表于 2023-3-29 07:13:17 | 显示全部楼层
感触很深
发表于 2023-4-3 12:25:32 | 显示全部楼层
我是毕业后开始做程序的,现在感觉还没有进入门槛。  倒是有一个感触:良好的习惯应该从初期养成,包括算法等在内都需要从用户的角度出发。
发表于 2023-4-8 18:38:05 | 显示全部楼层
我要学习!!!

0

主题

23

帖子

12

积分

营销入门

Rank: 2

积分
12
发表于 2023-4-13 12:29:10 | 显示全部楼层
受益匪浅。。。。。

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-4-18 07:35:40 | 显示全部楼层
不错不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表