Я хотел бы 3 изображения в первой строке и 3 изображения во второй строке и хочу, чтобы они были в середине страницы

* { box-sizing: border-box; }
    ul { 
      list-style: none; 
      font-size: 0; 
      margin: 0; 
      padding: 0; 
      text-align: center; }

    li { display: inline-block; padding: 10px;}

    li:nth-child(1), li:nth-child(4) {
      width: 50%;
    }
    li:nth-child(4) { text-align: right; }
    li:nth-child(2) { text-align: left; }
<ul>
<li><img src="http://lorempixel.com/400/200" /></li>
<li><img src="http://lorempixel.com/400/200" /></li>
<li><img src="http://lorempixel.com/400/200" /></li>
<li><img src="http://lorempixel.com/400/200" /></li>
<li><img src="http://lorempixel.com/400/200" /></li>
</ul>
1
Bob Smith 25 Окт 2019 в 13:25

4 ответа

Есть много способов сделать это, например:

ul {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

https://jsfiddle.net/d6wn79pv/4/

Или

ul {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

ul li {
  flex-grow: 1;
  width: 33%;
}

https://jsfiddle.net/d6wn79pv/9/

4
demkovych 25 Окт 2019 в 13:29

С использованием flexbox :

* {
  box-sizing: border-box;
}

ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content:center;
 flex-wrap: wrap;
}
li{
  width:30%;
  margin:3px auto;
}
<ul>
  <li><img src="https://via.placeholder.com/150" /></li>
  <li><img src="https://via.placeholder.com/150" /></li>
  <li><img src="https://via.placeholder.com/150" /></li>
  <li><img src="https://via.placeholder.com/150" /></li>
  <li><img src="https://via.placeholder.com/150" /></li>
  <li><img src="https://via.placeholder.com/150" /></li>
</ul>
1
Arpita Patel 25 Окт 2019 в 13:39

Вы можете сделать это, просто используя flex

<ul class="here">
    <li><img src="http://lorempixel.com/400/200" /></li>
    <li><img src="http://lorempixel.com/400/200" /></li>
    <li><img src="http://lorempixel.com/400/200" /></li>
    <li><img src="http://lorempixel.com/400/200" /></li>
    <li><img src="http://lorempixel.com/400/200" /></li>
</ul>
.here{
    list-style: none;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}
.here li {
    width: 32%;
}
.here li img{
    width: 100%;
}

Измените .here width, чтобы автоматически изменять размер содержимого

0
sidikfaha 19 Дек 2019 в 16:34

Проверь это.

<!DOCTYPE html>
<html>
<style>
* { box-sizing: border-box; }
ul { 
  list-style: none; 
  font-size: 0; 
  margin: 0; 
  padding: 0; 
  text-align: center; }


li {
  width: 31%;
  display:block;
  float:left;
  margin:3px;
}



</style>
<body>

<ul>
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>  
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>  
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>  
  <li><img src="http://lorempixel.com/100/100/cats/" /></li>
</ul>

</body>
</html>
0
Stak 25 Окт 2019 в 13:48
1
В вашем CSS, если все nth-child будут такими же, вы могли бы просто иметь li, и это упростило бы ваш CSS
 – 
Andrew
25 Окт 2019 в 13:45