CSS中心响应DIV(CSS Center Responsive DIV)

2019-08-20 02:45发布

该“砖”(白框),您在图像1看到的响应用户的屏幕上。 如果屏幕尺寸是不够大,它的叶子在右手侧的差距。 我想要做的是实现结果作为图像2.看到这是迄今为止,这些具体的元素,我的代码..

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;
}

图1:

图2:

Answer 1:

为此,您可以用媒体查询设定的宽度.inner在不同的浏览器宽度类,然后设置margin-leftmargin-right属性auto居中它。 将padding-toppadding-bottom的性质.main类,而不是在设置上下页边距.inner类。 使用的组合padding.inner类和border.tile类空间瓷砖出均匀10px分开。

有关媒体查询的详细介绍: CSS媒体查询

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

如果你想改变的瓷砖之间的间隔,你需要改变border.tile类中, padding.inner课, margin-topmargin-bottom.main类和width被指定在各媒体查询。



Answer 2:

您可以设置最大宽度为.inner然后让text-align: center.main



Answer 3:

   .main .inner{
  min-width: 140px;
    background: red;
    text-align:center;
    }

添加文本对齐:中心CSS属性http://jsfiddle.net/dolours/afKgg/



文章来源: CSS Center Responsive DIV