カラム方向とフレックス容器、及びalign-items
のデフォルト値はstretch
あるよう、同じであり、その交差軸に沿って容器を充填するためにフレックスアイテムを伸ばしますその幅として。
Firefox、Edge、IEではそうではありませんが、あなたの場合はそれがそのまま動作するはずです。それらはすべてrange
のinput
のためにwidth: 100%
が容器を満たす必要があります。比較として
、タイプtext
とcheckbox
、およびtextarea
のinput
、クロスブラウザを伸ばすんが、再びinput
TYP checkbox
のではないFirefoxでありません。
Firefox(およびEdge/IE)が正しいかどうか、またはバグがあるかどうかはまだ言いません。私は全面的に調査しており、それに対してまっすぐ答えを見つけることはできませんが、すぐに私はこの答えを更新します。
今日のように、幅を100%に設定することをお勧めします。また、Chromeが正しい場合は、害はなく、後で削除できます。
#block {
/* width: 100%; not needed since it is the default */
height: 100%; /* as its parent doesn't have a height,
this doesn't do anything */
display: flex;
flex-direction: column;
background-color: green;
/* align-items: stretch; this is the defalt and can be omitted */
}
input, textarea, span {
background-color: yellow;
width: 100%; /* make FF/Edge/IE stretch input range */
margin: 0; /* remove any default margin an element might have */
padding: 0; /* remove any default padding an element might have */
box-sizing: border-box; /* include border an element might have in the set width */
}
<div id=block>
<input type=range />
<!-- added these for comparison -->
<input type=checkbox />
<input type=text value="Input text"/>
<textarea>Textarea</textarea>
<span>Span</span>
</div>
見直し、私の答えにコメント、そして何かが不明確または欠落している場合は私に知らせてください。そうでなければ、あなたを最も助けてくれた答えを受け入れることができればそれは素晴らしいことでしょう。 – LGSon