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


Опубликованно 03.04.2018 09:43

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Категория: Новости Tech