行业协会的英文会翻译会英语怎么说-离职原因怎么说
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代码为例。
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节点,通常是或