前提・実現したいこと
webサイトにてmenu画面の部分を作成しております。
Flexbodyを利用中に縦の高さに関する制御ができなくなっております。
本日縦の配置に関してはこちらにて教えていただき制御することができました。
現状の状態だと画像のような状態になってしまいます。
今後としてはマウスオンにてアニメーションなどを付けたいと考えています。
そのため縦の高さがulと同様の高さがほしいところです。
(ざっくり言うとアウトラインの青の線のところまで広がってほしい)
該当のソースコード
```HTML <menu> <ul> <li>おにぎり</li> <li>お茶</li> <li>おやつ</li> <li>バナナ</li> <li>敷物</li> </ul> </menu>
css
1menu{ 2 height: 62px; 3} 4menu ul{ 5 display: flex; 6 height: 62px; 7 align-items: center; 8 outline: 1px solid blue; 9 10} 11menu ul li{ 12 text-align: center; 13 flex:auto; 14 outline: 1px solid red; 15 list-style-type: none; 16}
問題に対して試したこと
①単純に縦の高さが不足していると考えheightを指定し、ulと同様の高さ62pxをmenu ul liに指定してみました。
するとFlexboxを使用しているために使用している『align-items: center;』が崩れてしまいました。
②liがインラインだから高さ指定できるわけないじゃん、と考えmenu ul liをdiplay:block;にして高さを62pxにしてみましたがダメでした。
同様にインラインブロックにもしてみましたが同様にダメでした。
③ググてそれっぽい効果がありそうな行動『flex: 1 0 auto;』っを足してみるとか子要素であるmenu ul liに『display: flex;』をたすとかかいくつか試してみたんですがどれもレイアウト崩れを誘発するだけでした。
(ググってなぜそれらを書く必要があったのかはわかっていません。うまくいけば後からさらにそれをググる予定でした)
ちなみにインラインブロックmenu ul liに対してインラインブロックを指定し、heigh:62px;でul同様の高さを与えたときは高さは広がってはいます。(:hoverで色を指定し実験してみました)が文字のレイアウトが狂い左上(デフォ的な位置?)に戻ってしまいます。
そこでFlexbodyを使用している状態ながらもインラインブロックにしているからtext-alignとvertical-alignが効くのかもとも考えましたがだめでした
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/07 05:53
2020/09/07 06:13
2020/09/07 06:16
2020/09/07 06:17
2020/09/07 06:32
2020/09/08 07:49