container-type
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2023ë 2ì.
* Some parts of this feature may have varying levels of support.
container-type CSS ìì±ì ì¬ì©íë©´ ìì를 쿼리 컨í
ì´ëë¡ ì¤ì í ì ììµëë¤. container-typeì 컨í
ì´ë 쿼리ìì ì¬ì©í 컨í
ì´ë ë§¥ë½ì ì íì ì ìíë ë° ì¬ì©ë©ëë¤. ì¬ì©í ì ìë 컨í
ì´ë ë§¥ë½ì ë¤ìê³¼ ê°ìµëë¤.
- í¬ê¸°: 컨í ì´ëì ìµë/ìµì í¬ê¸°, ê°ë¡ì¸ë¡ ë¹ì¨, ë°©í¥ ë±ê³¼ ê°ì ì¼ë°ì ì¸ í¬ê¸°ë ì¸ë¼ì¸ í¬ê¸° ì¡°ê±´ì ë°ë¼ ìì ììì CSS ê·ì¹ì ì íì ì¼ë¡ ì ì©í ì ììµëë¤.
- ì¤í¬ë¡¤ ìí: 컨í ì´ëê° ì¼ë¶ ì¤í¬ë¡¤ëì´ ìê±°ë, ì¤í¬ë¡¤ ì¤ë 컨í ì´ëì ë§ì¶°ì§ ì¤ë íê²ì¸ ê²½ì° ë± ì¤í¬ë¡¤ ìíì ë°ë¼ 컨í ì´ëì ìì ììì CSS ê·ì¹ì ì íì ì¼ë¡ ì ì©í ì ììµëë¤.
ì°¸ê³ :
container-typeê³¼ container-name ìì±ì ì¬ì©í ëìë, contain ìì±ì styleê³¼ layout ê°ì´ ìëì¼ë¡ ì ì©ë©ëë¤.
구문
/* í¤ìë ê° */
container-type: normal;
container-type: size;
container-type: inline-size;
container-type: scroll-state;
/* ë ê°ì ê° */
container-type: size scroll-state;
/* ì ì ê° */
container-type: inherit;
container-type: initial;
container-type: revert;
container-type: revert-layer;
container-type: unset;
ê°
container-type ìì±ì ìë ëª©ë¡ ì¤ íëì ê°ë§ ì§ì í ìë ìê³ , ë ê°ì ê°ì ì§ì í ìë ììµëë¤. ì´ë ë ê°ì ì§ì í ê²½ì° íëë ë°ëì ì¤í¬ë¡¤ ìíì¬ì¼ íë©°, ë¤ë¥¸ íëë inline-size ëë sizeê° ë ì ììµëë¤. ì¦, ììë í¬ê¸° 쿼리 컨í
ì´ë, ì¤í¬ë¡¤ ìí 쿼리 컨í
ì´ë, ë ë¤, ëë ë ë¤ ìë ìíë¡ ì¤ì í ì ììµëë¤.
inline-size-
컨í ì´ëì ì¸ë¼ì¸ ì¶(ê°ë¡ ë°©í¥)ì ëí í¬ê¸° 쿼리를 ìí 쿼리 컨í ì´ë를 ì¤ì í©ëë¤. í´ë¹ ìììë layout, style, inline-size 컨í ì¸ë¨¼í¸ê° ì ì©ë©ëë¤.
ììì ì¸ë¼ì¸ í¬ê¸° 컨í ì¸ë¨¼í¸ê° ì ì©ëì´, ìì ìì를 무ìíê³ ìì ìì²´ì ì¸ë¼ì¸ í¬ê¸°ë§ ë 립ì ì¼ë¡ ê³ì°í ì ììµëë¤(ìì¸í ë´ì©ì CSS 컨í ì¸ë¨¼í¸ ì¬ì©í기 ì°¸ê³ ).
normal-
기본ê°ì ëë¤. ì´ ììë ì´ë¤ 컨í ì´ë í¬ê¸° 쿼리ì 쿼리 컨í ì´ëë¡ë ëìíì§ ìì§ë§, 컨í ì´ë ì¤íì¼ ì¿¼ë¦¬ì 쿼리 컨í ì´ëë¡ë ì ì§ë©ëë¤.
scroll-state-
컨í ì´ëì ì¤í¬ë¡¤ ìí 쿼리를 ìí 쿼리 컨í ì´ë를 ì¤ì í©ëë¤. ì´ ê²½ì°, ììì í¬ê¸°ë ë 립ì ì¼ë¡ ê³ì°ëì§ ìì¼ë©°, ì´ë í 컨í ì¸ë¨¼í¸ë ì ì©ëì§ ììµëë¤.
size-
컨í ì´ëì ì¸ë¼ì¸ê³¼ ë¸ë¡ ë°©í¥ ëª¨ëì ëí í¬ê¸° 쿼리를 ìí 쿼리 컨í ì´ë를 ì¤ì í©ëë¤. 컨í ì´ëìë ë ì´ìì 컨í ì¸ë¨¼í¸, ì¤íì¼ ì»¨í ì¸ë¨¼í¸, í¬ê¸° 컨í ì¸ë¨¼í¸ê° 모ë ì ì©ë©ëë¤.
ìììë ì¸ë¼ì¸ê³¼ ë¸ë¡ ë°©í¥ ëª¨ëì í¬ê¸° 컨í ì¸ë¨¼í¸ê° ì ì©ëì´, ìì ìì를 무ìíê³ ìì ìì²´ì í¬ê¸°ë§ ë 립ì ì¼ë¡ ê³ì°í ì ììµëë¤.
íì ì ì
| ì´ê¸°ê° | normal |
|---|---|
| ì ì©ëì | all elements |
| ìì | no |
| ê³ì° ê° | as specified |
| Animation type | a color |
íì 구문
container-type =
normal |
[ [ size | inline-size ] || scroll-state ]
ì¤ëª
컨í
ì´ë 쿼리를 ì¬ì©íë©´ 컨í
ì´ëì ëí´ ì¡°ê±´ì 쿼리íì¬ ê·¸ì ë°ë¼ ë´ë¶ ììì ì¤íì¼ì ì íì ì¼ë¡ ì ì©í ì ììµëë¤. @container @-ê·ì¹ì 컨í
ì´ëì ëí´ ìíí í
ì¤í¸ì, 쿼리 ê²°ê³¼ê° trueì¼ ë 컨í
ì´ë ë´ë¶ì ì ì©í ê·ì¹ì ì§ì íë ë° ì¬ì©ë©ëë¤.
컨í
ì´ë 쿼리 í
ì¤í¸ë container-type ìì±ì´ ì§ì ë ìììë§ ìíëë©°, ì´ ìì±ì í´ë¹ ìì를 í¬ê¸° ëë ì¤í¬ë¡¤ ìí 컨í
ì´ë(ëë ë ë¤)ë¡ ì ìí©ëë¤.
컨í ì´ë í¬ê¸° 쿼리
컨í ì´ë í¬ê¸° 쿼리를 ì¬ì©íë©´ ìµë/ìµì í¬ê¸°, ê°ë¡ì¸ë¡ ë¹ì¨, ë°©í¥ ë±ê³¼ ê°ì í¬ê¸° ì¡°ê±´ì ë°ë¼ 컨í ì´ëì íì ììì CSS ê·ì¹ì ì íì ì¼ë¡ ì ì©í ì ììµëë¤.
í¬ê¸° 컨í ì´ëìë ì¶ê°ì ì¼ë¡ í¬ê¸° 컨í ì¸ë¨¼í¸ê° ì ì©ë©ëë¤. ì´ë ììê° ìì ì ë´ì©ì¼ë¡ë¶í° í¬ê¸° ì 보를 ì»ì§ 못íê² íì¬, 컨í ì´ë 쿼리ìì 무í 루íê° ë°ìíë ê²ì ë°©ì§íë ë° ì¤ìí©ëë¤. ë§ì½ ê·¸ë ì§ ìë¤ë©´, 컨í ì´ë 쿼리 ë´ë¶ì CSS ê·ì¹ì´ ì½í ì¸ ì í¬ê¸°ë¥¼ ë³ê²½íê³ , ê·¸ë¡ ì¸í´ 쿼리 ê²°ê³¼ê° falseê° ëì´ ë¶ëª¨ ììì í¬ê¸°ê° ë°ëê³ , ë¤ì ì½í ì¸ í¬ê¸°ê° ë°ëì´ ì¿¼ë¦¬ ê²°ê³¼ê° trueë¡ ë°ëë ì¼ì´ ë°ë³µëì´ ëìë 루íê° ë°ìí ì ììµëë¤.
컨í ì´ëì í¬ê¸°ë ë¶ëª¨ì ì ì²´ ëë¹ë¡ íì¥ëë ë¸ë¡ ë 벨 ììì²ë¼ 문맥ì ìí´ ê²°ì ëê±°ë, ëª ìì ì¼ë¡ ì ìëì´ì¼ í©ëë¤. ë§ì½ 문맥ì ëë ëª ìì ì¼ë¡ í¬ê¸°ê° ì§ì ëì§ ìì¼ë©´, í¬ê¸° 컨í ì¸ë¨¼í¸ê° ì ì©ë ììë í¬ê¸°ê° ì¬ë¼ì ¸ë²ë¦½ëë¤.
컨í ì´ë ì¤í¬ë¡¤ ìí 쿼리
컨í ì´ë ì¤í¬ë¡¤ ìí 쿼리를 ì¬ì©íë©´ ë¤ìê³¼ ê°ì ì¤í¬ë¡¤ ìí ì¡°ê±´ì ë°ë¼ 컨í ì´ëì ìì ììì CSS ê·ì¹ì ì íì ì¼ë¡ ì ì©í ì ììµëë¤.
- 컨í ì´ëì ë´ì©ì´ ì¼ë¶ ì¤í¬ë¡¤ëì´ ìëì§ ì¬ë¶
- 컨í ì´ëê° ì¤í¬ë¡¤ ì¤ë 컨í ì´ëì ë§ì¶°ì§ ì¤ë íê²ì¸ì§ ì¬ë¶
- 컨í
ì´ëê°
position: stickyë¡ ì¤ì ëì´ ì¤í¬ë¡¤ 컨í ì´ëì ê²½ê³ì ê³ ì ëì´ ìëì§ ì¬ë¶
첫 ë²ì§¸ ê²½ì°ìë 쿼리 ëì 컨í ì´ëê° ë°ë¡ ê·¸ ì¤í¬ë¡¤ 컨í ì´ë ìì²´ì ëë¤. ëë¨¸ì§ ë ê²½ì°ìë 쿼리 ëì 컨í ì´ëê° ìì ì¤í¬ë¡¤ 컨í ì´ëì ì¤í¬ë¡¤ ìì¹ì ìí¥ì ë°ë ììì ëë¤.
ìì
>ì¸ë¼ì¸ í¬ê¸° 컨í ì¸ë¨¼í¸ ì¤ì í기
ë¤ìì ì´ë¯¸ì§, ì 목, í ì¤í¸ë¡ 구ì±ë ì¹´ë ì»´í¬ëí¸ì HTML ììì ëë¤.
<div class="container">
<div class="card">
<h3>Normal card</h3>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</div>
</div>
</div>
<div class="container wide">
<div class="card">
<h3>Wider card</h3>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</div>
</div>
</div>
컨í
ì´ë ë§¥ë½ì ìì±íë ¤ë©´ ììì container-type ìì±ì ì¶ê°íë©´ ë©ëë¤.
ìë ììë inline-size ê°ì ì¬ì©íì¬ ì»¨í
ì´ëì ì¸ë¼ì¸ ì¶ì ëí 컨í
ì¸ë¨¼í¸ ë§¥ë½ì ìì±íë ë°©ë²ì ë³´ì¬ì¤ëë¤.
.container {
container-type: inline-size;
width: 300px;
height: 120px;
}
.wide {
width: 500px;
}
@container @-ê·ì¹ì ì¬ì©í´ 컨í
ì´ë 쿼리를 ìì±íë©´, 컨í
ì´ëì ëë¹ê° 400pxë³´ë¤ ëì ë í´ë¹ 컨í
ì´ëì ììì ì¤íì¼ì´ ì ì©ë©ëë¤.
@container (width > 400px) {
.card {
display: grid;
grid-template-columns: 1fr 2fr;
}
}
ëª ì¸ì
| Specification |
|---|
| CSS Conditional Rules Module Level 5 > # container-type > |
| CSS Anchor Positioning Module Level 2 > # container-type-anchored > |
ë¸ë¼ì°ì í¸íì±
ê°ì´ 보기
- CSS 컨í ì´ë 쿼리
- 컨í ì´ë í¬ê¸° ë° ì¤íì¼ ì¿¼ë¦¬ ì¬ì©í기
- 컨í ì´ë ì¤í¬ë¡¤ ìí 쿼리 ì¬ì©í기
@container@-ê·ì¹- CSS
containerì¶ì½í ìì± - CSS
container-nameìì± - CSS
content-visibilityìì±