CSS 对象模åï¼CSSOMï¼ï¼æ¯ DOM çä¸é¨åï¼éè¿æ´é²ä¸äºæ¥å£ï¼å 许æä½å¾å¤ä¸ CSS ç¸å ³çä¿¡æ¯ãæåå®ä¹å¨ DOM Level 2 Style æè®®ä¸ï¼ç°å¨ï¼è¿äºæ¥å£å½¢æäºä¸ä¸ªè§èï¼CSS 对象模åï¼CSSOMï¼ï¼æ¨å¨å代å®ã
å¨å¾å¤æ
åµä¸ï¼å¦æå¯è½çè¯ï¼éè¿ className
屿§æ¥å¨ææä½å
ç´ ç±»åç¡®å®æ¯æå¥½çæ¹å¼ï¼å 为ææçæ ·å¼é©åçæç»å¤è§é½å¯ä»¥å¨ä¸ä¸ªæ ·å¼è¡¨ä¸æ§å¶ãè¿æ ·ååºç JavaScript 代ç ä¹ä¼å徿´æ¸
æ°ï¼å 为å®ä¸ä¸æ³¨ä¸æ ·å¼ç¸å
³çç»èï¼èæ¯ä¸æ³¨äºæå使è
æä½çæ¯ä¸é¨åçæ´ä½è¯ä¹ï¼å°ç²¾ç»çæ ·å¼ç»èçç»æ ·å¼è¡¨ãç¶èå®é
ä¸ä¹æä»¥ä¸äºè·åæè
æä½æ ·å¼è§åæç¨çæ
åµï¼æ 论æ¯å¯¹äºæ£æ ·å¼å
è¿æ¯çé£ä¸ªå
ç´ ï¼ï¼å°å¨ä¸é¢è¿ä¸æ¥è¯¦ç»æè¿°ãåæ ·åºè¯¥æ³¨æï¼åæä½åç¬å
ç´ çæ ·å¼ä¸æ ·ï¼å½è¯´å°æä½æ ·å¼è¡¨çæ¶åï¼å¹¶ä¸æ¯ççæä½å®é
çç©çææ¡£ï¼èä»
ä»
æ¯ææ¡£çå
é¨è¡¨ç¤ºã
åºæ¬æ ·å¼å¯¹è±¡å
¬å¼äº Stylesheet
å CSSStylesheet
æ¥å£ãè¿äºæ¥å£å
æ¬ insertRule
ãselectorText
以å parentStyleSheet
çæåï¼ç¨äºè·ååæä½ç»æ CSS æ ·å¼è¡¨çå个è§åã
è¦ä» document
ä¸è·å style
对象ï¼å¯ä»¥ä½¿ç¨ document.styleSheets
屿§ï¼å¹¶ä½¿ç¨ç´¢å¼æ¥è·åæä¸ªå¯¹è±¡ï¼ä¾å¦ï¼ document.styleSheets[0]
æ¯è¯¥ææ¡£ä¸ç第ä¸ä¸ªæ ·å¼è¡¨ï¼ã
<html>
<head>
<title>Modifying a stylesheet rule with CSSOM</title>
<style type="text/css">
body {
background-color: red;
}
</style>
<script type="text/javascript">
var stylesheet = document.styleSheets[1];
stylesheet.cssRules[0].style.backgroundColor = "blue";
</script>
</head>
<body>
The stylesheet declaration for the body's background color is modified via
JavaScript.
</body>
</html>
DOM CSS Properties List ä¸ç»åºäº DOM ä¸ style 屿§çå¯ç¨å±æ§å表ã
è¥è¦ä½¿ç¨ CSS è¯æ³ä¿®æ¹ææ¡£çæ ·å¼ï¼å¯ä»¥æå
¥æ ·å¼è§åï¼æè
æå
¥<style>
æ ç¾ï¼å¹¶å°å
¶ innerHTML
屿§è®¾ç½®ä¸ºææç CSSã
å
ç´ ç style
屿§ï¼è§ä¸é¢ç DOM æ ·å¼å¯¹è±¡é¨åï¼ä¹å¯ä»¥ç¨äºè·åå设置å
ç´ çæ ·å¼ãç¶èï¼è¯¥å±æ§åªè½è¿åéè¿å
ææ¹å¼è®¾ç½®çæ ·å¼å±æ§ï¼ä¾å¦ <td style="background-color: lightblue">
è¿å "background-color:lightblue
"ï¼æè
ç´æ¥é对åªä¸ªå
ç´ ä½¿ç¨ element.style.propertyName
, å³ä½¿æ ·å¼è¡¨ä¸è¿æè¯¥å
ç´ ä¸çå
¶ä»æ ·å¼ï¼ã
æ¤å¤ï¼å½ä½ å¨å ç´ ä¸è®¾ç½®æä¸ªå±æ§çæ¶åï¼ä½ ä¼è¦çå¹¶æ¦é¤æå«å¤ä¸ºè¯¥å ç´ çè¿ä¸ªå±æ§è®¾ç½®çå¼ã以设置 border 屿§ä¸ºä¾ï¼å°è¦çæå¨ <head> é¨åæè å¤é¨æ ·å¼è¡¨è®¾ç½®ç该å ç´ ç border 屿§ãç¶èè¿å¹¶ä¸ä¼å½±åå ç´ çå ¶ä»å±æ§ï¼ä¾å¦ paddingãmargin æ font çã
è¦ä¿®æ¹ç¹å®å ç´ çæ ·å¼ï¼å¯ä»¥å°ä»¥ä¸ç¤ºä¾ä¿®æ¹ä¸ºä½ æ³è¦çæ ·å¼ã
<html>
<head>
<title>simple style example</title>
<script type="text/javascript">
function alterStyle(elem) {
elem.style.background = "green";
}
function resetStyle(elemId) {
elem = document.getElementById(elemId);
elem.style.background = "white";
}
</script>
<style type="text/css">
#p1 {
border: solid blue 2px;
}
</style>
</head>
<body>
<!-- passes a reference to the element's object as parameter 'this'. -->
<p id="p1" onclick="alterStyle(this);">
Click here to change background color.
</p>
<!-- passes the 'p1' id of another element's style to modify. -->
<button onclick="resetStyle('p1');">Reset background color</button>
</body>
</html>
document.defaultView
对象ç getComputedStyle()
è¿åæä¸ªå
ç´ çææç»è¿è®¡ç®çæ ·å¼ã
style
对象表示äºä¸ä¸ªåç¬çæ ·å¼å£°æãä¸ådocument.styleSheets
éå䏿¯ä¸ªåç¬çæ ·å¼è§åï¼æ ·å¼è§åæ¯éè¿ document
对象æè
åºç¨æ¹æ ·å¼çå
ç´ æ¥è®¿é®çãå®è¡¨ç¤ºç¹å®å
ç´ çå
èæ ·å¼ã
æ¯è¿ä¸¤ä¸ªå±æ§æ´éè¦çæ¯ä½¿ç¨ style
对象æ¥ç»æä¸ªå
ç´ è®¾ç½®åç¬çæ ·å¼å±æ§ã
<!doctype html>
<html>
<head>
<title>style Property Example</title>
<link rel="StyleSheet" href="example.css" type="text/css" />
<script type="text/javascript">
function stilo() {
document.getElementById("d").style.color = "orange";
}
function resetStyle() {
document.getElementById("d").style.color = "black";
}
</script>
</head>
<body>
<div id="d" class="thunder">Thunder</div>
<button onclick="stilo()">Click here to change text color</button>
<button onclick="resetStyle()">Reset text color</button>
</body>
</html>
style ç media å type ç»ä¸ç»åºé½å¯ä»¥ã
使ç¨setAttribute
æ¹æ³
注æï¼ä½ ä¹å¯ä»¥éè¿è·å¾å
ç´ çå¼ç¨ï¼ç¶å使ç¨å®ç setAttribute
æ¹æ³ï¼æå® CSS 屿§åå¼ï¼æ¥æ¹å该å
ç´ çæ ·å¼ã
var el = document.getElementById("some-element");
el.setAttribute("style", "background-color:darkblue;");
ä½è¯·æ³¨æï¼setAttribute
ä¼ç§»é¤è¯¥å
ç´ æ ·å¼å¯¹è±¡ä¸å·²ç»å®ä¹çå
¶ä»æ ·å¼å±æ§ã妿ä¸é¢ç some-element
æä¸ä¸ªè¡å
æ ·å¼å±æ§ï¼style="font-size: 18px"
ï¼å
¶å¼å°ä¼å 为使ç¨äº setAttribute
æ¹æ³è被移é¤ã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4