インライン要素li
タグが横並びになって欲しいので、ul
タグにflexbox
の設定をしていました。
iOSのsafariや、Chromeなどでは問題なく表示できてたのですが、monacaのデバッガーアプリ(Android4.4)では横並びにはなるのですが、li
タグに設定しているpadding
やmargin
が効かない状態で横並びになってしまっておりました。
原因はflexbox
をブロックレベルによって使い分けられていないことでした。。。
なので、今回はブロック要素とインライン要素での使い分けをまとめました。
ブロック要素にflexbox
div#container
直下にある(例えば)div
を横並びにする。
div#container{ display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ display: -ms-flexbox; /* TWEENER - IE 10 */ display: -webkit-flex; /* NEW - Chrome */ display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ }
インライン要素にflexbox
li
を横並びにする。
monacaのデバッッガーアプリではli
にdisplay:block;
をかけてもpadding
やmargin
が反映されませんでした。
ul{ display: -webkit-inline-box; display: -moz-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; }
【参考サイト】
Using Flexbox: Mixing Old and New for the Best Browser Support | CSS-Tricks
Advanced layouts with flexbox