これは CSS のみで可能ですか、それともこの種の柔軟性を実現するには JavaScript を使用する必要がありますか?
それは非常に可能です。
どのように?
ここで重要なのは、CSSmax-width
プロパティmargin: 0 auto;
とセンタリングです。
これはかなりよくコメントされた jsFiddle: little linkです。
HTML:
<div class = "inner">
</div>
CSS:
.inner {
margin: 0 auto; /*makes sure the div is centered*/
max-width: 300px; /*maximum width*/
width: 100%; /*default*/
height: 100px; /*just for clarity*/
background: dodgerblue; /*prettiness*/
}
@Cerbrusがコメントで述べたように、実際margin: 0 auto;
にも設定margin-top
されます。したがって、 に別の値をmargin-top
使用する場合は、代わりに次を使用します。
margin-left: auto;
margin-right: auto;