flex属性を持った.innerの子要素は、flexを解除した要素として扱いたいのですが、それらの子要素も横並びになってしまいます。
下記のテストコードでは「テスト1」と「テスト2」が横並びとなってしまいますが、.innerの子要素のdivはデフォルトのものを扱いたいです。
.inner > divとして、子要素はブロック要素を指定、フロートを解除、などの設定も試してみましたが効きませんでした。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>テスト</title> 6 <style> 7 body { 8 padding: 0; 9 margin: 0; 10 } 11 12 main { 13 display: flex; 14 flex-direction: column; 15 height: 100vh; 16 } 17 18 .inner { 19 display: flex; 20 flex: 1; 21 align-items: center; 22 border: 1px solid black; 23 } 24 25 /*.inner直下のdivをリセット(効かなかった)*/ 26 .inner > div{ 27 display: block; 28 float: none; 29 } 30 </style> 31 </head> 32 <body> 33 <main> 34 <div class="inner"><div>テスト1</div><div>テスト2</div></div> 35 <div class="inner"><div>テスト3</div><div>テスト4</div></div> 36 <div class="inner"><div>テスト5</div><div>テスト6</div></div> 37 </main> 38 </body> 39</html>
親要素(main)に対して、.innerは縦並びかつ高さに対して均等に割り振られ、.inner内の中央に配置したいので、.innerそのもののflexは解除できないと思います。
どなたかご教示お願い致します。

回答3件
あなたの回答
tips
プレビュー