Попытка центрировать гибкую секцию в bootstrap 4

Я только начинаю изучать HTML и CSS с помощью Bootstrap 4 и столкнулся с проблемой.

Я пытаюсь центрировать раздел CTA, который использует функцию гибкости для размещения столбцов. Каким-то образом, несмотря на долгие исследования, мне не удалось найти способ центрировать его, поскольку он всегда кажется немного правее или левее.

Я полагаю, что я что-то упустил, любые направления были бы замечательными, даже если это то, что я могу улучшить.

Вот как это выглядит сейчас с этим HTML:

<div class = "container">
    <div class = "row">
        <a href = "#"><div class = "cf col-4 d-flex justify-content-center">
            <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
            <img class = "cta top" src = "img/home/development.png" class = "rounded"></a>
        </div>
        <a href = "#"><div class = "cf col-4  d-flex justify-content-center">
            <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
            <img class = "cta top" src = "img/home/development.png" class = "rounded"></a>
        </div>
        <a href = "#"><div class = "cf col-4  d-flex justify-content-center">
            <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
            <img class = "cta top" src = "img/home/development.png" class = "rounded"></a>
        </div>
    </div>
</div>

И этот CSS:

    .cta {
    margin: 0;
    padding: 0;
}

img.cta {
  opacity:100; background:white;
  -o-transition:opacity .2s ease-out;
  -ms-transition:opacity .2s ease-out;
  -moz-transition:opacity .2s ease-out;
  -webkit-transition:opacity .2s ease-out;
  /* ...and now override with proper CSS property */
  transition:opacity .2s ease-out;
}

img.cta:hover { opacity:0;} 

.cf {
    margin: 0;
    padding: 0;

}

.cf img {
  position:absolute;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;

}

.cf img.top:hover {
  opacity:0;
}

.cta-text {

}

Я предлагаю вам представить весь свой html-код. @Дэйвид

wokoro douye samuel 13.05.2018 09:19
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
70
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Здесь может возникнуть проблема с вашим тегом а. Во-первых, он неправильно закрыт.

Попробуйте написать это:

<a href = "#" class = "cf col-4  d-flex justify-content-center">
   <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
   <img class = "cta top" src = "img/home/development.png" class = "rounded">
</a>

Во-вторых, я считаю, что всегда лучше иметь его «внутри» div, который вы пытаетесь центрировать, а не снаружи. Это связано с тем, что по умолчанию теги не считаются display: block.

или же

<div class = "cf col-4  d-flex justify-content-center">
   <a href='#'>
     <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
   </a>
   <a href='#'>
     <img class = "cta top" src = "img/home/development.png" class = "rounded">
   </a>
</div>

с CSS:

.d-flex > a {
  display: inline-block
}

Ваш код неправильно вложен, я думаю, вам следует начать с этого. Для того, чтобы он работал, больше всего соответствуют html-теги.

<div class = "container">
 <div class = "row">
    <a href = "#">
       <div class = "cf col-4 d-flex justify-content-center">
          <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
          <img class = "cta top" src = "img/home/development.png" class = "rounded">
        </div>
    </a>

    <a href = "#">
        <div class = "cf col-4  d-flex justify-content-center">
           <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
           <img class = "cta top" src = "img/home/development.png" class = "rounded">
        </div>
    </a>

    <a href = "#">
        <div class = "cf col-4  d-flex justify-content-center">
           <img class = "cta bottom" src = "img/home/dev-more.png" class = "rounded">
           <img class = "cta top" src = "img/home/development.png" class = "rounded">
        </div>
    </a>
</div>

Другие вопросы по теме