Как разместить текстовые блоки в родительском div?

У меня проблема с созданием адаптивного макета. Я хочу создать родительский div, который будет иметь указанную максимальную ширину, например. 1200 пикселей и семь текстовых блоков, которые будут в нем и будут иметь определенную минимальную ширину, например 150 пикселей. Проблема заключается в размещении элементов в родительском блоке, я хотел бы видеть четыре блока текста в первой строке в высоком разрешении и три во второй строке. При разрешении разрешения в первой строке будет три текстовых блока, во второй строке так же и в третьей - один текстовый блок. Если вы снова уменьшите разрешение в первой, второй и третьей строке, будет два текстовых блока, а в четвертом и т. д. Пожалуйста, помогите.

На данный момент мне удалось написать такой код:

.parent{
    max-width: 1500px;
    position: relative;
    margin: 0 auto;
    border: 2px solid rgb(223, 113, 113);
    
}
.first, .third, .fifth, .seventh{
    background-color: rgb(248, 125, 77);
    border: 2px solid rgb(240, 85, 24);
    border-radius: 5px;
    float: left; 
    min-width: 300px;
    max-width: 375px;
    margin: 16px;
    padding: 5px;
}
.second, .fourth, .sixth{
    background-color: rgb(102, 189, 247);
    border: 2px solid rgb(29, 154, 238);
    border-radius: 5px;
    float: left;
    max-width: 375px;
    min-width: 300px;
    margin: 16px;
    padding: 5px;
}
<!DOCTYPE html>
<html>
<head>
    <meta charset = "UTF-8">
    <title>Responsive layout</title>
    <link rel = "Stylesheet" type = "text/css" href = "style.css" />

</head>

<body>
    <div class = "parent">
        <div class = "first"></div>
        <div class = "second"></div>
        <div class = "third"></div>
        <div class = "fourth"></div>
        <div class = "fifth"></div>
        <div class = "sixth"></div>
        <div class = "seventh"></div>
    </div>
</body>
</html>
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
2
0
182
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вы хотите что-то подобное?

.parent{
    width:1200px;
    position: absolute;
    margin: 0px;
    border: 2px solid rgb(223, 113, 113);

}
.first, .third, .fifth, .seventh{
    background-color: rgb(248, 125, 77);
    border: 2px solid rgb(240, 85, 24);
    border-radius: 5px;
    float: left; 
    margin: 16px;
    padding: 5px;
}
.second, .fourth, .sixth{
    background-color: rgb(102, 189, 247);
    border: 2px solid rgb(29, 154, 238);
    border-radius: 5px;
    float: left;
    margin: 16px;
    padding: 5px;
}


.first, .third, .fourth, .second{
    width: calc(25% - (3*15.5px));
}

.seventh, .fifth, .sixth{
    width: calc(100% / 3 - (3*15.5px));
}

@media all and (max-width: 1215px) {
    .parent{
        width: 95%;
    }
    .first, .third, .fourth, .second{
        width: calc(100% / 3 - (3*15.5px));
    }

    .fourth, .fifth, .sixth{
        width: calc(100% / 3 - (3*15.5px));
    }
    .seventh{
        width: 95%;
    }
}

Да, это примерно так. У меня все еще есть вопрос о разделении первого, второго, третьего, четвертого, пятого, шестого и седьмого, поэтому они имеют минимальную ширину 300 пикселей. Как изменить код, чтобы он работал как на изображении, но с установленной минимальной шириной?

user9953939 18.06.2018 19:41

Просто добавьте: min-width: 300px; Но если у них минимальная ширина 300 пикселей, у вас не может быть поля 16 пикселей, потому что ваш родитель - 1200 пикселей, а 4 * 300 - 1200, поэтому у вас недостаточно места для 4 div.

Márton Róbert 18.06.2018 19:49

+ Он получает 14 пикселей от border-left 2px, border-right 2px, padding left 5px, padding right 5px, поэтому, если вы хотите исправить 300px divs, вам нужно установить минимальную ширину 286px

Márton Róbert 18.06.2018 19:51

Я понимаю, большое вам спасибо. В случае проблем напишу.

user9953939 18.06.2018 20:14

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