html - 如何居中翻转图片和文字

标签 html css

我正在处理一个部分,其中有 15 个翻转图像和每个图像下方的名称。我已经使用 flexbox 来确定每行我想要多少图像,但我无法让每个图像和文本都完美居中。 这是HTML代码

<section class="formateurs">
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Sophie" src="https://www.animetcom.fr/wp-content/uploads/2018/10/Plan-de-travail-34@2x.jpg" alt="Sophie" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2018/10/sophie-louisot.jpg" title="Sophie" alt="Sophie" width="130" height="130" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7;" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"><strong>Sophie</strong></p>
  </article>

  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Vincent" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-11@2x.png" alt="Vincent" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2016/08/vincent-grison.jpg" title="Vincent" alt="Vincent" width="129" height="129" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"><strong>Vincent</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Djamel" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-10@2x.png" alt="Djamel" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2016/12/djamel-oudni.jpg" title="Djamel" width="140" height="154" style="border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center">
      <strong>Djamel </strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-3@2x.png" alt="Sabra" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2015/04/sabra-binous.jpg" title="Sabra" width="129" height="148" style="display: block; margin: 0 auto; border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"><strong>Sabra </strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Barbara" src="https://www.animetcom.fr/wp-content/uploads/2019/06/Plan-de-travail-43@4x.jpg" alt="Barbara" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2019/05/barbara-1.jpg" title="Barbara" alt="Barbara" width="70" height="100" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Barbara</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="" src="https://www.animetcom.fr/wp-content/uploads/2018/08/Plan-de-travail-33@2x.png" alt="Haigo" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2018/08/haingo.jpg" title="Haingo " alt="Haingo " width="119" height="146" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Haingo </strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Plan-de-travail-36@2x.jpg" alt="Esther" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Esther.jpg" title="Esther" alt="Esther" width="129" height="171" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Esther</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-12@2x.png" alt="Rachid" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2016/03/rachid-kadioui.jpg" title="Rachid" alt="Rachid" width="129" height="171" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Rachid </strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Caroline G" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-6@2x.png" alt="Caroline G" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2017/11/carolineG.png" title="Caroline G" width="129" height="142" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Caroline</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="" src="https://www.animetcom.fr/wp-content/uploads/2019/04/Plan-de-travail-40@4x.jpg" alt="Victor" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2019/04/photo-victor-CV.jpg" title="Victor" alt="Victor" width="130" height="130" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Victor</strong> </p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Pierre-François" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Plan-de-travail-37@2x.jpg" alt="Pierre-François" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Pierre-François-LUCAS.jpg" title="Pierre-François" alt="Pierre-François" width="70" height="100" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center">
      <strong>Pierre-François</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Christel" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Plan-de-travail-38@2x.jpg" alt="Christel" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Christel.jpg" title="Christel" alt="Christel" width="70" height="100" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center">
      <strong>Christel</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Sarra" src="https://www.animetcom.fr/wp-content/uploads/2017/12/Plan-de-travail-13@2x.png" alt="Sarra" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2019/08/Sarra-Kerrad.jpg" title="Sarra" alt="Sarra" width="70" height="100" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Sarra</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="José" src="https://www.animetcom.fr/wp-content/uploads/2018/11/Plan-de-travail-35@2x.jpg" alt="José" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2019/09/Photo-José.jpg" title="José" width="129" height="148" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>José</strong></p>
  </article>
  <article style="flex:1 20%">
    <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
      <div class="flipper">
        <div class="front">
          <div class="circular-image"><img class="alignnone wp-image-565" title="Séverine" src="https://www.animetcom.fr/wp-content/uploads/2019/08/Plan-de-travail-44@4x.jpg" alt="Séverine" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" width="150" height="150" /></div>
        </div>
        <div class="back">
          <div class="circular-image"><img class="alignnone wp-image-565" src="https://www.animetcom.fr/wp-content/uploads/2019/09/Photo-Séverine.jpg" title="Séverine" width="129" height="148" style="display: block; margin: 0 auto;border-style: solid;border-width: 3px; border-color:#1970b7" /></div>
        </div>
      </div>
    </div>
    <p style="text-align:center"> <strong>Séverine</strong></p>
  </article>
</section>

这是CSS

.coin {
  display: flex;
  justify-content: center;
}

.formateurs {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  align-items: top;
  justify-content: center;
}

/*CIRCULAR IMAGE*/
.circular-image img {
  width: 140px;
  -webkit-border-radius: 70px;
  -moz-border-radius: 70px;
  -ms-border-radius: 70px;
  -o-border-radius: 70px;
  border-radius:
    70px;
}

/*FLIPPING COINS*/
.flip-container {
  -webkit-perspective: 1000;
  -moz-perspective: 1000;
  -ms-perspective: 1000;
  perspective: 1000;

  -ms-transform: perspective(1000px);
  -moz-transform: perspective(1000px);
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;

  border: 1px solid #fff;
}


/* START: Accommodating for IE */
.flip-container:hover .back,
.flip-container.hover .back {
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -o-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  transform: rotateY(0deg);
}

.flip-container:hover .front,
.flip-container.hover .front {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

/* END: Accommodating for IE */

.flip-container,
.front,
.back {
  width: 150px;
  height: 150px;
}

.flipper {
  -webkit-transition: 0.6s;
  -webkit-transform-style: preserve-3d;
  -ms-transition: 0.6s;

  -moz-transition: 0.6s;
  -moz-transform: perspective(1000px);
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;

  transition: 0.6s;
  transform-style: preserve-3d;

  position: relative;
}

.front,
.back {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;

  -webkit-transition: 0.6s;
  -webkit-transform-style: preserve-3d;
  -webkit-transform: rotateY(0deg);

  -moz-transition: 0.6s;
  -moz-transform-style: preserve-3d;
  -moz-transform: rotateY(0deg);

  -o-transition: 0.6s;
  -o-transform-style: preserve-3d;
  -o-transform: rotateY(0deg);

  -ms-transition: 0.6s;
  -ms-transform-style: preserve-3d;
  -ms-transform: rotateY(0deg);

  transition: 0.6s;
  transform-style: preserve-3d;
  transform: rotateY(0deg);

  position: absolute;
  top: 0;
  left: 0;
}

.front {
  -webkit-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  z-index: 2;
}

.back {
  -webkit-transform: rotateY(-180deg);
  -moz-transform: rotateY(-180deg);
  -o-transform: rotateY(-180deg);
  -ms-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}

这是 HTML 和 CSS 代码的链接:https://jsfiddle.net/resafm/5xsmytnr/5/

谢谢!

最佳答案

我将 .article 类添加到每个 article 元素并像这样描述该类:

.article {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center
  }

这是 fiddle 代码:https://jsfiddle.net/maryamhdr/fr149xbc/

关于html - 如何居中翻转图片和文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57943613/

相关文章:

html - 如何使输入框垂直居中对齐?

javascript - 如何获得 3 周的日历?

html - 在一个 div 中显示许多图像

html - 如果页面上没有文本,PHP/CSS 页脚将不会停留在页面底部

php - 如何实现网页的那个移动的盒子(屏幕纸?)?

css - Firefox 不呈现我的图标字体 (@font-face)

html - 在 Chrome 中刷新后,Font Awesome 图标消失

css - 如何在 CSS 中将一段文本显示为正方形/矩形

html - 媒体查询在 Firefox 和 IE 中的工作方式不同

javascript - JS即时输出到HTML