利用styleSheet,避免js手动频繁修改样式

news2024/7/6 18:53:14

styleSheet是一个样式表,记录了一个html文件中<style>标签中的样式

🖨️体感styleSheet

对于下面一个html文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <style>
      h1 {color: red;}
      div {color: green; }
    </style>
    <style>
      button {color: blue;}
    </style>
  </head>
  <body>
    <h1>title</h1>
    <div>content</div>
    <button>button</button>
  </body>
</html>

浏览器打开显示为⬇️
在这里插入图片描述
打印出document.styleSheets[0].cssRules就是第一个style标签中的内容。
如果想打印出第二个标签中的内容:document.styleSheet[1].cssRules

在这里插入图片描述
【分析】styleSheet和style标签对应关系
<style>标签=》CSSStyleSheet对象
<style>内容=》CSSStyleSheet对象的cssRules属性

📠怎么用

利用insertRule和deleteRule可以动态添加样式和删除样式

    <script>
      // 1 为document添加一个自定义样式表
      const styleEl = document.createElement('style')
      document.head.appendChild(styleEl)
      const customizeStyleSheet = styleEl.sheet

      // 2 为样式表添加样式
      const rule = 'h1 {color: black}'
      const index = customizeStyleSheet.insertRule(rule)

      // 3 点击button删除样式
      document.getElementById('btn').onclick = function () {
        if (index >= 0) {
          customizeStyleSheet.deleteRule(index)
        }
      }
    </script>

用js代码为样式表添加了一个样式,将红色的title覆盖为了黑色,点击按钮,删除添加的样式,title又恢复红色
在这里插入图片描述

🌰最佳实践

使用场景:需要频繁增删样式场景
新手引导 1、2、3步需要将底部元素z-index提高,然后恢复原位,怎么做呢,就是使用styleSheet添加和删除样式
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware替换难?听听ZStack 的这3家制造业客户怎么说……

随着国家对信创转型的持续扶持&#xff0c;加之VMware原有的产品与客户云建设需求的契合度不高&#xff0c;越来越多的用户选择将自身的IT系统替换为国产化的信创产品&#xff0c;且已经在金融、交通、制造业、教育、房地产等领域落地出现从VMware迁移转型的成功案例。在此趋势…

Python实战案例,PyQt5+socket模块,Python制作小型桌面应用

前言 本文给大家分享的是如何通过用PyQt5制作小型桌面应用 PyQt概述 PyQt5是Qt框架的Python语言实现&#xff0c;由Riverbank Computing开发&#xff0c;是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合&#xff0c;每一个PyQt控件都对应一个Qt控件&#xff0c;…

js实现的在线绘图板,写字板

一个像素完美的基于web的MS Paint重制版和更多…试试看&#xff01; JS Paint高度逼真地再现了MS Paint的每个工具和菜单&#xff0c;甚至是鲜为人知的功能。 它支持主题、其他文件类型和辅助功能&#xff0c;如眼睛注视模式和语音识别。 在线demo地址在线绘图板&#xff0c;在…

CorelDRAW破解版是如何一步一步坑人的

如果你还在说破解版软件免费好用&#xff0c;那我真的要用一个朋友的例子和你讲讲破解版CorelDRAW的害人之处了。 小赵是我的朋友学设计的&#xff0c;学生党一枚苦于囊中羞涩经常上破解版的车。一次他接了一个设计LOGO的活儿&#xff0c;准备用CorelDRAW来做这个LOGO。于是从…

web安全之post注入和cookie注入

目录 环境 靶场11&#xff08;POST注入&#xff09; 靶场20&#xff08;cookie注入&#xff09; 环境 靶场&#xff1a;sqli-labs&#xff0c;工具&#xff1a;burp 靶场11&#xff08;POST注入&#xff09; 抓包修改请求体 uname-1 union select 1,2 #&passwd&s…

2023年天津仁爱学院高职升本科专业考试报考须知

2023年天津仁爱学院高职升本科专业考试报考须知 一、报名条件 1.报考我校2023年高职升本科各专业的考生&#xff0c;应符合天津市教育招生考试院制定的2023 年天津市高职升本科及我校专业考试有关报考条件&#xff0c;须完成2023年天津市高职升本科文化考试报名相关手续&#x…

【Web端智能聊天客服】之HTML、CSS、Bootstrap的讲解及实例(超详细必看 附源码)

觉得有帮助请点赞关注收藏~~~ 一、HTML基础 HTML全称是HyperText Markup Language 是网页的标准标记语言&#xff0c;使用HTML可以创建自定义网站或者模板网站&#xff0c;HTML代表超文本标记语言&#xff0c;主要用于描述网页结构&#xff0c;HTML页面元素体现浏览器如何显示…

商业智能BI在面向报表和模型开发时,有什么不同?

企业在面试商业智能BI技术开发人员&#xff0c;发现基本上90%的人分不清什么是面向报表开发&#xff0c;什么是面向模型开发&#xff0c;不明白这个问题背后的意思。10%左右的人稍微暗示一下&#xff0c;大概就懂你想了解的是什么了&#xff0c;这10%的是真正有过完整的数据仓库…

我是如何开始能写python爬虫的?给零基础入门Python小白一条清晰的学习路线

重要的事说三遍&#xff1a;不要从看书开始&#xff0c;不要从看书开始&#xff0c;不要从看书开始&#xff01;~~ 爬虫这么有意思的东西&#xff0c;看书多没有乐趣&#xff0c;从网上找个视频&#xff0c;直接跟着写&#xff0c;然后再根据视频&#xff0c;按照自己的想法写…

Polaris 和 dubbogo 全面对接,让微服务更简单

作者 | 邓正威&#xff0c;廖春涛&#xff08;春少&#xff09;&#xff0c;赵新&#xff08;花名 于雨&#xff09;背景概述什么是 PolarisPolaris 是腾讯开源的服务治理平台&#xff0c;致力于解决分布式和微服务架构中的服务管理、流量管理、配置管理、故障容错和可观测性问…

公路交叉数(POJ3067)-树状数组解决逆序对

题目大意&#xff1a; 东海岸有N个城市&#xff0c;西海岸有M个城市&#xff08;N≤1000&#xff0c;M≤1000&#xff09;&#xff0c;将建K条公路。每个海岸的城市从北到南编号为1,2&#xff0c;…每条高速公路都是直线&#xff0c;连接东海岸和西海岸的城市。建设资金由高速公…

各开发语言DNS缓存配置建议

作者&#xff1a;翟贺龙 一、背景 在计算机领域&#xff0c;涉及性能优化动作时首先应被考虑的原则之一便是使用缓存&#xff0c;合理的数据缓存机制能够带来以下收益&#xff1a; 1.缩短数据获取路径&#xff0c;热点数据就近缓存以便后续快速读取&#xff0c;从而明显提升…

小侃设计模式(十六)-备忘录模式

1.概述 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为型模式&#xff0c;它的主要思想是在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并将该状态保存在该对象之外&#xff0c;这样以后就可将该对象恢复到原先保存的状态。它是相对简…

【项目问题】程序里,oracle相关的内容,为什么有些能显示表有些不能显示表,但是用oracle工具就可以看到所有表

运行过程中的问题客户提出问题找一下原因问题找到了那如何解决这个看不到的问题呢客户提出问题 1、oracle数据源链接成功了&#xff0c;但是在产品使用过程中发现&#xff0c;没有表&#xff0c;空空如也 找一下原因 先看一下用户&#xff1a;zd202207 2、再去看看数据库工…

效率倍增!5款超级好用的Python工具库!

Python 是一门简单易学却功能非常强大的语言。好玩实用的工具层出不穷&#xff0c;也给我们的工作生活带来极大的方便。在之前文章中我已多次分享过一些实用的工具&#xff0c;有兴趣的可以翻阅一下&#xff0c;今天我再分享 5 款非常实用的工具: LuxTranslatorsTextShotFancy…

C规范编辑笔记(六)

往期文章&#xff1a; C规范编辑笔记(一) C规范编辑笔记(二) C规范编辑笔记(三) C规范编辑笔记(四) C规范编辑笔记(五) 正文&#xff1a; 今天我们继续来分享一下我们C规范编辑笔记第六篇~ 话不多说&#xff0c;我们直接来看&#xff1a; 1、 结构体变量不得在未指定初始化…

华为云大数据BI 为中小型企业智慧运营保驾护航

华为云大数据BI 为中小型企业智慧运营保驾护航 企业数字化转型中&#xff0c;必然面临信息数据潜在价值变现的问题&#xff0c;在解决这一问题的途中&#xff0c;企业可能面临多种困难&#xff0c;尤其是信息数据分析&#xff0c;这直接关系到企业能否实现潜在价值变现。对于小…

[附源码]Python计算机毕业设计Django疫情管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

chrome新特性-recorder

chrome新特性-recorder一、简介二、录制三、录制回放1.Chrome DevTool工具2.Puppeteer脚本(1) 介绍(2) 使用一、简介 recorder 与Selenium IDE浏览器插件类似&#xff0c;可用于自动化测试及脚本生成(Puppeteer脚本);前者为Web自动化测试框架Selenium的配套浏览器插件支持Java、…

一文学会所有Web应用安全知识点

据调查大部分网络安全事故是软件缺陷导致的网络攻击。由于应用程序代码漏洞和安全漏洞&#xff0c;我们的企业正在遭受越来越多的攻击。调查显示攻击者可以通过盗用凭证&#xff0c;攻击10个测试过的web应用程序中的9个&#xff0c;进行恶意软件注入以及网络钓鱼攻击。因此&…