@document
å·²å¼ç¨: ä¸åæ¨è使ç¨è¯¥ç¹æ§ãè½ç¶ä¸äºæµè§å¨ä»ç¶æ¯æå®ï¼ä½ä¹è®¸å·²ä»ç¸å ³ç web æ åä¸ç§»é¤ï¼ä¹è®¸æ£åå¤ç§»é¤æåºäºå ¼å®¹æ§èä¿çã请尽éä¸è¦ä½¿ç¨è¯¥ç¹æ§ï¼å¹¶æ´æ°ç°æç代ç ï¼åè§æ¬é¡µé¢åºé¨çå ¼å®¹æ§è¡¨æ ¼ä»¥æå¯¼ä½ ä½åºå³å®ã请注æï¼è¯¥ç¹æ§éæ¶å¯è½æ æ³æ£å¸¸å·¥ä½ã
éæ å: è¯¥ç¹æ§å°æªæ ååãæä»¬ä¸å»ºè®®å¨ç产ç¯å¢ä¸ä½¿ç¨éæ åç¹æ§ï¼å 为å®ä»¬å¨æµè§å¨ä¸çæ¯ææéï¼ä¸å¯è½åçååæè¢«ç§»é¤ãä¸è¿ï¼å¨æ²¡ææ åé项çç¹å®æ åµä¸ï¼å®ä»¬å¯ä»¥ä½ä¸ºåéçæ¿ä»£æ¹æ¡ã
@document CSS At è§åæ ¹æ®ææ¡£ç URL éå¶å
¶ä¸å
å«çæ ·å¼è§åçä½ç¨èå´ãå®ä¸»è¦æ¯ä¸ºç¨æ·å®ä¹çæ ·å¼è¡¨è设计çï¼ä½ä¹å¯ä»¥å¨å¼åè
å®ä¹çæ ·å¼è¡¨ä¸ä½¿ç¨ã
@document url("https://www.example.com/")
{
h1 {
color: green;
}
}
è¯æ³
@document è§åå¯ä»¥æå®ä¸ä¸ªæå¤ä¸ªå¹é
彿°ã妿å
¶ä¸çä»»ä½å½æ°éç¨äºç»å®ç URLï¼å该è§åå°å¯¹è¯¥ URL çæãå¯ç¨ç彿°å¦ä¸ï¼
url()-
å¹é å®å ¨ç¸ç¬¦ç URLã
url-prefix()-
å¹é ææ¡£ç URL æ¯å¦ä»¥åæ°æå®çå¼å¼å¤´ã
domain()-
å¹é ææ¡£çå忝å¦ä¸ºåæ°ä¸æå®çååæè 为å®çåååã
media-document()-
æ ¹æ®åæ°ä¸çå符串å¹é åªä½æ¥è¯¢ï¼å¹é å ¶ä¸ä¹ä¸ï¼
videoãimageãpluginæallã regexp()å·²å¼ç¨ éæ å-
å¹é ææ¡£ç URL æ¯å¦å忰䏿å®çæ£å表达å¼å¹é ï¼è¯¥è¡¨è¾¾å¼å¿ é¡»å¹é æ´ä¸ª URLã
æä¾ç» url()ãurl-prefix()ãdomain() å media-document() 彿°çåæ°å¯ä»¥ä¸ä½¿ç¨å¼å·æ¬èµ·æ¥ã使ä¾ç» regexp() 彿°çåæ°å¿
é¡»ç¨å¼å·æ¬èµ·æ¥ã
æä¾ç» regexp() 彿°çæ£å表达å¼ä¸ç转ä¹å符å¿
须忬¡è¿è¡ä¸æ¬¡ CSS 转ä¹ãä¾å¦ï¼ä¸ä¸ªå¥å·ï¼.ï¼å¨æ£å表达å¼ä¸å¹é
ä»»ä½å符ã妿æ³è¦å¹é
ä¸ä¸ªçæ£çå¥å·ï¼å¿
é¡»é¦å
æç
§æ£å表达å¼çè§å转ä¹ä¸æ¬¡ï¼å为 \.ï¼ç¶ååä½¿ç¨ CSS è§å对该å符串è¿è¡è½¬ä¹ï¼è½¬æ¢ä¸º \\.ï¼ã
@document ç®ååªå¨ Firefox ç«çæµè§å¨ä¸æ¯æãå¦æä½ æ³å¨é Firefox ç«çæµè§å¨ä¸ä½¿ç¨æ¤åè½ï¼ä½ å¯ä»¥å°è¯ä½¿ç¨ç± @An-Error94 æä¾ç polyfillï¼å®ä½¿ç¨äºç¨æ·èæ¬ãdata-* 屿§å屿§éæ©å¨çç»åã
夿³¨ï¼è¿ä¸ªå±æ§è¿æä¸ä¸ªå¸¦æ -moz- çåç¼çæ¬ââ@-moz-documentãå¨ Firefox ç«çæµè§å¨ 59 ç Nightly å Beta çæ¬ä¸ï¼æ¤çæ¬å·²è¢«éå¶ä»
å¨ç¨æ·å UA æ ·å¼è¡¨ä¸ä½¿ç¨ââè¿æ¯ä¸ä¸ªæ¨å¨åè½»æ½å¨ç CSS 注å
¥æ»å»çå®éªæ§ç¹æ§ãï¼è¯·åé
Firefox bug 1035091ï¼ã
å½¢å¼è¯æ³
@document [ <url> |
url-prefix(<string>) |
domain(<string>) |
media-document(<string>) |
regexp(<string>)
]# {
<group-rule-body>
}
示ä¾
>æå® CSS è§åçææ¡£
@document url("http://www.w3.org/"),
url-prefix("http://www.w3.org/Style/"),
domain("mozilla.org"),
media-document("video"),
regexp("https:.*") {
/* è¿ééç¨ç CSS è§åï¼
- 页é¢ä¸ºâhttp://www.w3.org/â
- ä»»ä½ URL 以âhttp://www.w3.org/Style/âå¼å¤´ç页é¢
- ä»»ä½ URL ç主æºä¸ºâmozilla.orgâæä»¥â.mozilla.orgâç»å°¾ç页é¢
- ä»»ä½ç¬ç«è§é¢
- ä»»ä½ä»¥âhttps:âå¼å¤´çé¡µé¢ */
/* 让ä¸è¿°ç½é¡µåå¾è¶
çº§ä¸ */
body {
color: purple;
background: yellow;
}
}
è§è
@document å¨ç¬¬ä¸çä¸å¼å§æå®æ åï¼å¹¶å¨åæ¥è¢«æ¨è¿å°ç¬¬ 4 çï¼ä½éå被移é¤ã
æµè§å¨å ¼å®¹æ§
åè§
- www-style é®ä»¶å表ä¸çåç½ç«ç¨æ·æ ·å¼è¡¨è§åã