行业协会的英文会翻译会英语怎么说-离职原因怎么说


2023年3月29日发(作者:mba成绩查询)

CSS详解(Element中style属性,伪元素,StyleSheet对象)

⽬录

CSS与JavaScript是两个有着明确分⼯的领域,前者负责页⾯的视觉效果,后者负责与⽤户的⾏为互动。但是,它们毕竟同属⽹页开发的前

端,因此不可避免有着交叉和互相配合。本节介绍如果通过JavaScript操作CSS。

1HTML元素的style属性

操作Element节点的CSS样式,最简单的⽅法之⼀就是使⽤节点对象的getAttribute⽅法、setAttribute⽅法和removeAttribute⽅法,读

写或删除HTML元素的style属性。

ribute(\'style\',

\'background-color:red;\'

+\'border:1沸腾的反义词 pxsolidblack;\');

2Element节点的style属性

2.1基本⽤法

Element节点本⾝还提供style属性,⽤来操作CSS样式。

style属性指向⼀个对象,⽤来读写页⾯元素的⾏内CSS样式。

vardivStyle=elector(\'div\').style;

oundColor=\'red\';

=\'1pxsolidblack\';

=\'100px\';

=\'100px\';

oundColor//red

//1pxsolidblack

//陛下请自重 100px

//100px

从上⾯代码可以看到,style对象的属性与CSS规则名⼀⼀对应,但是需要改写。具体规则是将横杠从CSS属性名中去除,然后将横杠后的

第⼀个字母⼤写,⽐如background-color写成backgroundColor。如果CSS属性名是JavaScript保留字,则规则名之前需要加上字符

串“css”,⽐如float写成cssFloat。

注意,style对象的属性值都是字符串,⽽且包括单位。所以,不能设置为100,⽽要设置为\'100px\'。

2.2cssText属性

style对象的cssText可以⽤来读写或删除整个style属性。

t=\'background-color:red;\'

+\'border:1pxsolidblack;\'

+\'height:100px;\'

+\'width:100px;\';

注意,cssText对应的是HTML元素的style属性,所以不⽤改写CSS属性名。

2.3CSS模块的侦测

CSS的规格发展太快,新的模块层出不穷。不同浏览器的不同版本,对CSS模块的⽀持情况都不⼀样。有时候,需要知道当前浏览器是否⽀

持某个模块,这就叫做“CSS模块的侦测”。

⼀个⽐较普遍适⽤的⽅法是,判断某个DOM元素的style对象的某个属性关于中秋节的诗句有哪些? 值是否为字符串。

ionName===\'string\';

orm===\'string\';

如果该CSS属性确实存在,会返回⼀个字符串。即使该属性实际上并未设置,也会返回⼀个空字符串。如果该属性不存在,则会返回

undefined。

[\'maxWidth\']//\"\"

[\'maximumWidth\']//undefined

需要注意的是,不管CSS属性名带不带连词线,style对象都会显⽰该属性存在。

[\'backgroundColor\']//\"\"

[\'background-color\']//\"\"

所有浏览器都能⽤这个⽅法,但是使⽤的时候,需要把不同浏览器的CSS规则前缀也考虑进去。

varcontent=mentById(\"content\");

[\'webkitAnimation\']===\'string\'

这种侦测⽅法可以写成⼀个函数。

functionisPropertySupported(property){

if()returntrue关于国庆节的好词好句 ;

varprefixes=[\'Moz\',\'Webkit\',\'O\',\'ms\',\'Khtml\'];

varprefProperty=(0).toUpperCase()+(1);

for(vari=0;i<;i++){

if((prefixes[i]+prefProperty))returntrue;

}

returnfalse;

}

isPropertySupported(\'background-clip\')

//true

2.4setPropertyValue(),getPropertyValue(),removeProperty()

style对象的以下三个⽅法,⽤来读写⾏内CSS规则

setPropertyValue(propertyName,value):设置某个CSS属性。

getPropertyValue(prop长篇睡前故事5000字 ertyName):读取某个CSS属性。

removeProperty(propertyName):删除某个CSS属性。

这三个⽅法的第⼀个参数,都是CSS属性名,且不⽤改写连词线。

pertyValue(\'background-color\',\'red\');

pertyValue(\'background-color\');

Property(\'background-color\');

3CSS伪元素

CSS伪元素是通过CSS向DOM添加的元素,主要⽅法是通过“:before”和“:after”选择器⽣成伪元素,然后⽤content属性指定伪元素

的内容。

\":before\"伪元素可以在元素的内容前⾯插⼊新内容。

\":after\"伪元素可以在元素的内容之后插⼊新内容。

以如下HTML代码为例。

Testcontent

CSS添加伪元素的写法如下。

#test:before{

content:\'Before\';

color:#FF0;

}

DOM节点的style对象⽆法读写伪元素的样式,这时就要⽤到window对象的getComputedStyle⽅法。JavaScript获取伪元素,可以使⽤

下⾯的⽅法。

vartest=elector(\'#test\');

varresult=putedStyle(test,\':before\').content;

varcolor=putedStyle(test,\':before\').color;

此外,也可以使⽤putedStyle对象的getPropertyValue⽅法,获取伪元素的属性。

varresult=putedStyle(test,\':before\')

.getPropertyValue(\'content\');

varcolor=putedStyle(test,\':before\')

.getPropertyValue(\'color\');

4StyleSheet对象

4.1获取样式表

StyleSheet对象代表⽹页的⼀张样式表,它包括link节点加载的样式表和style节点内嵌的样式表。

document对象的styleSheets属性,可以返回当前页⾯的所有StyleSheet对象(即所有样式表)。它是⼀个类似数组的对象。

varsheets=heets;

varsheet=heets[0];

此外,link节点和style节点的sheet属性,也可以获取StyleSheet对象。

//HTML代码为

//

//

//body{font-size:1.2rem;}

//

//等同于heets[0]

elector(\'#linkElement\').sheet

//等同于heets[1]

elector(\'#styleElement\').sheet

4.2属性

StyleSheet对象有以下属性。

4.2.1med舟夜书所见诗意 ia属性

media属性表⽰这个样式表是⽤于屏幕(screen),还是⽤于打印(print),或两者都适⽤(all)。该属性只读,默认值是screen。

heets[0].ext

//\"all\"

4.2.2disabled属性

disabled属性⽤于打开或关闭⼀张样式表。

elector(\'#linkElement\').disabled=true;

disabled郑板桥诗词96首 属性只能在JavaScript中设置,不能在html语句中设置。

4.2.3href属性

href属性是只读属性,返回StyleSheet对象连接的样式表地址。对于内嵌的style节点,该属性等于null。

heets[0].href

4.2.4title属性

title属性返回StyleSheet对象的title值。

4.2.5type属性

type属性返回StyleSheet对象的type值,通常是text/css。

heets[0].type//\"text/css\"

4.2.6parentStyleSheet属性

CSS的@import命令允许在样式表中加载其他样式表。parentStyleSheet属性返回包括了当前样式表的那张样式表。如果当前样式表是顶

层样式表,则该属性返回null。

if(StyleSheet){

sheet=StyleSheet;

}else{

sheet=stylesheet;

}

4.2.7ownerNode属性

ownerNode属性返回StyleSheet对象所在的DOM节点,通常是