Как отцентрировать изображение при уменьшении области просмотра? - PullRequest
0 голосов
/ 03 июня 2018

Итак, у меня есть три изображения во флексбоксе.Он идеально отцентрирован, но как только я уменьшаю область просмотра вниз, изображение, кажется, прилипает к левой стороне, а не автоматически центрируется.Примеры flexbox показывают изображения, изменяющие размеры по размеру экрана, и я не совсем понимаю, где я ошибся.

https://codepen.io/sblocks/pen/MXaRwd

<div class="services">
  <div class="three">
    <ul class="hover">
      <li>
        <img src="img/pictures/landing/1.jpg" alt="landscape">
        <h2>Landscaping</h2>
        <span class="h1"></span>
        <span class="h2"></span>
        <span class="h3"></span>
      </li>
      <li>
        <img src="img/pictures/landing/3.jpg" alt="tree">
        <h2>Tree Services</h2>
        <span class="h1"></span>
        <span class="h2"></span>
        <span class="h3"></span>
      </li>
      <li>
        <img src="img/pictures/landing/2.jpg" alt="plow">
        <h2>Storm Cleanup</h2>
        <span class="h1"></span>
        <span class="h2"></span>
        <span class="h3"></span>
      </li>
    </ul>
  </div>

.services {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  justify-content: space-around;
  background-color: #2e2e2e;
}
.three {
  max-width: 950px;
  margin: auto;
  width: 100%;
  display: table;
  margin-top: 25vh;
}
.three:after {
  content: "";
  clear: both;
}
.hover {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.hover li {
  position: relative;
  max-width: 293px;
  background-color: #4f4f4f;
  width: 100%;
  height: 400px;
  margin: 10px;
  float: left;
  overflow: hidden;
  cursor: pointer;
  background-position: center;
}
.h1,
.h2,
.h3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 135px;
  background-color: #c5ddb5;
  transition-duration: 0.8s;
}
.h2 {
  top: 133px;
  width: 100%;
  left: 293px;
  background-color: #68d793;
  transition-duration: 0.8s;
}
.h3 {
  top: 266px;
  transition-duration: 0.8s;
}
.hover li:hover .h1,
.hover li:hover .h3 {
  width: 100%;
}
.hover li:hover .h2 {
  left: 0;
}
.hover li h2 {
  position: absolute;
  top: 187px;
  color: #fff;
  text-transform: uppercase;
  font-size: 25px;
  z-index: 1;
  left: -110px;
  transform: translate(-50%);
  width: 134px;
  letter-spacing: 1px;
  transition-duration: 1.5s;
}
.hover li:hover h2 {
  left: 50%;
}

1 Ответ

0 голосов
/ 03 июня 2018

Как центрировать элементы списка внутри элемента UL?

Вам нужно использовать display:inline-block вместо float:left (и, очевидно, вы должны добавить text-align:center кконтейнер)

...