gpt4 book ai didi

html - 照片网格布局 CSS

转载 作者:行者123 更新时间:2023-11-28 16:24:53 25 4
gpt4 key购买 nike

所以我有这个用 CSS 制作的照片网格并且它工作正常除了我希望它像这样显示:

1 | 2 | 3
4 | 5 | 6

代替

1 | 3 | 5
2 | 4 | 6

我弄乱了 css 一段时间,但无法正确处理。这是代码:

HTML:

<section id="photos">
<img src="imgs/logo1.jpg" alt="">
<img src="imgs/logo2.png" alt="">
<img src="imgs/logo3.png" alt="">
<img src="imgs/logo4.jpg" alt="">
</section>

CSS

#photos {
/* Prevent vertical gaps */
line-height: 0;

-webkit-column-count: 5;
-webkit-column-gap: 0px;
-moz-column-count: 5;
-moz-column-gap: 0px;
column-count: 5;
column-gap: 0px;
}

#photos img {
/* Just in case there are inline attributes */
width: 100% !important;
height: auto !important;
}

@media (max-width: 1200px) {
#photos {
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;
}
}
@media (max-width: 1000px) {
#photos {
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
}
}
@media (max-width: 800px) {
#photos {
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
}
@media (max-width: 400px) {
#photos {
-moz-column-count: 1;
-webkit-column-count: 1;
column-count: 1;
}
}

最佳答案

要通过 CSS 更好地控制元素的顺序,我的建议是使用 flexbox。它的相关 flex 属性是 flex-directionorder

flex 方向示例:

.container {
display: -webkit-flex; /* Safari */
display: flex;
outline: 1px dashed black;
color: white;
font-size: 2em;
}

.row {
-webkit-flex-direction: row; /* Safari 6.1+ */
flex-direction: row;
background: tomato;
}

.row-reverse {
-webkit-flex-direction: row-reverse; /* Safari 6.1+ */
flex-direction: row-reverse;
background: gold;
}

.column {
-webkit-flex-direction: column; /* Safari 6.1+ */
flex-direction: column;
background: hotpink;
}

.column-reverse {
-webkit-flex-direction: column-reverse; /* Safari 6.1+ */
flex-direction: column-reverse;
background: purple;
}

.container div {
padding: 5px;
outline: 1px solid cyan;
}
<div class="container row">
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div>
</div>

<div class="container row-reverse">
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div>
</div>

<div class="container column">
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div>
</div>

<div class="container column-reverse">
<div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div>
</div>

flex 订单示例:

.orderA, .orderB, .orderC {
outline: 1px dashed black;
display: -webkit-flex; /* Safari */
display: flex;
font-size: 2em;
}

.orderA .a {
-webkit-order: 1;
order: 1;
}

.orderA .b {
-webkit-order: 2;
order: 2;
}

.orderA .c {
-webkit-order: 3;
order: 3;
}

.orderA .d {
-webkit-order: 4;
order: 4;
}

.orderA .e {
-webkit-order: 5;
order: 5;
}

.orderA .f {
-webkit-order: 6;
order: 6;
}

.orderB .a {
-webkit-order: 6;
order: 6;
}

.orderB .b {
-webkit-order: 5;
order: 5;
}

.orderB .c {
-webkit-order: 4;
order: 4;
}

.orderB .d {
-webkit-order: 3;
order: 3;
}

.orderB .e {
-webkit-order: 2;
order: 2;
}

.orderB .f {
-webkit-order: 1;
order: 1;
}

.orderC .a {
-webkit-order: 2;
order: 2;
}

.orderC .b {
-webkit-order: 4;
order: 4;
}

.orderC .c {
-webkit-order: 6;
order: 6;
}

.orderC .d {
-webkit-order: 1;
order: 1;
}

.orderC .e {
-webkit-order: 3;
order: 3;
}

.orderC .f {
-webkit-order: 5;
order: 5;
}

.orderA div {
background: skyblue;
outline: 1px solid hotpink;
padding: 5px;
}

.orderB div {
background: gold;
outline: 1px solid hotpink;
padding: 5px;
}

.orderC div {
background: greenyellow;
outline: 1px solid hotpink;
padding: 5px;
}
<div class="orderA">
<div class=a>1</div><div class=b>2</div><div class=c>3</div><div class=d>4</div><div class=e>5</div><div class=f>6</div>
</div>

<div class="orderB">
<div class=a>1</div><div class=b>2</div><div class=c>3</div><div class=d>4</div><div class=e>5</div><div class=f>6</div>
</div>

<div class="orderC">
<div class=a>1</div><div class=b>2</div><div class=c>3</div><div class=d>4</div><div class=e>5</div><div class=f>6</div>
</div>

图像的 Flex 网格,其中可以轻松应用 flex-directionorder(如果需要):

body {
width: 100%;
height: 100vh;
margin: 0;
}

.container {
display: -webkit-flex; /* Safari */
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-around; /* Safari 6.1+ */
justify-content: space-around;
}

.container div {
-webkit-flex: 0 0 calc(33.3% - 20px); /* Safari 6.1+ */
-ms-flex: 0 0 calc(33.3% - 20px); /* IE 10 */
flex: 0 0 calc(33.3% - 20px);
background: lavender;
border: 2px solid black;
box-sizing: border-box;
margin: 10px;
font-size: 2em;
text-align: center;
}
<div class="container">
<div>1 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
<div>2 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
<div>3 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
<div>4 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
<div>5 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
<div>6 <img src="http://i.imgur.com/ufh1gnC.png" alt=img></div>
</div>

关于html - 照片网格布局 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36255831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com