CSSContainerRule: containerQuery ããããã£
Baseline
2023
Newly available
Since â¨September 2023â©, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
containerQuery 㯠CSSContainerRule ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®èªã¿åãå°ç¨ããããã£ã§ãã³ã³ããã¼ã®ãµã¤ãºãå¤ãã£ãã¨ãã«ãé¢é£ãã @container ã®ã¹ã¿ã¤ã«è¨å®ãé©ç¨ããããã©ããã夿ããããã«è©ä¾¡ãããã³ã³ããã¼æ¡ä»¶ã表ãæååãè¿ãã¾ãã
ä¾ãã°ãä¸è¨ã® @container ã® containerQuery ã®å¤ã¯ (min-width: 700px) ã§ãã
@container sidebar (min-width: 700px) {
.card {
font-size: 2em;
}
}
å¤
ã³ã³ããã¼ã¯ã¨ãªã¼ã®å ¥ã£ãæååã§ãã
ãã¯ã¤ãã¹ãã¼ã¹ã®é¤å»ãªã©ã®æ£è¦åãè¡ããããããå¤ãå ã®æååã¨åãã«ãªãã¨ã¯éããªããã¨ã«æ³¨æãã¦ãã ããã
ä¾
ä¸è¨ã®ä¾ã§ã¯ãç¡åã® @container ã«ã¼ã«ãå®ç¾©ããé¢é£ãã CSSContainerRule ã®ããããã£ã表示ãã¾ãã
CSS 㯠@container ã®ä¾ã³ã³ããã¼ã®å¤§ããã«åºã¥ããã¹ã¿ã¤ã«ã®è¨å®ã¨åãã§ãã
æåã® HTML 㯠post ã«å«ã¾ãã card (<div>) ã® HTML ãå®ç¾©ãã¾ãã
<div class="post">
<div class="card">
<h2>ã«ã¼ãã¿ã¤ãã«</h2>
<p>ã«ã¼ãã®å
容</p>
</div>
</div>
ã³ã³ããã¼è¦ç´ ã® CSS ã¯ã³ã³ããã¼ã®åãæå®ãã¾ãã
ããã¦ã @container ã¯ãå¹
ã 650px æªæºã®å ´åãæ ¼ç´ããè¦ç´ "card" ã«æ°ããå¹
ããã©ã³ããµã¤ãºãèæ¯è²ãé©ç¨ãã¾ãã
<style id="example-styles">
/* ã¤ã³ã©ã¤ã³ãµã¤ãºã«åºã¥ãã³ã³ããã¼ã³ã³ããã¹ã */
.post {
container-type: inline-size;
}
/* ã³ã³ããã¼ã®å¹
ã 650px ããçãå ´åã«ã¹ã¿ã¤ã«ãè¨å® */
@container (width < 650px) {
.card {
width: 50%;
background-color: gray;
font-size: 1em;
}
}
</style>
ä¸è¨ã®ã³ã¼ãã§ã¯ãä¾ã«é¢é£ä»ãããã¦ãã HTMLStyleElement ã id ã使ç¨ãã¦åå¾ãããã® sheet ããããã£ã使ç¨ã㦠StyleSheet ãåå¾ãã¦ãã¾ãã
StyleSheet ãããã·ã¼ãã«è¿½å ãã cssRules ã®è¨å®ãåå¾ãã¾ãã
ä¸è¨ã® 2 ã¤ç®ã®ã«ã¼ã«ã¨ã㦠@container ã追å ããã®ã§ã cssRules ã® 2 ã¤ç®ã®é
ç®ï¼ã¤ã³ããã¯ã¹ã "1"ï¼ã使ç¨ãã¦ãé¢é£ãã CSSContainerRule ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
æå¾ã«ãã³ã³ããã¼åã¨ã¯ã¨ãªã¼ã®ããããã£ããã°åºåãã¾ãã
const exampleStylesheet = document.getElementById("example-styles").sheet;
const exampleRules = exampleStylesheet.cssRules;
const containerRule = exampleRules[1]; // a CSSContainerRule representing the container rule.
log(`CSSContainerRule.containerQuery: "${containerRule.containerQuery}"`);
åºåä¾ãä¸è¨ã«ç¤ºãã¾ãã ãã°åºåãã¦ããæååãæ²è¼ããã¦ãã¾ãã ãã¼ã¸ã®å¹ ã 650px ã«é·ç§»ããã¨ãã«ã¼ãã¯èæ¯ã夿´ãã¾ãã
仿§æ¸
| Specification |
|---|
| CSS Conditional Rules Module Level 5 > # dom-csscontainerrule-containerquery > |