您的当前位置:首页JavaScript修改css样式style_javascript技巧
广告

JavaScript修改css样式style_javascript技巧

2023-12-02 来源:吉希宠物网

一、局部改变样式 分为改变直接样式,改变className和改变cssText三种。需要注意的是: 注意大小写: javascript对大小写十分敏感,className不能够把“N”写成“n”,cssText也不能够把“T”写成“t”,否则无法实现效果。 调用方法: 如果改变className,则事先在样式表中申明类,但调用时不要再跟style,像document.getElementById('obj').style.className=”…”的写法是错误的!只能写成:document.getElementById('obj').className=”…” 改变cssText 但是如果用cssText的话,必须加上style,正确的写法是:document.getElementById('obj').style.cssText=”…” 改变直接样式我就不必说了,大家记得要写到具体样式即可,如 document.getElementById('obj').style.backgroundColor=”#003366″ 二、全局改变样式 通常情况下,我们可以通过改变外链样式的的href的值实现网页样式的实时切换,也就是“改变模板风格”。这时候我们首先需要赋予需要改变的目标一个id,如 调用时很简单,如 点我改变样式 对于新人往往不知道CSS具体样式在javascript怎么写,而且有时候在不同浏览器中要求也不一样。如float在IE中写成styleFloat,在FIREFOX中写成cssFloat,这就需要大家的积累了。在google中搜索“ccvita javascript”,也许会对你的疑惑有所帮助。 基础知识 通常在网页中样式表的调用方法有三种。 第一种:链入外部样式表文件 (Linking to a Style Sheet) 你可以先建立外部样式表文件(.css),然后使用HTML的link对象。示例如下: 文档标题 而在XML中,你应该如下例所示在声明区中加入: < ? xml-stylesheet type="text/css" href="http://www.dhtmlet.com/dhtmlet.css" ?> 第二种:定义内部样式块对象 (Embedding a Style Block) 你可以在你的HTML文档的和标记之间插入一个 块对象。 定义方式请参阅样式表语法。示例如下: 文档标题 请注意,这里将style对象的type属性设置为”text/css”,是允许不支持这类型的浏览器忽略样式表单。 第三种:内联定义 (Inline Styles) 内联定义即是在对象的标记内使用对象的style属性定义适用其的样式表属性。示例如下:

这一行被增加了左右的外补丁

小编还为您整理了以下内容,可能对您也有帮助:

js如何修改样式?

这样应该是不行的吧,或者是我还不会,而且要修改的话直接去css文件修改就好了,如果用js修改的话可以添加新的样式覆盖原来的样式,直接修改类名的话会使得操作复杂度加深,无法很好得进行维护。

js如何修改样式?

这样应该是不行的吧,或者是我还不会,而且要修改的话直接去css文件修改就好了,如果用js修改的话可以添加新的样式覆盖原来的样式,直接修改类名的话会使得操作复杂度加深,无法很好得进行维护。

JavaScript是如何改变网页的CSS样式的?

通常我们将网页的样式和内容分开,样式放在css文件,内容放在html文件,当html文件需要用到样式的时候,直接引用css中定义的样式就可以了。其实JavaScript也能使用css文件或直接改变样式的属性来动态的改变网页的样式。

1、JavaScript设置内联样式
改变样式最直接的方法就是改变元素节点的style属性。如:

myElement.sytle.color = “red”;
myElement.sytle.left = “40px”;
myElement.sytle.backgroundRepeat = “repeat-x”;

JavaScript设置内联样式时,采用和css设置样式一样的风格。如设置myElement的color属性时,我们可以赋值任何在css中可以用的值,所以这里除了可以使用”red”,还可以使用”blue”, ”yellow”或十六进制的”#ff0000”。
另外用JavaScript改变网页的属性还需要注意2点:
l JavaScript中采用驼峰命名法:在css中,属性名中的单词之间是用横杠隔开,如font-weight, background-color。但在JavaScript中,横杠可能被认为是减号,所以采用驼峰命名法,单词之间不用横杠,如font-weight在JavaScript中应该写成fontWeight;而background-color写成backgroundColor。
l JavaScript中属性值为字符串:在css中,属性值都写在双引号中,即要用字符串来给css相关属性赋值,同样当属性值有单位时,我们需要将单位也写在字符串中。

2、JavaScript设置外部样式
当你需要改变的样式已经在css文件中定义了,我们也可以用JavaScript直接用定义好的css样式。如下格式:

myElement.className = “someCSSclass”;

同样需要注意几点:
l 不要将className写成class,因为class是JavaScript保留的关键字,我们不能使用。
l 将定义在css中的样式直接赋值给className,就能改变myElement元素的样式。
l 当要删除元素的样式,可以给className属性赋值为空。如:
myElement.className = “”;
教程网 站-秒秒学上的JavaScript课程有一个章节专门讲解JavaScript改变样式的内容,可以看看,希望对你有帮助。

JavaScript是如何改变网页的CSS样式的?

通常我们将网页的样式和内容分开,样式放在css文件,内容放在html文件,当html文件需要用到样式的时候,直接引用css中定义的样式就可以了。其实JavaScript也能使用css文件或直接改变样式的属性来动态的改变网页的样式。

1、JavaScript设置内联样式
改变样式最直接的方法就是改变元素节点的style属性。如:

myElement.sytle.color = “red”;
myElement.sytle.left = “40px”;
myElement.sytle.backgroundRepeat = “repeat-x”;

JavaScript设置内联样式时,采用和css设置样式一样的风格。如设置myElement的color属性时,我们可以赋值任何在css中可以用的值,所以这里除了可以使用”red”,还可以使用”blue”, ”yellow”或十六进制的”#ff0000”。
另外用JavaScript改变网页的属性还需要注意2点:
l JavaScript中采用驼峰命名法:在css中,属性名中的单词之间是用横杠隔开,如font-weight, background-color。但在JavaScript中,横杠可能被认为是减号,所以采用驼峰命名法,单词之间不用横杠,如font-weight在JavaScript中应该写成fontWeight;而background-color写成backgroundColor。
l JavaScript中属性值为字符串:在css中,属性值都写在双引号中,即要用字符串来给css相关属性赋值,同样当属性值有单位时,我们需要将单位也写在字符串中。

2、JavaScript设置外部样式
当你需要改变的样式已经在css文件中定义了,我们也可以用JavaScript直接用定义好的css样式。如下格式:

myElement.className = “someCSSclass”;

同样需要注意几点:
l 不要将className写成class,因为class是JavaScript保留的关键字,我们不能使用。
l 将定义在css中的样式直接赋值给className,就能改变myElement元素的样式。
l 当要删除元素的样式,可以给className属性赋值为空。如:
myElement.className = “”;
教程网 站-秒秒学上的JavaScript课程有一个章节专门讲解JavaScript改变样式的内容,可以看看,希望对你有帮助。

JS如何设置元素样式的方法示例

一看到这个标题,大家可能首先想到的就是使用“[元素].style.[CSS属性名] = [属性值]”这样的套路去设置元素样式,但实际上,我们其实还有其他方式可以选择。

接下来,我将详细介绍三种设置元素样式的方式。

一、style

这个其实就是我们所熟知的方式,举个例子~~

<div id="box"></div>

var box = document.getElementById("box");

box.style.width = '100px';

box.style.height = '100px';

box.style.backgroundColor = "#f00";

显示效果:

这种方式看似简单粗暴,但写法过于繁冗,尤其是在需要添加很多样式时尤为突出。并且需要注意的是,对于使用短划线的CSS属性名,必须将其转换成驼峰大小写形式。(如示例中的backgroundColor)

二、style.cssText

这种方式相对于上面方法更为简洁,更像是直接在元素上写CSS:

[元素].style.cssText = [CSS样式];

例如:

box.style.cssText = 'width: 200px; height: 200px; border: 1px solid #f00;';

确实,写法上很方便。

但是,缺点是后面同样通过这种方式添加的样式会覆盖之前通过style特性指定的样式。

同样还是上面的例子,只不过是将两段JS写在一块:

var box = document.getElementById("box");

box.style.width = '100px';

box.style.height = '100px';

box.style.backgroundColor = "#f00";

box.style.cssText = 'width: 200px; height: 200px; border: 1px solid #f00;';

如果按照层叠样式表的特性,上面定义的红色的背景颜色应该还存在,然而实际上,下面通过style.cssText方式定义的样式会将style(包括style.cssText)方式添加的样式全部重写。所以,这个例子最终表现结果与上面只有一句时的效果是一样的:

最后注意下兼容性,IE8及更早版本均不支持cssText。

三、insertRule()

这个用法相对上面两种方法都较为复杂一些:

[sheet].insertRule([CSS样式],指定位置)

[sheet]表示某个样式表,它可以通过document.styleSheets来获得。那么,document.styleSheets又是什么呢? 说得简单一点就是应用在文档中的所有样式表,包括通过link标签引入的样式和style标签定义的样式。如果理解上还是有点困难,那么我们还是放个实例吧~~

首先头部引入样式表:

<link rel="stylesheet" type="text/css" href="css/index.css" rel="external nofollow" />

当然,这个样式表得真实存在,就算里面什么样式都不写也没关系。也可以直接用style标签,内容为空也不要紧。

然后用JS获取这个样式表:

var sheet = document.styleSheets[0];

最后我们就可以给这个样式表中添加样式了:

sheet.insertRule('#box{width: 300px; height: 300px; background-color: #0f0;}',0);

如果是在上面所有例子的基础上添加的这段代码,那么显示结果会是这样的:

大小还是200*200大小,背景颜色是绿色,说明通过style.cssText所设置的宽高样式把通过insertRule()设置的样式覆盖了,原因很简单,style(包括style.cssText)方式设置的样式属于行内样式,自然要比通过insertRule()设置的样式优先级更高咯~~

那么,示例当中insertRule()的第二个参数0又是指的什么呢?

它指的是我们需要添加CSS代码的位置,所以参数0就代表的是该样式表的最开始位置。

例如,我们先给样式表中手动添加一段样式(以下例子与上述例子无关):

<style>

#box{ width: 100px; height: 100px;}

</style>

var sheet = document.styleSheets[0];

sheet.insertRule('#box{width: 300px; height: 300px; background-color: #0f0;}',0);

以上执行结果就是,宽高100*100的绿色盒子:

如果将insertRule()中的第二个参数改为1,那么通过JS添加的这段CSS代码相当于添加到了#box{ width: 100px; height: 100px;}的后面,类似下面这样:

<style>

#box{ width: 100px; height: 100px;}

#box{ width: 300px; height: 300px; background-color: #0f0;}

</style>

显示结果:

同样需要注意的是,insertRule()不兼容IE8及更早版本,但可以使用addRule()替代,语法稍微有点不同,上面例子这样写:

代码如下:

sheet.addRule('#box','width: 300px; height: 300px; background-color: #0f0;',0);

第一个参数代表元素,第二个参数代表CSS样式,第三个参数代表插入位置,前两个参数必选,最后一个可选,不填则默认为0。

结束语:浏览器兼容性问题对于前端开发者来说一直是个很头疼的问题,很多问题也是主要集中在IE上,只希望可恶的IE早日退出历史舞台吧!希望对大家的学习有所帮助,也希望大家多多支持脚本之家。如何用JS修改已加载的CSS样式表样式?要详细的教程

js是无法直接修改css文件的,但可以通过取对象的方式修改对象的样式,通常有两种方法:

1、改变className,但首先在样式表中预设定样式类。

例如:document.getElementById('obj').className='...';

2、改变cssText。

例如:document.getElementById('obj').style.height='100px';

吉希宠物网还为您提供以下相关内容希望对您有帮助:

js如何修改样式?

这样应该是不行的吧,或者是我还不会,而且要修改的话直接去css文件修改就好了,如果用js修改的话可以添加新的样式覆盖原来的样式,直接修改类名的话会使得操作复杂度加深,无法很好得进行维护。

如何用JS修改已加载的CSS样式表样式?

js是无法直接修改css文件的,但可以通过取对象的方式修改对象的样式,通常有两种方法:\x0d\x0a1、改变className,但首先在样式表中预设定样式类。\x0d\x0a例如:document.getElementById('obj').className='...';\x0d\x0a2、改变...

javascript 改变指定css样式

一、局部改变样式 有三种方法:直接改变样式、改变className和改变cssText 改变className: document.getElementById('obj').className="…"改变cssText:document.getElementById('obj').style.cssText="width:20px; border:s...

如何用JavaScript实现动态修改CSS样式表

方法一、使用obj.className来修改样式表的类名 方法二、使用obj.style.cssText来修改嵌入式的css function changeStyle2() { var obj = document.getElementById("btnB"); obj.style.cssText = "background-color...

JavaScript是如何改变网页的CSS样式的?

改变样式最直接的方法就是改变元素节点的style属性。如:myElement.sytle.color = “red”;myElement.sytle.left = “40px”;myElement.sytle.backgroundRepeat = “repeat-x”;JavaScript设置内联样式时,采用和css设置...

javascript input改变css的样式

javascript input改变css的样式使用的语法如下:document.getElementById(id).style.property=new style例如:&lt;p id="p2"&gt;Hello World!&lt;/p&gt; &lt;script&gt; document.getElementById("p2").style.color="blue"; &lt;/script&gt;备注...

JS 动态修改CSS 样式方法/全局

1.scss文件定义变量 2.js中更改$textColor 变量的值 都是获取DOM 通过DOM分别修改当前DOM样式属性值、当前DOM整体css样式、修改当前DOM的className类名、将link引入的标签作为DOM 修改link的href,从而修改引用的样式表。详情转...

js如何更改css样式,

JS可以使用css属性来进行样式修改,并且不仅可以修改单一属性,也可以同时修改多个属性。案例以下小案例使用JQuery作为演示。前提: html页面首先必须引入JQuery,放置在body体最后的位置。例如:&lt;script type="text/javascript" src...

javaScript 改CSS 样式 style.border-bottom 问题

用Javascript来控制CSS属性时,是驼峰式写法,即:去掉短横线,除第一个单词全部小写外,其余单词的首字母大写。你的这个例子的正确写法是:document.getElementById("shui2").style.borderBottom="1px solid #000000";完整...

如何用JavaScript动态修改CSS样式表

如果再出现一个使用.LS风格的元素,它还是老样子,你还需要对这个元素再去调整,治标不治本。而且这种方式也决定了不可能简单地通过一句话就实现。 这样想的人还不少,而如果你看了《如何用JavaScript动态建立或增加CSS样式...

Top