我想将一个容器<div>
标记集中在一个页面上,以便它满足以下条件:
<div>
的最大宽度时,我希望<div>
在屏幕内水平居中。<div>
的最大宽度时,<div>
应填满整个屏幕。<div>
的最大宽度时,<div>
应调整大小以匹配屏幕的宽度。仅使用CSS是否可行,或者我是否需要使用JavaScript来实现这种灵活性?
答案 0 :(得分:4)
仅使用CSS是否可行,或者我是否需要使用JavaScript来实现这种灵活性?
很可能。
此处的关键是CSS max-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;
答案 1 :(得分:0)
这将使您的div id='myDiv'
在600px以下的屏幕上拉伸至100%宽度,否则,它将居中。
#myDiv{
width:600px;
margin-left: auto;
margin-right: auto;
}
@media only screen and (max-width 600px) {
#myDiv{
width:100%;
}
}
答案 2 :(得分:0)
参见此示例 -
<div id="container"></div>
CSS -
#container
{
margin-left:auto;
margin-right:auto;
height:500px;
max-width:400px;
background-color:yellow;
min-width:100px; //ensures that your div will resize to match the width of the screen
}
请参阅此处的工作演示 - http://jsfiddle.net/UgxZe/4/
您可以观察所需的所有3种情况。