reading-order
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
Want more support for this feature? Tell us why.
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
reading-order 㯠CSS ã®ããããã£ã§ãèªã¿ããã¼ã³ã³ããã¼ã®åè¦ç´ ãããã®è¦ç´ ã®å
å¼è¦ç´ ã«å¯¾ãã¦ç¸å¯¾çã«èªã¾ããé åºã夿´ãããã¨ãã§ãããã¨ãå¯è½ã«ãã¾ãã
æ§æ
/* <integer> å¤ */
reading-order: 1;
reading-order: -1;
/* ã°ãã¼ãã«å¤ */
reading-order: inherit;
reading-order: initial;
reading-order: revert;
reading-order: revert-layer;
reading-order: unset;
å¤
<integer>-
ãã®è¦ç´ ãæå±ããé åºã°ã«ã¼ãã表ãã¾ãã
解説
è¦ç´ ã®ãããã¯ããã¬ãã¯ã¹ãã°ãªããã®è¦ªã³ã³ããã¼ã reading-flow ããããã£ã normal 以å¤ã®å¤ã«è¨å®ãã¦ããå ´åãreading-order ããããã£ã使ç¨ãããã¨ãã§ãã¾ããããã«ããããã®è¦ç´ ã®èªã¿ããã¼ä½ç½®ãå
å¼è¦ç´ ã«å¯¾ããç¸å¯¾ä½ç½®ã¨ãã¦è¨å®ã§ãã¾ãã
èªã¿ã¨ããã²ã¼ã·ã§ã³ã«ããã¦ããããã¯ããã¬ãã¯ã¹ãã°ãªããã³ã³ããã¼å
ã®è¦ç´ ã¯ãreading-order å¤ã®æé ã§ã½ã¼ãããã¾ããè¤æ°ã®å
å¼è¦ç´ ãåã reading-order å¤ãæã¤å ´åããããã®é
ç®ã¯ã³ã³ããã¼ã® reading-flow ã«å¾ã£ã¦ã½ã¼ãããã¾ããæç¤ºç㪠reading-order å¤ãæå®ããã¦ããªãå
å¼è¦ç´ ã«ã¯ããã©ã«ãå¤ 0 ãå²ãå½ã¦ããããããã«ããèªã¿åãããã¼ã³ã³ããã¼ã®åè¦ç´ ã¯æ¢å®ã§åãé åºã°ã«ã¼ãã«é
ç½®ããã¾ãã
å
å¼è¦ç´ ã¯ãçªå·ã®å°ããé åºã°ã«ã¼ããã大ããæ¹ã¸ä¸¦ã¹ããã¾ãããããã£ã¦ãè¦ç´ ãå
å¼è¦ç´ ã®å¾ã«ããããã«çºçãããã«ã¯ããã®è¦ç´ ã« reading-order å¤ã 1 以ä¸è¨å®ãã¾ããè¦ç´ ãå
å¼è¦ç´ ã®åã«ããããã«çºçãããã«ã¯ããã®è¦ç´ ã« reading-order å¤ã -1 以ä¸è¨å®ãã¾ãã
reading-order ã¯èªã¿é ã¨ã¿ãé ãå®ç¾©ãã¾ãããè¦è¦çãªé åºã«ã¯å½±é¿ãä¸ãã¾ããã
tabindex ã¨ã®é¢ä¿
é常ã¯ãã©ã¼ã«ã¹ä¸å¯ã§ããä¸é£ã®èªã¿åãããã¼ã³ã³ããã®åè¦ç´ ããtabindex="0" 屿§ã«ãã£ã¦ãã©ã¼ã«ã¹å¯è½ã«ãããå ´åããããã®èªã¿åãé åºã¯ãreading-flow ããã³ reading-order ããããã£ã«ãã£ã¦æå¾
ãããéãã«å¤æ´ããã¾ããããã¯ã<a> ã <button> ãªã©ã®å¯¾è©±è¦ç´ ã¨åæ§ã®åä½ã§ãã
ãã ããæ£ã® tabindex å¤ã使ç¨ãã¦èªã¿ããã¼ã³ã³ããã¼ã®å
容ã®ã¿ãé åºã夿´ãããã¨ãã¦ãããã¹ã¦ç¡è¦ããã¾ãããã㯠reading-flow ããã³ reading-order ã®å¹æã«ãã£ã¦ä¸æ¸ããããããã§ãããããããããã®å¤ã使ç¨ããã¹ãã§ã¯ããã¾ããã詳細㯠Don't Use Tabindex Greater than 0 ãåç
§ãã¦ãã ãããreading-flow ããã³ reading-order ããããã£ã¯ãå¿
è¦ã«å¿ãã¦ã¿ãé åºã夿´ããã¯ããã«åªããæ¹æ³ãæä¾ãã¾ãã
å ¬å¼å®ç¾©
| åæå¤ | 0 |
|---|---|
| é©ç¨å¯¾è±¡ | ãããã¯ã³ã³ããã¼, ãã¬ãã¯ã¹ã³ã³ããã¼, ã°ãªããã³ã³ããã¼ |
| ç¶æ¿ | ãªã |
| è¨ç®å¤ | The specified integer |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | è¨ç®å¤ã®åã«ãã |
ä¾
>ã°ãªããè¡ã®é åº
ãã®ä¾ã¯ãreading-order ã使ç¨ãã¦ã°ãªããã³ã³ããã¼å
ã®åã
ã®ã°ãªããã¢ã¤ãã ã®èªã¿åãé åºãå¶å¾¡ããæ¹æ³ã示ãã¦ãã¾ããããã°ãªããã¢ã¤ãã ã¯ããã©ã«ãã® 0 ãããä½ã reading-order å¤ãè¨å®ããã¦ããããããã®å
å¼è¦ç´ ãããå
ã«èªã¿ä¸ãããã¾ããå¥ã®ã¢ã¤ãã ã«ã¯ããé«ã reading-order å¤ãè¨å®ããã¦ãããããã½ã¼ã¹ã表示é åºã«é¢ä¿ãªããä»ã®ã¢ã¤ãã ãããå¾ã«èªã¿ä¸ãããã¾ãã
HTML
ãã®ãã¼ã¯ã¢ããã«ã¯ã6 ã¤ã® <a> è¦ç´ ãã©ããã¼ã® <div> ã®ä¸ã«è¨ç½®ããã¦ãã¾ãã
<div class="wrapper">
<a href="#">ã¢ã¤ãã 1</a>
<a class="bottom" href="#">ã¢ã¤ãã 2</a>
<a href="#">ã¢ã¤ãã 3</a>
<a class="top" href="#">ã¢ã¤ãã 4</a>
<a href="#">ã¢ã¤ãã 5</a>
<a href="#">ã¢ã¤ãã 6</a>
</div>
CSS
<div> è¦ç´ ã«å¯¾ãã¦ãgrid-auto-flow ããããã£ã dense ã«è¨å®ãããããã¢ã¤ãã ã¯ã½ã¼ã¹é åºã¨ã¯ç°ãªãé åºã§è¡¨ç¤ºããããã¨ãããã¾ããã¯ã©ã¹å top ã® <a> è¦ç´ ã® reading-order ããããã£ã -1 ã«è¨å®ãã¦ããããããã¢ã¤ãã 4ããèªã¿é ã§ã¯å
é ã®ã¢ã¤ãã ã§ããã¯ã©ã¹å bottom ã® <a> è¦ç´ ã§ã¯ãreading-order ããããã£ã 21 ã«è¨å®ãã¦ããããããã¢ã¤ãã 4ããèªã¿é ã§æå¾ã®ã¢ã¤ãã ã¨ãªãã¾ããæ®ãã®ã¢ã¤ãã ã¯ã<div> è¦ç´ ã® reading-flow ããããã£ã grid-rows ã«è¨å®ããã¦ãããããã°ãªããè¡é åºã§é çªã«å¦çããã¾ãã
.wrapper {
display: grid;
grid-template-columns: repeat(3, 150px);
grid-auto-flow: dense;
reading-flow: grid-rows;
}
.top {
reading-order: -1;
}
.bottom {
reading-order: 21;
}
çµæ
ãã®ãã¢ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã
ã¿ããã¼ã§ãªã³ã¯ãç§»åãã¦ã¿ã¦ãã ãããã¾ããã¢ã¤ãã 4ãã«ã¿ãç§»åãããæå¾ã«ãã¢ã¤ãã 2ããã¿ãç§»åãããç¹ã«æ³¨ç®ãã¦ãã ããããã㯠reading-order å¤ã夿´ããè¨å®ã«ãªã£ã¦ããããã§ãããã®éã®ã¢ã¤ãã ã¯ã°ãªããã®è¡é ã«ã¿ãç§»åããã¾ãã
ã½ã¼ã¹é ã®ä¸æ¸ã
ãã®ä¾ã§ã¯ã奿°çªå·ã®ã¢ã¤ãã ã«ä½ã reading-order å¤ãè¨å®ããã¦ãããããã½ã¼ã¹ã表示é åºã«é¢ä¿ãªããã°ã«ã¼ãå
ã®ä»ã®ã¢ã¤ãã ããå
ã«èªã¿ä¸ãããã¾ãã
HTML
ãã®ãã¼ã¯ã¢ããã§ã¯ã5 ã¤ã® <a> è¦ç´ ãã©ããã¼ã® <div> ã®ä¸ã«è¨ç½®ããã¦ãã¾ãã
<div class="wrapper">
<a href="#">ã¢ã¤ãã 1</a>
<a href="#">ã¢ã¤ãã 2</a>
<a href="#">ã¢ã¤ãã 3</a>
<a href="#">ã¢ã¤ãã 4</a>
<a href="#">ã¢ã¤ãã 5</a>
</div>
CSS
<div> è¦ç´ ã® reading-flow ããããã£ã¯ source-order ã«è¨å®ããã¦ãããããã«ãã reading-order ã使ç¨ãã¦ããã©ã«ãã®ã½ã¼ã¹èªã¿é ã䏿¸ããããã¨ãã§ãã¾ãã奿°çªå·ã® <a> è¦ç´ 㯠reading-order ã®å¤ã -1 ã§ãããããå¶æ°çªå·ã®ã¢ã¤ãã ãããå
ã«èªã¿ä¸ãããã¾ãã
.wrapper {
reading-flow: source-order;
}
.wrapper > a {
display: block;
}
.wrapper a:nth-child(odd) {
reading-order: -1;
}
çµæ
ãã®ãã¢ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã
ã¿ããã¼ã§ãªã³ã¯ãç§»åãã¦ã¿ã¦ãreading-order ã®å¤æ´ã«ããããã¢ã¤ãã 1ãããã¢ã¤ãã 3ãããã¢ã¤ãã 5ãã«å
ã«ã¿ãç§»åããç¹ã«æ³¨æãã¦ãã ããããã®å¾ãã¢ã¤ãã ã¯ã½ã¼ã¹é ã«ç§»åããã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Display Module Level 4 > # propdef-reading-order > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
reading-flow- CSS
reading-flowexamples via chrome.dev