Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html css中的四个响应列垂直居中_Html_Css_Responsive Design - Fatal编程技术网

Html css中的四个响应列垂直居中

Html css中的四个响应列垂直居中,html,css,responsive-design,Html,Css,Responsive Design,我试图在CSS中创建一个4列布局。每列宽度相同,包含: A.图像 B.与图像相关的文本 随着屏幕宽度的缩小,这些柱子应该一根接一根地倒塌;当屏幕展开时,还可以将其向后展开,最多4列彼此相邻。当所有列彼此折叠(在移动版屏幕宽度下)时,列应位于屏幕中央,而不是刷新到屏幕的右/左侧 以下代码片段显示了到目前为止我所掌握的内容: <div class="sections"> <div> <img src="http://placehold.it/11

我试图在CSS中创建一个4列布局。每列宽度相同,包含:

A.图像 B.与图像相关的文本

随着屏幕宽度的缩小,这些柱子应该一根接一根地倒塌;当屏幕展开时,还可以将其向后展开,最多4列彼此相邻。当所有列彼此折叠(在移动版屏幕宽度下)时,列应位于屏幕中央,而不是刷新到屏幕的右/左侧

以下代码片段显示了到目前为止我所掌握的内容:

<div class="sections">
    <div>
        <img src="http://placehold.it/110x110"/>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
    <div>
        <img src="http://placehold.it/110x110"/>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
    <div>
        <img src="http://placehold.it/110x110"/>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
    <div>
        <img src="http://placehold.it/110x110"/>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
</div>


.sections {
    display: table;
    margin: 0 auto;
}
.sections div {
    display: table-cell;
    padding: 0 0.5em 1em 0;
    text-align: center;
    vertical-align: center;
    width: 20em;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者

.部分{ 显示:表格; 保证金:0自动; } .分区{ 显示:表格单元格; 填充:0.5em1em0; 文本对齐:居中; 垂直对齐:居中; 宽度:20em; }
如果媒体查询对您没有帮助,只需将
.sections
div显示属性值更改为
内联块

.sections{
显示:表格;
保证金:0自动;
}
.分区{
文本对齐:居中;
宽度:20em;
填充:0.5em1em0;
display:inline block;/*这就是您所需要的全部内容*/
垂直对齐:中间对齐;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者

Lorem ipsum dolor sit amet,是一位杰出的献身者


你的意思是说,像一个人在彼此之上一样反应迅速吗?我认为你的生活中需要媒体的提问。看看这个:。会让你的生活更轻松。@SleekGeek我的意思就是这样。不要使用
display:table
display:table单元格。使用
display:inline block
,当可用宽度折叠时,它们将自动堆叠。不需要过度思考这个问题。这一点更加接近了,但是它并没有像我上面描述的那样进行响应性列移动。正如@Josh Burgess在上述评论中所述,实际的修复方法是:在.sections>div的CSS上显示表格单元格:inline block,以及.sections类上的margin:0 auto。除了OP语句说:“(…)当屏幕展开时,还可以向后展开,最多4列相邻。(……)。此代码确实实现了列堆叠在彼此的顶部,但是它没有实现“列相邻”部分。如果您将答案改为“显示:内联块”,您就不必依赖媒体查询。任何时候,我都会在经过同行评审后接受您的答案,感谢您的帮助。这是一种协作。没错,最准确答案的记录要归功于@Josh Burgess