Рубрика CSS

Как разместить элементы по горизонтали используя CSS

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

На рисунке ниже приведен пример горизонтального размещения:

css-hal-5

Вот HTML код, который можно использовать для определения структуры документа:

<div></div>
<div></div>
<div></div>

Для того, чтобы разместить горизонтально 3 элемента внутри контейнера мы воспользуемся несколькими строками кода CSS. На первый взгляд, решение может оказаться простым, нужно всего лишь определить класс (.section) со свойствами width и margin-right с заданными значениями и применить его к каждому <div> элементу, содержащемуся в контейнере. Но проблема заключается в правом отступе последнего элемента <div>, который выступает за ширину контейнера:

css-hal-1

И в этом случае браузер отобразит страницу следующим образом:

css-hal-2

Как вы видите последний элемент <div> переместился ниже. Вопрос: Как можно удалить внешний отступ последнего элемента без использования дополнительного класса CSS со свойством margin-right равным 0?

Решение

Как я уже сказал в начале этой статьи, самым простым решением является использование селектора CSS:first-child и инвертирование положения отступа справа налево.

css-hal-3

Для начала определим контейнер, используя следующий код CSS:

#wrapper{
width:320px;
height:60px;
background:#EFEFEF;
}

Далее определяем class.section, который будет применяться к каждому элементу в главном контейнере.

.section{
border:solid 1px #999;
float:left;
height:58px;
margin-left:10px;
width:98px;
}

В этом примере я использовал фиксированные значения свойства width и margin-left, но вы также можете использовать относительную величину (в процентах). Теперь нам нужно удалить отступ слева  добавив следующий код:

#wrapper div:first-child{margin-left:0px;}

Браузеры интерпретируют предыдущую строку следующим образом: к первому элементу <div>,  содержащемуся  внутри элемента с ID=wrapper,  установят свойство margin-left со значением 0. В результате получиться следующее:

css-hal-41

Есть одно замечание, которое состоит в следующем: IE 6 не поддерживает селектор :first-child. В этом случае вы можете использовать условные комментарии для определения специального файла CSS для IE6 с добавлением нового класса (например, .section-first) с теми же свойствами как у класса .section, но со значением margin-left равное 0.

Источник: www.woorkup.com
Перевод: Администратор сайта explorer-soft.com.

Создан:26.08.2010 | Просмотров: 3,817



 

Оставить комментарий



Перед отправкой формы:
 
 
 
 
для статистики
 

Поиск

 
 

Лента RSS