debiru (@debiru) ã§ãã
è¯ã質åã§ããã
以äžãé
ç®ãåºåã£ãŠåçãä»ããŠã¿ãŸãã
â (1) width, height æå®ãç¡èŠãããã®ã¯äœæ
ãã
width æå®ãå¹ãã®ã¯ãé眮æã€ã³ã©ã€ã³ïŒspan ãªã©ïŒãããŒãã«åïŒcolïŒãããŒãã«åã°ã«ãŒã ïŒcolgroupïŒã以å€ã®çš®é¡ã§ã¬ã³ããªã³ã°ãããèŠçŽ ã§ãã
height æå®ãå¹ãã®ã¯ãé眮æã€ã³ã©ã€ã³ïŒspan ãªã©ïŒãããŒãã«è¡ïŒtrïŒãããŒãã«è¡ã°ã«ãŒãïŒtbody ãªã©ïŒã以å€ã®çš®é¡ã§ã¬ã³ããªã³ã°ãããèŠçŽ ã§ãã
ã€ãŸããimg ã input ãªã©ã®çœ®æã€ã³ã©ã€ã³ããdiv, table ãªã©ãé«ããšå¹
ãæå®ã§ããããªèŠçŽ ã«ããæå®ãå¹ããŸããããã ããã¬ã³ããªã³ã°æã®ã¬ã€ã¢ãŠãã«é¢ããèŠçŽ ã®çš®é¡ã¯èŠçŽ ããšã«æ±ºãŸã£ãŠããããã§ã¯ãªããCSS ã® display ããããã£ã§å€æŽãã§ããŸããdiv ã«ã¯å¹ããšèšã£ãŠã display: inline ãæå®ããã div ã«ã¯ width æå®ãªã©ã¯å¹ããŸããïŒç¡èŠãããŸãïŒã
ãŸããã¬ã³ããªã³ã°ãããªãèŠçŽ ã«ãå¹ããŸããïŒdisplay: none ã®ç¶æ
ã§ã¯å¹
ãšé«ãã確ä¿ãããªãã®ããã®ããã§ãïŒãäœè«ã§ãããããã¯ãã°ãã°SNSãµãŒãã¹çã®åã蟌ã¿ãã¿ã³ãªã©ãé衚瀺é åã«ãããŠäºãæ¿å
¥ããéã«åé¡ãèµ·ãããŸãã
https://developer.mozilla.org/en-US/docs/Web/CSS/widthhttps://developer.mozilla.org/en/docs/Web/CSS/heightâ (2) main èŠçŽ ã¯ display: block ã§ã¯ãªãã®ãã
HTML5 ã§å®çŸ©ãããæ°ããèŠçŽ ã«ã¯ã仿§ãšã㊠inline ãšããŠæ¯ãèããã®ãããã° block ãšããŠæ¯ãèããã®ããããŸããäŸãã° time, mark, rubyïŒã«ãïŒã¯ã€ã³ã©ã€ã³èŠçŽ ã®ããã«æ¯ãèããarticle, section, main ãªã©ã¯ãããã¯èŠçŽ ã®ããã«æ¯ãèããŸãã
ããããã¯èŠçŽ ã®ããã«æ¯ãèããã®ã¯ãã©ãŠã¶ããããã®èŠçŽ ã«å¯ŸããŠãããã©ã«ãã¹ã¿ã€ã«ãšã㊠display: block ãé©çšããŠããããã§ããFirefox ã Chrome ã§ã¯ main èŠçŽ ã«å¯Ÿã㊠display: block ãé©çšãããŠããŸãã
â (3) IE11 ã§ main èŠçŽ ã« width ã height ãå¹ããªãã®ã¯äœæ
ãã
IE11 ã§ main èŠçŽ ã« width, height ãæå®ããŠããã®æå®ãå¹ããªãã®ã¯ãIE11 ã main èŠçŽ ã«å¯Ÿå¿ããŠããªãããã§ããIE9 ããåŸã
ã« HTML5 ã«å¯Ÿå¿ããŠããäºå®ããããã°ãããã¯çŽæã«åãããããããŸããã
IE11 ã¯2013幎11æ7æ¥ã«ãªãªãŒã¹ãããŸããã
http://blogs.msdn.com/b/ie/archive/2013/11/07/ie11-for-windows-7-globally-available-for-consumers-and-businesses.aspxããã main èŠçŽ ã«ã¯å¯Ÿå¿ããŠããŸããã
https://connect.microsoft.com/IE/feedback/details/893334/html5-main-element-not-supportedãšã¯ãã£ãŠã main èŠçŽ ã仿§ã«è¿œå ãããã®ã¯ãä»ã®èŠçŽ ã«æ¯ã¹ãŠåŸã ã£ãã®ã§ä»æ¹ã®ãªãããšã§ããããŸãã
https://hyper-text.org/archives/2013/04/add_main_html5_cr.shtmlâ (4) æªå®è£
ã®èŠçŽ ã¯ã©ã®ããã«æ¯ãèãã®ãã
IE11 ã«ãšã£ãŠã® main èŠçŽ ãFirefox ã Chrome ã«ãšã£ãŠã®æªç¥ã®èŠçŽ ïŒäŸãã°ååšããªã hoge èŠçŽ ïŒã¯ãã€ã³ã©ã€ã³èŠçŽ ã®ããã«æ¯ãèããŸãããã㯠display ããããã£ã®åæå€ã inline ã§ããããšã«äŸããŸãã
https://developer.mozilla.org/ja/docs/Web/CSS/displayFirefox ã Chrome ã§ <div>foo<hoge>bar</hoge>baz</div> ã®ãããªããŒã¯ã¢ãããã¬ã³ããªã³ã°ããããšã©ããªãã§ãããããIE11 ã«ãšã£ãŠã® main èŠçŽ ãšåãããã«æ¯ãèãã¯ãã§ãã
https://jsfiddle.net/wjrcd21m/â (5) IE11 ã§ã main èŠçŽ ã float: left ãããå¹ããã®ã¯äœæ
ãã
float: left ãŸã㯠float: right ã«ãã£ãŠ floating element ãšããŠæ±ãããå Žåããã®ã¬ã³ããªã³ã°æã®ã¬ã€ã¢ãŠãã«é¢ããèŠçŽ ã®çš®é¡ã¯ inline ã®å Žå㯠block ã«å€æŽãããŸããfloat ããããã£ãæå®ããããšã§éæ¥çã«ã¬ã€ã¢ãŠãã block æ±ãã«ãªã£ããããå¹
ãé«ããæå®ã§ããç¶æ
ã«ãªã£ããšããããšã§ãã
https://developer.mozilla.org/ja/docs/Web/CSS/floatäœè«ã§ãããIE6 ã§ float ãšåãæ¹åã« margin ãæå®ãããš margin å€ãåã«ãªããšãããã°ããããŸããããã®ãã°ã«å¯Ÿãã解決çãšããŠãfloat ãæå®ããèŠçŽ ã« display: inline ãæå®ãããšããæ¹æ³ããããŸããããIE6 以å€ã®ã¢ãã³ãã©ãŠã¶ã« display: inline æå®ã®åœ±é¿ããªãã£ãã®ã¯ããã® float ã«ããã¬ã€ã¢ãŠãã®æé»çãªå€æŽããããŠããããã§ãã
â (6) ãšããã§ HTML5 ã§ã¯ã€ã³ã©ã€ã³èŠçŽ ããããã¯èŠçŽ ãšãããã®ã¯ç¡ããªã£ãã®ã§ã¯ã
ãã®éãã§ããHTML 4.01 ãŸã§ã¯èŠçŽ ãããããã¯èŠçŽ ãããã€ã³ã©ã€ã³èŠçŽ ããããã以å€ïŒäŸãã° head èŠçŽ ãªã©ïŒããããšããåé¡ãè¡ã£ãŠããŸãããHTML5 ã§ã¯ã³ã³ãã³ãã¢ãã«ïŒã³ã³ãã³ãã¢ãã«ïŒãšããæŠå¿µã§èŠçŽ ãåé¡ããŠããŸãããããã¯ãã€ã³ã©ã€ã³ããšããåé¡ã¯èŠèŠäžã®ãã®ã§ããããè«ççãªåç§°ã®åé¡ãäž»ãšããŠåé¡ããããšããããšã§ãã
ããããã¬ã³ããªã³ã°æã®ã¬ã€ã¢ãŠãã«é¢ããèŠçŽ ã®çš®é¡ãšããŠã® inline ã block ãšããæŠå¿µã¯æ®ã£ãŠããŸãããã㯠display ããããã£ã«ãã£ãŠæ±ºãããããã®ã§ãããã®ã¬ã€ã¢ãŠãæ
å ±ãæã㊠HTML5 ã§ããã€ã³ã©ã€ã³èŠçŽ ããããããã¯èŠçŽ ããšãã衚çŸãåºãããšããããŸãïŒããã㯠HTML 4.01 以åã®æŠå¿µãåŒãç¶ãã§èª¬æããå Žåã§ããããïŒã
http://www.html5.jp/tag/models/http://www.tohoho-web.com/html/memo/html5.htmãã®åçãæžããŠããŠèŠã€ããŸãããã2009幎7æã«ã³ã³ãã³ãã¢ãã«ããã³åæ§ã®åé¡ã«ã€ããŠããã®ã¡ãŒãªã³ã°ãªã¹ãã«ãããã¯ããããŸããããèå³ãããã°ã芧ãã ããã
https://groups.google.com/forum/#!topic/html5-developers-jp/XeT3DfkCStIâ (7) HTML5 ã®æ°èŠçŽ ã document.createElement ããã®ã¯äœãªã®ãã
åã
ã®èŠçŽ ã®ã¬ã€ã¢ãŠãæ
å ±ãšã¯å¥ã«ãæªç¥ã®èŠçŽ ã«ã€ããŠãDOM ããªãŒïŒèŠçŽ ã®å
¥ãåã®ç¶æ
ïŒãã©ããªãã®ããšããåé¡ããããŸãããäŸãã°ã<div>A<hoge>B<p>C</p>D</hoge>E</div> ãšããããŒã¯ã¢ããããã£ããšããã©ã®ãã㪠DOM ããªãŒãæ§ç¯ãããã®ããšããåé¡ã§ãã
https://jsfiddle.net/q8L7bdug/ããããæžããéãã®å
¥ãåé¢ä¿ã«ãªãã°ããã®ã§ããããã©ãŠã¶ããhoge ã®äžã«ã¯ p ã¯å
¥ããããªãããšå€å®ããã°ã<div>A<hoge>B</hoge><p>C</p></hoge>E</div> ãšãp èŠçŽ ã®æåã§ hoge ãéããããŠããŸãïŒDOM ãšããŠèŠªåã§ãªãå
åŒã«ãªãïŒããšã«ãªããŸãããããªå€å®ãããªããã°ãããšæããããããŸãããããã®å€å®ããããé°ã§ HTML 4.01 ã HTML5 ã§ã¯èŠçŽ çµäºã¿ã°ã®çç¥ãã§ããã®ã§ããXML ã奜ããªäººã¯ããããªå€å®ã¯ãããªããšæããããããŸãããå®éã<p>X<div>Y</div>Z</p> ãšããŒã¯ã¢ããããã°ã倧æµã®ãã©ãŠã¶ã¯ <p>X</p><div>Y</div>Z</p> ã«çžåœãã DOM ããªãŒãæ§ç¯ããã§ãããã
https://jsfiddle.net/10yk5bf5/æªç¥ã®èŠçŽ ã®äžèº«ã«ä»»æã®èŠçŽ ãå
¥ããããªãã®ã¯ IE8 以äžã Firefox 2 ã§ãããä»ã®ã¢ãã³ãã©ãŠã¶ã§ã¯ãæªç¥ã®èŠçŽ ã«ã¯ä»»æã®èŠçŽ ãå
¥ããããšãã§ããŸãïŒèšè¿°ããéãã« DOM ããªãŒãæ§ç¯ãããŸãïŒã
IE8 以äžã®å Žåã¯ãæªç¥ã®èŠçŽ ã® DOM ããªãŒã芪åã«ãªããã«å
åŒã«ãªãããã§ããªããå
ã»ã©ã®äŸã§ããã° <div>A<hoge />B<p>C</p>D</hoge/>E</div> ã®ããã«ãæªç¥ã®èŠçŽ ã®éå§ã¿ã°ãšçµäºã¿ã°ããããã空èŠçŽ ã®ããã«æ±ãããæªç¥ã®èŠçŽ ã«å¯Ÿããã¹ã¿ã€ã«ãå
šãå¹ããŸãããDOM ããªãŒããããããªãããšã«å ããæªç¥ã®èŠçŽ ãç¡èŠããããšè§£éããŠããããã§ãã
ãã® DOM ããªãŒããããããªãåé¡ïŒããã³ IE ã§ã¯æªç¥ã®èŠçŽ ãç¡èŠãããåé¡ïŒã«å¯ŸããŠãdocument.createElement ã§æªç¥ã®èŠçŽ ãäœããšè§£æ±ºããããããã®æ¹æ³ãæ¡ãããããã«ãªããŸããã
http://www.html5.jp/html5doctor/how-to-get-html5-working-in-ie-and-firefox-2.htmlhttp://osaka.cssnite.jp/vol20/slide/02_hatano.pdf#20â (8) html5shiv ãèªã¿èŸŒãã§ã IE11 ã§è§£æ±ºããªãã£ãã®ã¯äœæ
ãã
html5shiv ã§ã¯ãHTML5 ã®æ°èŠçŽ ã«å¯Ÿã㊠document.createElement ãããŠããã€ãããã¯èŠçŽ ãšããŠæ¯ãèãã¹ãèŠçŽ ã« display: block ãæå®ããŸãããããè¡ãã° IE6 ã IE7, IE8 ã§ã HTML5 ã§ããŒã¯ã¢ãããããããŒãžãããçšåºŠæåŸ
éãã«è¡šç€ºãããããšãã§ããŸãã
ããã html5shiv ã®ãœãŒã¹ã³ãŒããèŠãŠã¿ããšãdisplay: block ãæå®ããç®æã§ã¯ãçŽåã«æ¡ä»¶åå²ãè¡ãããŠããŸãã
> if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS)
IE11 ã§ã¯ãã® if æãéããã« display: block ãæå®ãããªãã®ãããããŸããïŒæå
ã«ç°å¢ããªãã®ã§æªç¢ºèªã§ãïŒãããã㯠IE11 ã§ã¯ãããã html5shiv ãèªã¿èŸŒãã§ããªãã£ãïŒã³ã³ãã£ã·ã§ãã«ã³ã¡ã³ãã§ IE9 æªæºã«ããèªã¿èŸŒãŸããŠããªãã£ãïŒã®ãããããŸããã
https://github.com/aFarkas/html5shiv/blob/3.7.2/src/html5shiv.js#L231https://github.com/aFarkas/html5shiv/â (9) ãŸãšã
çŸåšã® IE ã®ææ°ç IE11 ã§ãã£ãŠã main èŠçŽ ããµããŒãããŠããŸããããã®ãã main èŠçŽ ã䜿ãå Žå㯠CSS ã§ main èŠçŽ ã«å¯Ÿã㊠display: block ãæå®ããŠãããã¯èŠçŽ ãšããŠæ¯ãèãããå¿
èŠããããŸããDOM ããªãŒã®åé¡ã¯ãIE ã«ã€ããŠã¯ IE8 以åã«éã£ãåé¡ãªã®ã§ãIE11 ã«å¯Ÿã㊠document.createElement ãè¡ãå¿
èŠã¯ãããŸãããïŒæªç¥ã®èŠçŽ ã«ã¯ä»»æã®èŠçŽ ãå
¥ããããšãã§ããŸããïŒ
ãmainèŠçŽ ã« display: block; ãæå®ããŠãã ããããšåçãããŠããã®ã¯ããããèš³ã§ãã
https://developer.mozilla.org/ja/docs/Web/HTML/Element/mainâ æåŸã«
ç§ã®åçå
容ã¯å
šãŠãæ£ãããšã¯éããŸãããéµåã¿ã«ããåèã«ããŠããã ããã°å¹žãã§ãã
誀ããäžé©åãªç¹ãè£è¶³ãªã©ãããã°ããã³ãããé¡ãããŸãã
é·ã
ãšå€±ç€ŒããŸããã