前提
<select>
の親要素にborder
を指定しているのですが、その高さ調整に苦戦しています。
実現したいこと
<select>
の親要素の高さを、<select>
と同じにしたいです。
発生している問題
<select>
よりも、親要素の方がborder
の分だけ高くなってしまいます。
該当のソースコード
サンプル:https://jsfiddle.net/yobgx2p9/
html
1<div class="select_box1"> 2 <select> 3 <option value="a">a</option> 4 <option value="b">b</option> 5 </select> 6 <button>実行</button> 7</div>
css
1* { 2 box-sizing: border-box; 3} 4 5.select_box1 { 6 border: 1px solid black; 7 display: inline-flex; 8} 9 10select { 11 height: 30px; 12 min-height: 30px; 13 display: flex; 14 align-items: center; 15 justify-content: center; 16 border: none; 17 border-radius: 0; 18} 19 20button { 21 border: none; 22 background: skyblue; 23}
試したこと
上記ではbox-sizing: border-box;
が効いていないために、親要素(.select_box1
)が、border
の分の高さを持ってしまうのだと考えました。
そこで box-sizing: border-box が効かない時にまず確認すること を参照し、次のwidth
を追加しましたが、.select_box1
は変わらず高いままでした。
css
1/* widthを追加 */ 2select { 3 width: 50px; 4}
尚、親要素にもheight: 30px;
をかければ同じ高さになりますがこれは避けたいと考えています。
(.select_box1
だけでなく、select_box2
やselect_box3
などがたくさんあり、それらに同じcssを付与したり、同じクラスを付与したりすることを避けたいためです。)
補足情報
誠に僭越ながら、scssなどでなく通常cssでの記述でのご指導をお願いできましたら幸いです。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー