用JS来动态设置CSS样式的八种方式

用JS来动态设置CSS样式的八种方式转自 微点阅读 https www weidianyuedu com 用 JS 来动态设置 CSS 样式 常见的有以下几种 1 直接设置 style 的属性某些情况用这个设置 important 值无效如果属性有 号 就写成驼峰的形式 如 textAlign 如果想保留 号 就中括号的形式 element style text align 100px element style height 100px 2 直接设置属性 只能用于某些属性 相关样式会自动识别 element

转自:微点阅读  https://www.weidianyuedu.com

用JS来动态设置CSS样式,常见的有以下几种

1. 直接设置style的属性  某些情况用这个设置 !important值无效

如果属性有”-“号,就写成驼峰的形式(如textAlign)  如果想保留 – 号,就中括号的形式  element.style[“text-align”] = “100px”;

element.style.height = “100px”;

2. 直接设置属性(只能用于某些属性,相关样式会自动识别)

element.setAttribute(“height”, 100);element.setAttribute(“height”, “100px”);

3. 设置style的属性

element.setAttribute(“style”, “height: 100px !important”);

4. 使用setProperty  如果要设置!important,推荐用这种方法设置第三个参数

element.style.setProperty(“height”, “300px”, “important”);

5. 改变class   比如JQ的更改class相关方法

因JS获取不到css的伪元素,所以可以通过改变伪元素父级的class来动态更改伪元素的样式

element.className = “blue”;element.className += “blue fb”;

6. 设置cssText

element.style.cssText = “height: 100px !important”;element.style.cssText += “height: 100px !important”;

7. 创建引入新的css样式文件

function addNewStyle(newStyle) { var styleElement = document.getElementById(“styles_js”); if (!styleElement) { styleElement = document.createElement(“style”); styleElement.type = “text/css”; styleElement.id = “styles_js”; document.getElementsByTagName(“head”)[0].appendChild(styleElement); } styleElement.appendChild(document.createTextNode(newStyle)); } addNewStyle(“.box {height: 100px !important;}”);

8. 使用addRule、insertRule

// 在原有样式操作 document.styleSheets[0].addRule(“.box”, “height: 100px”); document.styleSheets[0].insertRule(“.box {height: 100px}”, 0); // 或者插入新样式时操作 var styleEl = document.createElement(“style”), styleSheet = styleEl.sheet; styleSheet.addRule(“.box”, “height: 100px”); styleSheet.insertRule(“.box {height: 100px}”, 0); document.head.appendChild(styleEl);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229885.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午3:39
下一篇 2026年3月16日 下午3:39


相关推荐

  • 安卓传感器开发_android传感器开发

    安卓传感器开发_android传感器开发昨天利用Vibrator将手机改造成振动器,女票大人很满意,今天再接再厉,研究一下Android传感器如何开发……主要涉及到三个类,Sensor,SensorManager,SensorEventListener。看名字就知道大概意思了,Sensor传感器,SensorManager传感器管理者,SensorEventListener传感器事件监听。SensorManager开发者文档给的类简

    2026年4月18日
    4
  • 科大讯飞星火

    科大讯飞星火

    2026年3月14日
    3
  • Shiro框架基本知识及应用「建议收藏」

    Shiro框架基本知识及应用「建议收藏」1.Shiro基本知识1.目前市面主流的安全框架:shiro:轻量级的,使用很方便,灵活,是apache提供的,在任何框架的SpringSecurity:是Spring家族的一部分,很多项目中会使用spring全家桶,相对与shiro来说,springSecurity更重量级,必须要求spring环境;相对shiro而言,功能更强大2.什么是Shiro?Shiro是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证、权限授权、加密、会话管理等功

    2025年10月8日
    5
  • HD251HJ_HB5082

    HD251HJ_HB5082原题链接描述Givenasequence1,2,3,……N,yourjobistocalculateallthepossiblesub-sequencesthatthesumofthesub-sequenceisM.输入Inputcontainsmultipletestcases.eachcasecontainstwoint…

    2022年10月2日
    3
  • 扣子Coze远程连接数据库插件

    扣子Coze远程连接数据库插件

    2026年3月12日
    3
  • iframe微前端架构

    iframe微前端架构项目介绍项目可以分为两部分 一部分是统一的登陆注册入口 一分部是主要的管理内容区 我计划是登陆注册部分 内容管理区的 header 和 aside 作为一个基础的框架项目 后续称之为父级项目 内容区 也是表格的那部分 根据业务来划分不同的子项目 然后用户访问不同的业务 父级项目通过 iframe 将不同的子项目加载进来 预计目标将一个大项目拆分成多个小项目 降低项目的维护复杂度使各个业务最大

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号