Разработка сайтов с CSS. Блок в центре блока: как решить проблему быстро?


Опубликованно 22.04.2018 07:21

Разработка сайтов с CSS. Блок в центре блока: как решить проблему быстро?

CSS – язык каскадных таблиц стилей. Старые технологии, которые появились на заре интернета, и сегодня активно развивается и позволяет решать многие проблемы, для которых раньше требовалось использование JavaScript, нативными средствами.

Но в некоторые моменты, мы по-прежнему чувствуем слабость CSS. Блок в центре блока – это задание по-прежнему остается проблемой для всех, кто еще только постигает основы веб-разработки. С появлением технологий Flexbox и Grid Layout решить эту задачу стало гораздо проще, но они поддерживаются не всеми браузерами, и даже IE версии 9, нужно искать другие решения. Таким образом, мы рассмотрим основные методы выравнивания блоков в CSS.

Выравнивание по горизонтали, или, Как в CSS разместить блок в центре

Проще скорректировать положение устройства в горизонтальной плоскости, здесь еще раз несколько простых и решений. Первый метод заключается в использовании свойства margin отвечает за наполнение внешнего и выравнивает pu. CSS позволяет сделать это очень изящно. Важно не путать со свойством padding, благодаря которой вы можете установить отступ для любой стороны блока, «отбиваясь» от границы содержания и создания свободного пространства между ними.

Второй способ-использовать свойство text-align: center если блок установлен трон или строчная-блок поведения (display: inline или display: inline-block). Автоматический отступ слева и справа через «margin: 0 auto»

Свойство margin позволяет эффективно поместить в блок CSS, в центре блока родителя, он подходит для случаев, когда каждый элемент задано свойство display: block. Достаточно просто указать параметр margin: 0 auto; в файл CSS или с помощью атрибута style в HTML-код. Пивоварня содержимое этого параметра: 0 означает отсутствие внешних отступов сверху и снизу элемента; Авто – сказали в ваш браузер, чтобы он самостоятельно рассчитывается с полей справа и слева, определяя свободное пространство по бокам и распределив его равномерно с каждой стороны блока.

Если все правильно, то когда вы устанавливаете свойство margin: 0 auto; в CSS блок в центре блока запустится автоматически. Вы можете задать резонный вопрос: "Почему вы не можете задать margin: auto auto, выровняв блок и вертикали?" К сожалению, эта опция не работает из-за этих характеристик блочной модели, как вертикальное схлопывание внешних отступов.

Что делать, если устройство определяется исчез поведение?

Как мы говорили выше, одной из основных особенностей CSS является то, что любой блок может быть установлен в одной из немногих моделей поведения. Выше мы рассмотрели случай, когда элемент блока-это не только внешний вид, но и на ситуации «в потоке», взаимоотношению с другими элементами на странице.

Теперь мы рассмотрим случай, когда объект определяется исчез (display: inline) или нижнего блока поведения (display: inline-block). И в первом и во втором случае, он будет воспринимать свойства, регулирующие поведение текста на странице. И выровнять блок CSS позволяет нам параметр text-align: center позволяет решить проблему без каких-либо трудностей. Мы просто положил его блок-родитель, и наш элемент автоматически ровно посередине в горизонтальной плоскости. Это будет влиять и на другие свойства-аналогичные, например vertical-align: middle, разработан, чтобы центрировать текст по вертикали.

Стильный CSS: используем свойство position: absolute

В CSS выравнивание блока по центру возможно также и с абсолютным позиционированием. Для выравнивания элементов нестандартным способом чаще всего используются свойство position: relative, которая позволяет двигаться в любом направлении с сохранением исходного пространства на странице, и position: absolute, полностью «дошла» элемент из потока, он идеально подходит для того, чтобы расположить в блок CSS, в центре блока в вертикальной плоскости.

Предположим, что наш объект 100px в высоту и ширину 200px, прямоугольник. Чтобы выровнять его по центру, мы просим его, отступы слева и сверху 50 % (left: 50 % и top: 50 %), и за счет отступа эти части в половину ширины и высоты блока (margin-left: -100px и top: -50px). Будем разъяснить этот пункт подробнее.

Свойства left и right со значением 50 % «принимают» элемент левого верхнего угла и CSS блок в центре блока-родителя. Но это еще не все. В этот момент в CSS выравнивание блока в центр еще не точный, потому что в центре сейчас только верхнего угла элемента. Чтобы получить лучший результат, нам нужно сдвинуть элемент на половину его ширины и высоты, используя для этого вертикальные поля или более сложное свойство transform: translate(-50 %, -50 %), выполняет те же функции. Теперь, устройство удобно расположенный точно. Наконец, обратите внимание, что вы можете решить эту проблему с помощью технологии Flexbox, но он предназначен для продвинутых пользователей и не работает во всех браузерах.



Категория: Мобильная техника