CSS3ã«é¢ããæ¬ã®èè
ã§ããPeter Gastonã¯ã
The future of CSS layoutsãšããèšäºãçºè¡ããŸããããã®èšäºã®ç¿»èš³ã¯ã以äžã«ç€ºãHabréã®èªè
åãã§ãã
CSSã®ãã¹ãŠã®é©ãã¹ãæ©èœã«ãããããããããŒãžã¬ã€ã¢ãŠãã®åºæ¬ååãå®è£
ããã«ã¯ååã§ã¯ãããŸããã ãã ããããåçãªããŒãžãäœæããããã®è¿œå æ©èœã¯ãã§ã«è¡šç€ºããå§ããŠããŸããæ°å¹Žã®çŽæã®åŸãCSS3ã¯ããããã¹ã¿ã€ã«ã«åªããŸããã 圌ã¯äžé£ã®æ°ããããŒã«ãæŠåšåº«ã«è¿œå ããè§ã®äžžã¿ãã°ã©ããŒã·ã§ã³ãéæåºŠãèŠçŽ ã®å€æãã¢ãã¡ãŒã·ã§ã³ãªã©ãæäŸããŸããã ä»ã«äœãç§ãã¡ã®ç®ãåã°ããããšãã§ããŸããïŒ
次ã®CSSã®åé¡ã¯ããŒã¯ã¢ããã§ãã ãããŸã§ãæµ®åãããã¯ãè² ã®ã€ã³ãã³ãã䜿çšããçžå¯Ÿçãªäœçœ®ãšããªãã¯ã䜿çšããŠãããå®è¡ããŠããŸãããããããå®è£
ããã®ã¯é£ãããçµæã¯æšæºã®2åãŸãã¯3åã®ããŒã¯ã¢ããã®ããã«èŠããŸããã
W3Cã³ã³ãœãŒã·ã¢ã ãšãã©ãŠã¶ã¡ãŒã«ãŒã¯ãããã®åé¡ãèªèããŠãããå€ãã®ãœãªã¥ãŒã·ã§ã³ã«åãçµãã§ããŸãã ãã®äžã§ããªãŒããŒã¯ïŒåœç¶ã®ããšã§ããïŒInternet Explorerã§ãã IE10ã¯ãCSSããŒã¯ã¢ããã®æ°æä»£ã®å
é§ããšãªãã以åã¯éæã§ããªãã£ãæ©èœã䜿çšããŠãåªãããã€ãããã¯ã§é
åçãªãµã€ããäœæã§ããããã«ãªããŸãã
ãã®èšäºã§ã¯ãèè
ã¯ããã§ã«å®è£
ãããŠãããã®ããçŽç²ã«çè«çãªãã®ãŸã§ãéçºã®åã
ã®æ®µéã§äœ¿çšãããããŸããŸãªããŒã¯ã¢ããæ¹æ³ãæ€èšããŸãã ïŒå°ãªããšãçŸåšã®åœ¢åŒã§ã¯ïŒå°æ¥çã«ãã¹ãŠã䜿çšããããšã¯ã§ããªããããããŸãããããããã®ã¡ãœãããèŠãŠCSSããŒã¯ã¢ããã®å°æ¥ãçè§£ãã䟡å€ããããŸãã
ã¹ããŒã«ãŒ
è€æ°ã®åéã§ã³ã³ãã³ããé
åžããããšã¯å°å·ã®äž»èŠãªèŠçŽ ã§ããã
CSS Multi-Columnsã¢ãžã¥ãŒã«ã¯Webã«åãæ©äŒãæäŸããŸãã åãäœæããã«ã¯ã2ã€ã®ã¡ãœããã䜿çšã§ããŸããåã¡ãœããã¯ïŒèŠªèŠçŽ ã®ïŒç°ãªãããããã£ã䜿çšããŸãã æåã®ã±ãŒã¹ã§ã¯ãåã®æ°ãçŽæ¥èšå®ããããã®äžã«ããã¹ããé
åžããå¿
èŠããããŸãã ããšãã°ã次ã®ã³ãŒãã¯åãå¹
ã®3ã€ã®åãäœæãã芪èŠçŽ ã®å¹
å
šäœãåããŸãã
div { column-count: 3; }
2çªç®ã®æ¹æ³ã§ã¯ãåã®å¹
ãåºå®ããã芪èŠçŽ ã®å¹
ãæºãããŸã§åãç¹°ãè¿ãããŸãã ãã®äŸã§ã¯ãåã®å¹
ã140pxã«èšå®ãããŠããŸããã€ãŸãã800pxå¹
ã®ãããã¯ã«5ã€ã®åã衚瀺ãããŸãã
div { column-width: 140px; }
ããã©ã«ãã§ã¯ãåéã®ã®ã£ããã¯1emã§ããã
column-gapããããã£ã䜿çšããŠå€æŽã§ããŸãã
column-ruleã䜿çšããŠ
åã®éã«åå²ç·ãé
眮ããããšãã§ããŸããæ§æã¯borderããããã£ã«äŒŒãŠããŸãã 以äžã®ã³ãŒãã¯ãå¹
ã2ãã¯ã»ã«ã®ç Žç·ãäœæããåéã®ã€ã³ãã³ãã28ãã¯ã»ã«ã«èšå®ããŸãïŒã»ãã¬ãŒã¿ãŒã¯äžå€®ã«é
眮ãããŸãïŒã
div { column-gap: 28px; column-rule: 2px dotted #ccc; }
çµæã確èªãããå Žå
ã¯ãCSSåã®å®è£
ã®äŸãã芧ãã ããã 3ã€ã®åã衚瀺ããã«ã¯ãFirefoxãChromeãSafariãOpera 11.1ãŸãã¯IE10 Platform Preview
ïŒIE10PPïŒã䜿çšããå¿
èŠããããŸãã ãŸãã¯ã以äžã®ã¹ã¯ãªãŒã³ã·ã§ãããã芧ãã ããã

åã䜿çšããŠããŸããŸãªããšãã§ããŸãã ãããã®å®éçãªäœ¿çšäŸã¯ãWikipedia
ã®notesã»ã¯ã·ã§ã³ã«ããã
column-countã䜿çšãããŠããŸãã Firefoxã§ã¯ããã«ã
ã«ã©ã ã¯-moz-ãã¬ãã£ãã¯ã¹ã§å®è£
ãããChromeããã³Safariã§ã¯
-webkit-ãã¬ãã£ãã¯ã¹ã§ãOpera 11.1ããã³IE10PPã§ã¯ãã¬ãã£ãã¯ã¹ãªãã§å®è£
ãããŸãã
ãã¬ãã·ãã«ããã¯ã¹
ãã¬ãã·ãã«ããã¯ã¹ã¬ã€ã¢ãŠã ïŒFlexBoxïŒã¢ãžã¥ãŒã«ã䜿çšãããšãé«ããšå¹
ã®å€ãèšç®ããå¿
èŠãªãã芪å
ã®èŠçŽ ã®ãµã€ãºãèªåçã«å€æŽã§ããŸãã ããšãã°ã2ã€ã®åããããäž¡æ¹ã®ãããã¯ã®å¹
ãåãã«ãªãããã«ã芪ïŒå¹
ãç°ãªãïŒãåããããšããŸãã ããã¯ããŒã»ã³ãå€ã䜿çšããŠå®è¡ã§ããŸãããå¢çç·ãšã€ã³ãã³ãã®å Žåãã¿ã¹ã¯ã¯å°é£ã«ãªããŸãã FlexBoxã䜿çšãããœãªã¥ãŒã·ã§ã³ã¯ã¯ããã«ç°¡åã§ãã
.parent { display: box; } .child-one, .child-two { box-flex: 1; }
ãã®ã³ãŒãã¯ã2ã€ã®åã芪ã®å
åŽã«æ°Žå¹³ã«é
眮ããããããåãå¹
ã«ããŸãã å®éã«ã¯ã
box-flexå€ã¯å²åãšããŠæ©èœãã空ã®é åãèæ
®ããããã®å€ã®å²åã§åã«åé
ãããŸãã 屿©ã«atããŠãããã®ãçè§£ããã«ã¯ã次ã®ã³ãŒããæ€èšããŠãã ããã
.child-one { box-flex: 1; } .child-two { box-flex: 2; }
2ã€ã®èŠçŽ ã芪ã®å
éšã«åæ£ããããšã
.child-oneã®åãã¯ã»ã«ããšã«
.child-twoã®å¹
ã2ãã¯ã»ã«å¢å ããŸãã 芪ã®å¹
ã260ãã¯ã»ã«ã§ãååã100ãã¯ã»ã«ã®å Žåãæ®ãã®60ãã¯ã»ã«ã¯
.child-twoãš
.child-oneã® 20px
ãå²ãåœãŠãããããã«åé
ãããŸãã
ãã®æŠå¿µã¯ã
FlexBoxã
äŸãšããŠ
䜿çšãããšçè§£
ãããããªã
ãŸã ïŒFirefoxãChromeãSafariããŸãã¯IE10PPãå¿
èŠã§ãïŒã ãã©ãŠã¶ãŠã£ã³ããŠã®ãµã€ãºã倿ŽããŠãã¹ã±ãŒãªã³ã°ã«æ³šæããŠãã ããã
èŠçŽ ã®åçãªãµã€ãºå€æŽãšåæ§ã«ãFlexBoxã§ã¯ããããã£ã芪ã«é©çšããŠã空çœã®ååžãå¶åŸ¡ããåèŠçŽ ã®äœçœ®ãèšå®ããããšãã§ããŸãã
box-alignããããã£ã¯åã®å¹
ã«åœ±é¿ãããã¢ã®
box-packããããã£ã¯åã®é«ãã«åœ±é¿ããŸãã 以äžã«ããããã©ã®ããã«æ©èœãããã瀺ããŸãã
.parent { box-align: center; box-pack: center; display: box; height: 200px; width: 200px; } .child { box-flex: 0; height: 100px; width: 100px; }
.childèŠçŽ ã®
box-flexããããã£å€ã¯
0ã§ãããããåçã«ãµã€ãºå€æŽãããããšã¯ãããŸããããŸãã芪èŠçŽ ã®é«ããšå¹
ã®ååã«ãªãã
box-alignãš
ç®±ãã㯠ã ã€ãŸããåãããã¯ã¯åçŽæ¹åãšæ°Žå¹³æ¹åã®äžå€®ã«é
眮ãããŸãã

çŸæç¹ã§ã¯ãFlexBoxã¯FirefoxãChromeãSafariãIE10PPã«é©åãªãã©ãŠã¶ãŒãã¬ãã£ãã¯ã¹ïŒ
-moz- ã-
webkit- ãããã³
-ms- ïŒã§
å®è£
ãããŠãããJS PolyfillãFlexieã
詊ããŠã¿ãããšãã§ããŸãã æ§æã倿ŽãããããšãèŠããŠãããŠãã ããã詳现ã¯
æåŸã®ä»æ§ã«ãããŸãã
ããŒãã«
IE10PPã®çæ°ããã®ã¯ãããŒãã«ã¬ã€ã¢ãŠãã·ã¹ãã ã§ãã 䜿çšããåã«ãè¡ãšåãæ±ºå®ããå¿
èŠããããŸãã åã®å Žåãé·ãã®å€ã
èªåããŒã¯ãŒããããã³æ°ããæž¬å®åäœ
fr ïŒ
fraction ãrelative amountã®ç¥ïŒã䜿çšã§ããŸãã ãã®äŸãèŠãŠãã ããïŒ
div { display: grid; grid-columns: 1fr 3fr 1fr; grid-rows: 100px auto 12em; }
ãã®ã³ãŒãã¯ã3ã€ã®åã®ããŒãã«ãäœæããŸãããã®äžå€®ã¯ãå·Šå³ã«3åã®å¹
ãããã3è¡ãããªããŸããäžéšã®é«ãã¯100ãã¯ã»ã«ãäžéšã®é·ãã¯12emãã³ã³ãã³ãã®é·ãã«å¿ããŠäžå€®ã®é«ããèªåçã«æ¡å€§ããŸãã
ããŒãã«ãã§ããã®ã§ãããã«ã³ã³ãã³ããé
眮ã§ããŸãã HTML5èŠçŽ ã䜿çšãããšãéåžžã«åçŽãªããŒãžã¬ã€ã¢ãŠããå®éã«äœæã§ããŸãã
header { grid-column: 1; grid-column-span: 3; grid-row: 1; } nav { grid-column: 1; grid-row: 2; } article { grid-column: 2; grid-row: 2; } aside { grid-column: 3; grid-row: 2; } footer { grid-column: 1; grid-column-span: 3; grid-row: 3; }
ã³ãŒããèŠããšãããŒãžã®ã³ã³ãã³ãããããã
grid-rowããããã£ãš
grid-columnããããã£ã䜿çšããŠè¡ãšåã«åæ£ãããŠããããšãããããŸãã
articleèŠçŽ ã¯ã2è¡ç®ã®2åç®ãã€ãŸã3x3ããŒãã«ã®äžå€®ã«é
眮ãããŸãã
column-spanããããã£ã¯ã
ããããŒèŠçŽ ãš
ããã¿ãŒèŠçŽ ã«ã䜿çšããã3ã€ã®åãã¹ãŠã«åŒã䌞ã°ãããŸãïŒããã§ã¯äœ¿çšãããªãã£ã
row-spanããããã£ãåæ§ã«æ©èœããŸãïŒã
CSSã°ãªããã®äŸã§ãã¢ããŒã¯ã¢ããã確èªã§ããŸãããIE10ãã©ãããã©ãŒã ãå¿
èŠã§ãã ããã§ãªãå Žåã¯ãã¹ã¯ãªãŒã³ã·ã§ãããã芧ãã ããã

äžèšã®ããããã£ã¯IE10PPã§å®å
šã«å®è£
ãããŠãããããä»ãã詊ãããšãã§ããŸãã ãã ããå€ãã®ããããã£ã¯ãŸã å®è£
ãããŠããŸããã
æš¡æ§
ããŒãã«ãã¥ãŒãžã®å¥ã®ã¢ãããŒãã¯ã
ãã³ãã¬ãŒãã¬ã€ã¢ãŠãã¢ãžã¥ãŒã«ã§ãã ãããã«ç°ãªãæ§æã䜿çšããŸããæåã«ãã¢ã«ãã¡ãããæåãš
äœçœ®ããããã£ã䜿çšããŠãããã¯ã«äœçœ®ãå²ãåœãŠãå¿
èŠããããŸãã
header { position: a; } nav { position: b; } article { position: c; }
äœçœ®ãå²ãåœãŠãããäžé£ã®æåã䜿çšããŠããŒã¯ã¢ãããäœæã§ããŸãã åã·ãŒã±ã³ã¹ã¯è¡ã«çžåœããã·ãŒã±ã³ã¹å
ã®åæåã¯åã§ãã ããšãã°ã1è¡3åããããŒãã«ãäœæããã«ã¯ã次ã䜿çšã§ããŸãã
div { display: 'abc'; }
ãã®å Žåã3ã€ã®åçã«åæ£ãããèŠçŽ ãæ°Žå¹³ç·ã§è¡šç€ºãããŸãã ãã ããæåãç¹°ãè¿ããŠåãå±éããããç°ãªãè¡ã®åãäœçœ®ã«ããåãæåã䜿çšããŠè¡ãå±éãããã§ããŸãã æ¬¡ã®äŸã§ã¯ã
navèŠçŽ ã2ã€ã®è¡ã«éãªã£ãŠããã
ããããŒãš
èšäºã2ã€ã®åã«éãªã£ãŠããŸãïŒã³ãŒãã¯æç¢ºã«ããããã«ãã©ãŒããããããŠããŸãïŒã
div { display: 'baa' 'bcc'; }
ãã³ãã¬ãŒãã¬ã€ã¢ãŠãã¯ãã©ãŠã¶ã§ã¯ãŸã 䜿çšãããŠããŸããã
ãjQueryã«ã¯ãå®éšãå¯èœ
ã«ããåªãã
ããªãã£ã«ã¹ã¯ãªãããæ¢ã«ãã
ãŸã ãããã¯
ãåç
§äŸã§äœ¿çšãããŸããã çµæã¯ããŒãã«ã¬ã€ã¢ãŠãã®äŸãšåãã«èŠããŸãããã³ãŒãã¯ãŸã£ããç°ãªããŸãã
ãã¢ããŒãžã¯JavaScriptã䜿çšããŠãããããææ°ã®ãã¹ãŠã®ãã©ãŠã¶ãŒã§åäœããã¯ãã§ãã æ¬¡ã®äŸã®ããã«ãããŒãã«ã¬ã€ã¢ãŠãã¯ãã³ãã¬ãŒãã®æ§æããµããŒãããå ŽåããããŸãã
header { grid-cell: a; } article { grid-cell: b; } div { display: grid; grid-template: 'a' 'b'; }
æ©èœé¢ã§ã¯ããã®ã³ãŒãã¯ãã³ãã¬ãŒãã¬ã€ã¢ãŠãã®ããããã£ãšåãã§ããããŸã å®è£
ãããŠããŸããïŒãŸãã¯å®è£
ãããŠããªãå¯èœæ§ããããŸãïŒã
é
眮ããããããŒãã£ã³ã°ãããã¯
çŸåšã®
ãããŒãããããã£ã䜿çšãããšãããã¹ãã¯èŠçŽ ã®å·ŠãŸãã¯å³
ã«æµããããšãã§ã
ãŸãã
ãIE10PPã®
é«åºŠãªããããã£ã䜿çš
ãããšãä»»æã®å Žæã«é
眮ããããšã§ãããŒãã£ã³ã°èŠçŽ ã調æŽã§ã
ãŸã ã ãããè¡ãã«ã¯ã
floatããããã£ã®æ°ããå€ãå¿
èŠã§ããã
div { float: positioned; left: 200px; position: absolute; top: 100px; width: 250px; }
ãã®ã³ãŒãã¯ãå·ŠåŽã«200pxã芪ã®äžéšã«100pxã«äœçœ®ãã250pxå¹
ã®èŠçŽ ãäœæããŸãã ããã©ã«ãã§ã¯ã芪å
ã®ãã®ä»ã®ã³ã³ãã³ãã¯ãé
眮ãããèŠçŽ ã®åšããåæ¹ããæµããŸãããããã¯ãããšãã°ãããã¹ããèŠçŽ ã®äžäžã®ã¿ã§æµããŠããå Žåãªã©ã
wrap-typeããããã£ã®ããŸããŸãªå€ã§å€æŽã§ããŸãã
div { wrap-type: top-bottom; }
ããŒãã«ã«èŠçŽ ãé
眮ãããã®èŠçŽ ã®åšå²ã«ã³ã³ãã³ããåæ¹ããæµãããšã§ãé
眮ãšããŒãã«ã¬ã€ã¢ãŠãã®ããããã£ãçµã¿åãããããšãã§ããŸãã
div { float: positioned; grid-column: 2; grid-row: 2; }
IE10PPããæã¡ã®å Žå
ãé
眮ããããããŒãã£ã³ã°ãããã¯ã®ãã¢ãèŠãããšãã§ã
ãŸã ã ããã§ãªãå Žåãçµæã¯äžã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããŠããŸãããçŸåšã®CSSæ©èœãå®è£
ããããšã¯äžå¯èœã§ãã

é€å€
floatããããã£ã§ã¯ãé·æ¹åœ¢èŠçŽ ã®ã¿ãåçåã§ããŸãããããã¥ã¡ã³ãã§ã¯åœ¢ç¶ã®åšãã®ãããŒãæäŸããŠããŸãã ãã®ã¢ã€ãã¢ã¯ã
CSS Exclusionsã¢ãžã¥ãŒã«ã䜿çšããåŸã«çãŸããŸããã 2ã€ã®éèŠãªããããã£ããããŸãã æåã®
wrap-shapeã䜿çšãããšãã³ã³ãã³ãã«ãã£ãŠåçåããããããã¯ã®åœ¢ç¶ãå®çŸ©ããæ¥åãé·æ¹åœ¢ããŸãã¯å€è§åœ¢ãäœæã§ããŸããæ¬¡ã«äŸã瀺ããŸãã
div { wrap-shape: circle(50%, 50%, 100px); }
ãã®ã³ãŒãã¯ãååŸã100ãã¯ã»ã«ã®åãäœæãã芪èŠçŽ ã®äžå¿ã«é
眮ããŸãã
polygonïŒïŒé¢æ°ã䜿çšããŠãããšãã°äžè§åœ¢ã®ããã«ã¹ããŒã¹ã§åºåããã座æšãã¢ãæå®ããããšã«ãããä»»æã®åœ¢ç¶ãäœæã§ããŸãã
div { wrap-shape: polygon(0,100px 100px,100px 50px,0); }
æ¢ã«ç¹å®ã®åœ¢ç¶ãããå Žåãæ¬¡ã®ããã«ã2çªç®ã®
wrap-shape-modeããããã£ã䜿çšããŠããã®å³ã®åšãã®å
éšã³ã³ãã³ããåçåã§ããŸãã
div { wrap-shape: circle(50%, 50%, 100px); wrap-shape-mode: around; }
Adobe LabããMacãŸãã¯Windowsçšã®ãããã¿ã€ããããŠã³ããŒãããããšã«ãããCSSã®é€å€ã®åäœã確èªã§ããŸãã å®å
šãªããã¥ã¡ã³ããšããã€ãã®éåžžã«ã¯ãŒã«ãªãã¢ãã¡ã€ã«ããããŸããããšãã°ã次ã®ãšããã§ãã

ãšãªã¢
ã¢ããã®æ¬¡ã®ææ¡ã¯
CSSãªãŒãžã§ã³ã§ãããã¯ã³ã³ãã³ããå€ãã®ç°ãªãèŠçŽ å
ã§ã©ã®ããã«é
åžãããããå®çŸ©ããŸãã ããã¯ããŸãã
ãããŒããããã£ã§äžæã®æååèå¥åã䜿çšããŠä»ã®ã³ã³ãã³ããæäŸããèŠçŽ ãå®çŸ©ããããšã«ãã£ãŠè¡ãããŸããæ¬¡ã«ã
ã³ã³ãã³ãããããã£ã®
fromïŒïŒé¢æ°ã䜿çšããŠããã®ã³ã³ãã³ãã§æºããããé åãéžæããŸãïŒ
.content { flow: foo; } .target1, .target2 { content: from(foo); }
ããã§ã¯ãã³ã³ãã³ãã¯
.contentèŠçŽ ããååŸãããæåã«
.target1èŠçŽ ã«é
ä¿¡ãã
ãŸã ããããã¯ãã³ã³ãã³ãã衚瀺ããã®ã«ååã§ãªãå Žåã¯ãåŒãç¶ã
.target2ã«è¡šç€ºãã
ãŸã ã ã³ã³ãã³ãã¯ãããã¯åäœã§è€è£œããããæåã®ã³ã³ãã³ãã§éå§ããã2çªç®ã®ã³ã³ãã³ãã§ç¶è¡ãããŸãïŒå¿
èŠãªå ŽåïŒã çè§£ãæ·±ããããã«ãäžã®ç»åãã芧ãã ããã

ã¡ãªã¿ã«ãããŒã¯ã¢ããå
ã®å Žæã«é¢ããã¿ãŒã²ãããšãªã¢ã®èŠä»¶ã¯ãããŸããã å¿
èŠã«å¿ããŠãããŒãžã®å察åŽã«é
眮ã§ããŸãã
CSSãšãªã¢ä»æ§ã¯ãŸã ãã©ãŠã¶ãŒã«å®è£
ãããŠããŸããããExclusionsãšåæ§ã«
ãAdobeã©ãã®ãããã¿ã€ãã䜿çšããŠãèªåã§æ©èœã詊ãããšãã§ããŸãã
ãããã«
ã©ã®æ°ããããŒã¯ã¢ããã¢ãžã¥ãŒã«ïŒFlexBoxããã³ColumnsããïŒããã©ãŠã¶ãŒã«å®å
šã«å®è£
ããããã¯ãŸã æç¢ºã§ã¯ãããŸããã ãããŒãã£ã³ã°ãããã¯ãšé€å€ã«ã€ããŠã¯ãæ©èœã®é¡äŒŒæ§ã®ããã«ããããã¯ãã¹ããããšæããŸãïŒãããããããªãã§ãããïŒã ããŒãã«ã¬ã€ã¢ãŠãã¯ãã³ãã¬ãŒãã¬ã€ã¢ãŠããšå¯æ¥ã«é¢é£ããŠããããã¡ãããIE10ã§ã®å€èгãæåŸ
ã§ããŸãã CSSãšãªã¢ã¯ãã§ã«WebKitã®ãã©ã³ãã®1ã€ã«å®è£
ãããŠãããWebKitãã©ãŠã¶ïŒSafariãChromeãªã©ïŒã«ããã«è¡šç€ºãããå¯èœæ§ããããŸãã
ãããã£ãŠãæ§æã«ããã€ãã®å€æŽãå ãããšãäžèšã®ãã¹ãŠãCSS3ã§å°æ¥äœ¿çšããããšäºæž¬ã§ããŸãã ãã®å Žåãæ°ããæ¹æ³ã䜿çšãããšããããæ°å¹Žã§æå°éã®ã³ã¹ãã§éåžžã«ææ
®æ·±ããµã€ããäœæã§ããããããããçºçãããšéåžžã«äŸ¿å©ã§ãã