Мои гибкие коробки неправильно выравниваются или перекрываются

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

Левая сторона должна занимать 60% доступного экрана, а правая — остальные 40%.

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

Как показано в приведенном ниже коде, у меня есть левый флексбокс на width: 60%; и изображение внутри него на width: 100%;, так что оно занимает 100% доступного пространства в этих 60%. Моя главная проблема возникает, когда я добавляю второй флексбокс. Я также ставлю ему width: 40%;, но он начинает перекрывать другой флексбокс.

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

Проект должен выглядеть так:

Желаемый результат

Но самое большее, чего я достиг сам, это:

Текущий результат

Раздел HTML того, над чем я сейчас работаю:

      <div class = "mid_content">
        <div class = "box_1">
          <img
            src = "./resources/capstone_colmar_assets/images/information-main.jpg"
            alt = "Man in a white sweater reading a book"
          />
          <h2>It doesn't hurt to keep practicing.</h2>
          <p>
            "Curabitur vitae libero in ipsum portitor consequat. Aliquam et
            commodo lectus, nec consequat neque. Sed non accumsan urna.
            Phasellus sed consequat ex. Etiam eget magna laoreet, efficitur
            dolor consequat, tristique ligula.
          </p>
          <br />
          <br />
          <footer>Emanuel, Sr Strategist at Hiring-com</footer>
        </div>
        <div class = "box_2">
          <div class = "box_2_1">
            <img
              src = "./resources/capstone_colmar_assets/images/information-orientation.jpg"
              alt = "Birdseye view of people walking "
            />
            <div class = "asidetext">
              <h3>Orientation Date</h3>
              <p>Tue 10/11 &amp; Wed 10/12: 8am-3pm</p>
              <a href = "#">Read more</a>
            </div>
          </div>
          <div class = "box_2_2">
            <img
              src = "./resources/capstone_colmar_assets/images/information-campus.jpg"
              alt = "Study room with a map of South America on the wall"
            />
            <div class = "asidetext">
              <h3>Our Campus</h3>
              <p>Find which campus is close by you</p>
              <a href = "#">Read more</a>
            </div>
          </div>
          <div class = "box_2_3">
            <img
              src = "./resources/capstone_colmar_assets/images/information-guest-lecture.jpg"
              alt = "Bearded guy older goy wearing glases and a hat turning back"
            />
            <div class = "asidetext">
              <h3>Our guest lecture</h3>
              <p>
                Join a keynote with Oliver Sack about music in medical treatment
              </p>
              <a href = "#">Read more</a>
            </div>
          </div>
        </div>
      </div>

и CSS следующий (у меня есть CSS для сброса, но я не думаю, что проблема в том, что я отлично работаю над другими разделами кода, и это базовый сброс Meyerweb, который не предписывает иначе препятствовать каким-либо другой способ:

.mid_content {
  display: flex;
  width: 100%;
  margin-top: 2rem;
}

.box_1 {
  display: flex;
  width: 60%;
  flex-flow: column wrap;
}

.box_1 img {
  width: 100%;
  height: auto;
  padding: 0 1.5rem 2rem 1.5rem;
}

.box_2 {
  display: flex;
  width: 40%;
  flex-flow: column;
}

.box_2 img {
  width: 30%;
  height: auto;
  padding: 1rem;
}

.box_2_1 {
  display: flex;
  align-items: center;
}

.box_2_1 img {
  padding-top: 0;
}

.box_2_2 {
  display: flex;
  align-items: center;
}

.box_2_3 {
  display: flex;
  align-items: center;
}

Кроме того, здесь новинка, поэтому, если есть лучший способ вставить сюда мой код, дайте мне знать.

Улучшение производительности загрузки с помощью 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
0
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

В вашем пользовательском интерфейсе есть много мелких проблем, но устранение основной из них: содержимое слева и справа не выравнивается должным образом, и причина этого padding: 0 1.5rem 2rem 1.5rem;. Чтобы исправить этот переход padding: 0 1.5rem 2rem 1.5rem; из box_1 img в box_1.

Ниже приведен рабочий пример. Если у вас возникли какие-либо другие проблемы, поделитесь ими.

<!DOCTYPE html>
<html lang = "en">

<head>
    <meta charset = "UTF-8" />
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: white;
        }

        .mainDiv {
            color: white;
            width: 100%;
            height: 100vh;
            background-color: #1e1e1e;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .mid_content {
            display: flex;
            width: 100%;
            margin-top: 2rem;
        }

        .box_1 {
            display: flex;
            width: 60%;
            flex-flow: column wrap;
            padding: 0 1.5rem 2rem 1.5rem;
        }

        .box_1 img {
            width: 100%;
            height: auto;
        }

        .box_2 {
            display: flex;
            width: 40%;
            flex-flow: column;
        }

        .box_2 img {
            width: 30%;
            height: auto;
            padding: 1rem;
        }

        .box_2_1, .box_2_2,.box_2_3 {
            display: flex;
            align-items: center;
        }
    </style>
</head>

<body>

    <div class = "mid_content">
    <div class = "box_1">
        <img
            src = "https://images.pexels.com/photos/7307621/pexels-photo-7307621.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
            alt = "Man in a white sweater reading a book"
          />
        <h2>It doesn't hurt to keep practicing.</h2>
        <p>
            "Curabitur vitae libero in ipsum portitor consequat. Aliquam et
            commodo lectus, nec consequat neque. Sed non accumsan urna.
            Phasellus sed consequat ex. Etiam eget magna laoreet, efficitur
            dolor consequat, tristique ligula.
        </p>
        <br />
        <br />
        <footer>Emanuel, Sr Strategist at Hiring-com</footer>
    </div>
    <div class = "box_2">
        <div class = "box_2_1">
            <img
              src = "https://images.pexels.com/photos/26950214/pexels-photo-26950214/free-photo-of-sunny-beach-from-above.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
              alt = "Birdseye view of people walking "
            />
            <div class = "asidetext">
                <h3>Orientation Date</h3>
                <p>Tue 10/11 &amp; Wed 10/12: 8am-3pm</p>
                <a href = "#">Read more</a>
            </div>
        </div>
        <div class = "box_2_2">
            <img
              src = "https://images.pexels.com/photos/26950214/pexels-photo-26950214/free-photo-of-sunny-beach-from-above.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
              alt = "Study room with a map of South America on the wall"
            />
            <div class = "asidetext">
                <h3>Our Campus</h3>
                <p>Find which campus is close by you</p>
                <a href = "#">Read more</a>
            </div>
        </div>
        <div class = "box_2_3">
            <img
              src = "https://images.pexels.com/photos/26950214/pexels-photo-26950214/free-photo-of-sunny-beach-from-above.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1"
              alt = "Bearded guy older goy wearing glases and a hat turning back"
            />
            <div class = "asidetext">
                <h3>Our guest lecture</h3>
                <p>
                    Join a keynote with Oliver Sack about music in medical treatment
                </p>
                <a href = "#">Read more</a>
            </div>
        </div>
    </div>
    </div>

</body>

</html>

Это сработало, большое спасибо. Я начал учиться всего несколько недель назад, поэтому до сих пор не понимаю, как все работает. Если у вас есть какие-либо комментарии, которые могут помочь мне исправить упомянутые вами незначительные проблемы с пользовательским интерфейсом, я буду признателен. В любом случае я уверен, что со временем разберусь с ними, продолжая учиться. Еще раз спасибо!

Zack Riquelme 31.08.2024 14:23

@ZackRiquelme Проблемы незначительны, поэтому это не так важно, даже если вы промахнулись как новичок, но все равно хотите отладить, затем используйте инструменты разработки (F12 или щелкните правой кнопкой мыши и проверьте), а затем проверьте элементы, и это даст вам лучшее понимание того, какие свойства CSS используются. использовал. Узнайте больше об инструментах разработки здесь

Meet 01.09.2024 04:13

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