CSS中心响应DIV
您在图像1中看到的“图块”(白框)对用户屏幕有响应。如果屏幕尺寸不够大,则会在右侧留下间隙。我想要做的是实现结果作为图像2.看到这里是我到目前为止的代码,这些具体的元素..CSS中心响应DIV
HTML:
<div class="main">
<div class="inner">
<div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div>
</div>
</div>
CSS:
.main{
width:100%;
background: #000;
}
.main .inner{
margin:10px;
min-width: 140px;
background: red;
}
.main .inner .tile{
margin:10px;
height: 120px;
width: 120px;
background: #fff;
display: inline-block;
}
IMAGE 1:
图2:
你可以用媒体做查询以各种浏览器宽度设置.inner
类的宽度,然后将margin-left
和margin-right
属性设置为auto
来居中。设置.main
类的padding-top
和padding-bottom
属性,而不是在.inner
类中设置顶部和底部页边空白。使用.inner
类中的padding
和.tile
类中的border
的组合将间隔分开。
有关媒体查询的详细介绍:CSS media queries
CSS
.main{
width: 100%;
background: #000;
padding-top: 10px;
padding-bottom: 10px;
}
.main .inner{
padding: 5px;
font-size: 0px;
display: table;
margin-left: auto;
margin-right: auto;
background-color: red;
}
.main .inner .tile{
margin: 0px;
padding: 0px;
border: 5px solid red;
height: 120px;
width: 120px;
background: #fff;
display: inline-block;
}
设置每个浏览器的宽度媒体查询,在这个例子中,我只上升到800像素,但您可以根据需要添加更多。
CSS(续)
@media (min-width: 280px) {
.main .inner{
width: 130px;
}
}
@media (min-width: 320px) {
.main .inner{
width: 260px;
}
}
@media (min-width: 480px) {
.main .inner{
width: 390px;
}
}
@media (min-width: 640px) {
.main .inner{
width: 520px;
}
}
@media (min-width: 800px) {
.main .inner{
width: 780px;
}
}
媒体查询用于的.inner
宽度设定为130px
倍数其是.tile
的与10px
的边界的宽度。
如果你想改变的瓷砖之间的间隔,你需要改变的.main
类的.tile
类border
,在.inner
类padding
的margin-top
和margin-bottom
和在各指定的width
媒体查询。
这可能是目前唯一可用的CSS解决方案,它使用媒体查询根据浏览器宽度选择不同的布局网格。我认为这是或JavaScript。 – 2013-04-07 01:47:32
非常感谢! – Harry 2013-04-07 03:35:50
.main .inner{
min-width: 140px;
background: red;
text-align:center;
}
添加文本对齐:中心CSS属性http://jsfiddle.net/dolours/afKgg/
有什么办法让最后一行左对齐吗? – Harry 2013-04-07 00:13:43
单个布局网格目前无法支持此功能。有关为什么不解释的解释,请参阅[此答案](http://stackoverflow.com/a/15231163/1306809)。但是,不同大小的多个版面网格可以支持它,使用媒体查询根据屏幕大小选择正确的版面,如@axrwkr所建议的。 – 2013-04-07 01:58:55