2017-04-03 1 views
0

max-widthmin-widthを持つ前に、我々はdivが水平方向の中央されるため、automargin-leftmargin-rightとともに、auto以外の値にwidthを設定する必要があります。divの水平方向のセンタリングは、マージン - 左右のauto、width、またはmax-widthと共に行うことができますが、min-widthではできません。昔

は今、私たちはmax-widthmin-widthを持っていることを、我々はまた、水平方向にnone以外の値にmax-widthがそれを中心に設定することができますか?それのための仕様はありますか?

P. divは幅全体にまたがるので、左右のマージンが両方とも0であることを除いて、水平にセンタリングされていると考えることができるため、水平方向のセンタリング効果はありません。

例:

widthhttps://jsfiddle.net/dtr7t4z7/1/
max-widthhttps://jsfiddle.net/dtr7t4z7/2/https://jsfiddle.net/dtr7t4z7/3/
min-width:あなたは本当に最小幅を必要とする場合はhttps://jsfiddle.net/dtr7t4z7/4/

答えて

0

https://jsfiddle.net/ehnvy1xz/5/

body{ 
    display:flex; 
    justify-content:center; 
} 
#line { 
    text-align:center; 
    background: yellow; 
    min-width: 200px; 
} 

。私は親ディビジョンでフレックスを使用し、代わりにそのようにセンタリングすることをお勧めします。

+0

これはフレックスボックスですね?私はIE 10でサポートされていない場合を除いていくつか学びましたが、今は学習/使用していませんでした... IE 10の業界での落ち込みを待っています –

+0

これですべてが簡単になりました。それは部分的にIE 10/11で動作します。IEのためにいくつかの変更を加える必要があります。 IEのための –

+0

の変更は私の過去の仕事のような頭痛でした。むしろ、すべての最新のブラウザに適したソリューションを使用したいと思います。 –

1

margin: autoは、残りのスペースを両側に均等に塗りつぶします。 widthまたはmax-widthが指定されていない場合、divはできるだけ多くの水平スペースを占有します。 divはコンテナの全幅であるため、min-widthが指定された場合、margin: autoが配信されるためのスペースはありません。

+0

ok ...私はいつも、「幅」がそれを行うことができることを知っていました(水平センタリング)。他のことについてあまりにも確信が持てなかった...だから 'max-width'もそれをすることができる –

関連する問題