返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js怎么控制css
  • 554
分享到

js怎么控制css

2024-04-02 19:04:59 554人浏览 薄情痞子
摘要

本篇内容主要讲解“js怎么控制CSS”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js怎么控制css”吧! js控制css的方法:1

本篇内容主要讲解“js怎么控制CSS”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js怎么控制css”吧!

js控制css的方法:1、通过style属性或者“setAttribute()”来更改样式;2、改变伪类“(after,before)”的“content”内容;3、通过更改类名来更改样式等等。

本文操作环境:windows7系统、javascript1.8.5&&css3版,DELL G3电脑

js如何控制css?

JS控制css样式的几种方式

我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:

1,通过style属性或者setAttribute()来更改样式

ele.style.width='50px';//最常用
ele.style.cssText='width:50px';//并不会覆盖原先所有css
ele.style.setProperty("width", "50px", "important");//可以传第三个参数
ele.setAttribute("style", "width: 50px")//也不会覆盖原先所有css放心用
ele.style.width='50px';//最常用
ele.style.cssText='width:50px';//并不会覆盖原先所有css
ele.style.setProperty("width", "50px", "important");//可以传第三个参数
ele.setAttribute("style", "width: 50px")//也不会覆盖原先所有css放心用

2,如果只是改变伪类(after,before)的content内容也可以这么做

//css代码
div::after{
    content:attr(data-myadd);
    width:10px;
}
//js代码
div.setAttribute('data-myadd',需要动态加载的内容)
//css代码
div::after{
    content:attr(data-myadd);
    width:10px;
}
//js代码
div.setAttribute('data-myadd',需要动态加载的内容)

3,通过更改类名来更改样式

ele.className='';
ele.classList.add();//emmmm没什么好说的
ele.className='';
ele.classList.add();//emmmm没什么好说的

4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式

document.styleSheets:获取到的是所有样式列表的集合
href:通过link标签引入的样式表,则是样式表的URL,否则为null
media:当前样式表支持的所有媒体类型集合
type:样式表类型的字符串
disabled: 通过disabled来屏蔽掉该样式表,可以用来切换样式表 ; document.styleSheets[i].disabled = true
cssRules:是当前样式列表的所有样式集合;document.styleSheets[i].cssRules
cssText:当前样式表的某一个样式的样式document.styleSheets[i].cssRules[i].cssText
selectorText:当前样式的选择符
parentStyleSheet:当前规则所属样式表;IE不支持
insertRule(rule,index):在index前插入一条rule新规则; document.styleSheets[0].insertRule('* {background:blue;color:#000}',0)不支持IE;document.styleSheets[0].addRule('*',' {background:blue;color:#000}',0)支持IE;
deleteRule(index):删除某个央视列表的第index个样式;IE用removeRule(index)
//使用document.styleSheets获取样式表的时候最好获取最后一个,在最后一个样式表上添加样式
var sheets=document.styleSheets;
var lastSheet=sheets[sheets.length-1];
lastSheet.insertRule('#div{width:10px}',index)//将#div样式直接添加到cssRules中;index是添加到第几条;现代浏览器
lastSheet.addRule('div','width:10px;',0)//IE浏览器
//使用document.styleSheets获取样式表的时候最好获取最后一个,在最后一个样式表上添加样式
var sheets=document.styleSheets;
var lastSheet=sheets[sheets.length-1];
lastSheet.insertRule('#div{width:10px}',index)//将#div样式直接添加到cssRules中;index是添加到第几条;现代浏览器
lastSheet.addRule('div','width:10px;',0)//IE浏览器

5,动态加载样式表

如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式

//改变样式文件的引用
function loadStyle(url){
  var link = document.createElement('link');
    link.type = 'text/css';
    link.rel = 'stylesheet';
    link.href = url;
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(link);
}
loadStyle('test.css');
//动态加载css代码片段
var style = document.createElement('style');
    style.type = 'text/css';
    style.rel = 'stylesheet';
    try{ //Chrome Firefox Opera Safari
        style .appendChild(document.createTextnode(code));
    }catch(ex){//IE
        style.styleSheet.cssText = code;
    }
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(style);
}
loadCssCode('body{background-color:#f00}');
//改变样式文件的引用
function loadStyle(url){
  var link = document.createElement('link');
    link.type = 'text/css';
    link.rel = 'stylesheet';
    link.href = url;
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(link);
}
loadStyle('test.css');
 
//动态加载css代码片段
var style = document.createElement('style');
    style.type = 'text/css';
    style.rel = 'stylesheet';
    try{ //Chrome Firefox Opera Safari
        style .appendChild(document.createTextNode(code));
    }catch(ex){//IE
        style.styleSheet.cssText = code;
    }
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(style);
}
loadCssCode('body{background-color:#f00}');

到此,相信大家对“js怎么控制css”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: js怎么控制css

本文链接: https://lsjlt.com/news/72648.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js怎么控制css
    本篇内容主要讲解“js怎么控制css”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js怎么控制css”吧! js控制css的方法:1...
    99+
    2024-04-02
  • js控制css的方式有哪些
    本篇内容主要讲解“js控制css的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js控制css的方式有哪些”吧!js控制css的方法:1、通过style属性或者“setAttribut...
    99+
    2023-07-04
  • css控制台怎么打开
    打开 css 控制台的方法:chrome:右键单击元素,选择“检查”。firefox:菜单栏 -> “三条线” -> “web 开发器” -> “样式编辑器”。safa...
    99+
    2024-04-25
    css
  • css怎么控制文本长度
    本篇内容介绍了“css怎么控制文本长度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • CSS怎么控制动画行进
    本文小编为大家详细介绍“CSS怎么控制动画行进”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS怎么控制动画行进”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。拆解分析需求动画控制要完成的效果是:页面 rend...
    99+
    2023-07-04
  • js怎么控制iframe滚动条位置
    可以使用以下JS代码来控制iframe滚动条的位置:```javascript// 获取iframe元素var iframe = d...
    99+
    2023-09-21
    js
  • CSS+JS怎么制作皮卡丘动画
    这篇文章主要讲解了“CSS+JS怎么制作皮卡丘动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS+JS怎么制作皮卡丘动画”吧!画鼻子(一个扇形)利用 ...
    99+
    2024-04-02
  • css怎么控制文本框宽度
    本篇内容主要讲解“css怎么控制文本框宽度”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css怎么控制文本框宽度”吧!比如,下面的一个文本框代码如下:<i...
    99+
    2024-04-02
  • css怎么控制边界与边框
    这篇文章主要介绍“css怎么控制边界与边框”,在日常操作中,相信很多人在css怎么控制边界与边框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css怎么控制边界与边框”的疑惑...
    99+
    2024-04-02
  • js控制frameSet示例
    1:js修改frameset的cols属性来达到修改各个页面所占的宽高,例如隐藏当前frame页。 复制代码 代码如下: window.parent.document.getElem...
    99+
    2022-11-15
    js frameSet
  • CSS中怎么实现文字控制与文本控制属性
    本篇文章给大家分享的是有关CSS中怎么实现文字控制与文本控制属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2024-04-02
  • 怎么用JavaScript控制CSS的float属性
    本篇内容主要讲解“怎么用JavaScript控制CSS的float属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用JavaScript控制CSS的flo...
    99+
    2024-04-02
  • css中怎么控制超链接样式
    今天就跟大家聊聊有关css中怎么控制超链接样式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、伪类CSS控制元素的某种状态---偽类(用于向某些选...
    99+
    2024-04-02
  • 怎么用css来控制 li 的样式
    今天小编给大家分享一下怎么用css来控制 li 的样式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • jquery怎么控制css来删除元素
    这篇文章主要为大家展示了“jquery怎么控制css来删除元素”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery怎么控制css来删除元素”这篇文章吧。 ...
    99+
    2024-04-02
  • 怎么用CSS控制超链接样式
    本文小编为大家详细介绍“怎么用CSS控制超链接样式”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用CSS控制超链接样式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是超...
    99+
    2024-04-02
  • 怎么在CSS中控制边框长度
    这期内容当中小编将会给大家带来有关怎么在CSS中控制边框长度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<div class="content-block">&...
    99+
    2023-06-08
  • 怎么用html+css+js制作动态千纸鹤
    本篇内容介绍了“怎么用html+css+js制作动态千纸鹤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • css中怎么控制div中元素居中
    这篇文章给大家介绍css中怎么控制div中元素居中,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。div中行级元素居中代码如下:<div class="treeTitle...
    99+
    2024-04-02
  • CSS怎么控制DIV里图片的宽度
    今天小编给大家分享一下CSS怎么控制DIV里图片的宽度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作