Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Вертикальне вирівнювання за допомогою CSS

  1. Рішення № 1 з ипользованием висоти рядка line-height
  2. Рішення №2 з використання табличного поведінки осередків (display: table)
  3. Рішення №3 з абсолютно позиціонування

Наша взаимовыгодная связь https://banwar.org/

Дуже часто при верстки доводиться займатися вирівнювання об'єктів, один щодо іншого. Найчастіше така проблема є для вертикального вирівнювання, з горизонтальним більш-менш все зрозуміло. Є кілька рішень для вирівнювання. Розглянемо приклад.

<Div class = "inner"> текст який повинен бути вирівнюються по вертикалі </ div>

Рішення № 1 з ипользованием висоти рядка line-height

div.inner {border: 1px solid red; height: 75px; line-height: 75px}

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

Таке рішення вертикального вирівнювання можна використовувати для меню

Якщо у нас блок буде вже, ніж вміст, то вийде наступне

Щоб виправити цю проблему, є два рішення.

Рішення №2 з використання табличного поведінки осередків (display: table)

Міняємо код структури, додаємо всього один блок

<Div class = "inner"> <div> текст який повинен бути вирівнюються по вертикалі </ div> </ div>

І тепер задаємо display для обох блоків. Для зовнішнього блоку задаємо display: table, для внутрішнього задаємо display: table-cell. Це необхідно з точки стандартів верстки. Осередок без таблиці не може існувати

.inner {border: 1px solid red; height: 75px; width: 200px; display: table} .inner div {display: table-cell; vertical-align: middle}

Використовуючи правило vertical-align: middle, сучасні браузери вирівнюють текст всередині осередку по вертикалі.

Але є такі бразуер, як Internet Explorer 6 і 7 версії, вони не розуміють такої поведінки. Відповідно з ними треба боротися відповідним методом:

.inner div {margin-top: expression ((parentNode.offsetHeight - this.offsetHeight) <0? "0": (parentNode.offsetHeight - this.offsetHeight) / 2 + "px")}

Це тільки два способи. Расcмотрім ще кілька методів вирівнювання.

Рішення №3 з абсолютно позиціонування

Ми залишаємо тугіше двох блочну структуру. У цьому рішенні ми обманюємо браузери, кажучи що всередині блоку лежить рядковий елемент, а не блок. Ось такий CSS:

.inner {position: relative; height: 200px; width: 200px; border: 1px solid red} .inner div {position: absolute; top: 50%; height: 50px; margin-top: -25px}

Поведінка пояснює дуже просто. З блоку який фіксовані розміри має вирізається блок, у якого не відомі розміри. Всі браузери автоматично вираховують його висоту. Відповідно ми зможемо абсолютно спозиционировать блок внтурі зовнішнього блоку. Цей метод до речі підходить досить успішно для багатьох завдань з центрування блоків. Наприклад, для центрування зображення з невідомими розмірами в блоці з відомими розмірами або, наприклад, горизонтальне вирівнювання меню зробленого на структурі UL-LI.

джерела:

  1. http://habrahabr.ru/blogs/css/71236/
  2. http://blog.sribna.com/vertikalnoe-vyiravnivanie-v-css-chast-2.htm

Додати коментар

Inner div {margin-top: expression ((parentNode.offsetHeight - this.offsetHeight) <0?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: