Главная » Статьи » CSS таблицы стилей » Список, разбитый на колонки

Список, разбитый на колонки

Самый простой способ — достучаться CSS-селектором до каждой колонки отдельно с помощью :nth-child(n), но количество селекторов будет расти с количеством колонок. К тому же, это решение не подходит для старых браузеров. Поэтому используем display:inline-block и vertical-align:top для <li>, а для IE, как всегда, «частное решение».

Недостатки. В браузерах, которые не понимают inline-block можно пройти по ссылке, кликнув на пустую область.

Примечание. Решение актуально, когда нет возможности менять HTML-код.

 

<style type="text/css">
ul.columns { margin: 0; padding: 0; list-style-type: none; word-spacing: -1ex; }
/*
Firefox ниже версии 3 не знает о inline-block.
Поэтому указываем для него -moz-inline-stack
*/
.columns li { display: -moz-inline-stack; display: inline-block; //display: inline; }
/*
Чтобы ссылки не нажимались кликом
по пустому месту, применим фильтр
*/
.columns a, .columns b { display: inline; word-spacing: normal; //display: inline-block; //filter: alpha(opacity=100); }
.columns a, .columns b, x:-moz-any-link { display:block; }
/*
Если Firefox выше 2.0, Возвращаем a и b в inline
*/
.columns a, .columns b, x:-moz-any-link, x:default { display: inline; }
.columns li, .columns a, .columns b { vertical-align: top; }

/* customize */
.columns li { margin: 0 10% 0.4em 0; //margin: 0; width: 40%; //width: auto; }
.columns a, .columns b { //margin: 0 10% 0.4em 0; //width: 40%; }
.columns ul { width: 100%; }
</style>
<ul class="columns">
<li><b>Список, разбитый на&nbsp;колонки</b></li>
<li><a href="https://developer.mozilla.org/en/CSS/display">Описание и&nbsp;перечень возможных значений свойства display в&nbsp;CSS (в&nbsp;том числе и&nbsp;специфичные значения display для&nbsp;firefox'а)</a></li>
<li><a href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#nth-child-pseudo">Спецификация <nobr>псевдо-класса</nobr> <nobr>nth-child</nobr> на&nbsp;W3C</a></li>
<li><a href="http://www.w3.org/TR/CSS21/text.html#propdef-word-spacing">Спецификация свойства <nobr>word&ndash;spacing</nobr> на&nbsp;W3C</a></li>
</ul>

 Источник

Ещё вариант:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
ul.columns { margin: 0; padding: 0; list-style-type: none; word-spacing: -1ex; width:700px; font: 12px Arial, Helvetica, sans-serif }
*+html ul.columns {margin: 0; padding: 0; list-style-type: none; width:700px }

/* Firefox ниже версии 3 не знает о inline-block.
Поэтому указываем для него -moz-inline-stack */
.columns li {display: -moz-inline-stack; display: inline-block;}
*+html .columns li {display: inline;}

/* Если Firefox выше 2.0, Возвращаем a и b в inline */
.columns a, .columns b, x:-moz-any-link, x:default { display: inline; }
.columns li, .columns a, .columns b { vertical-align: top; }

/* customize */
.columns li { margin: 0 0 1px 0; width: 175px; }
.columns a {text-decoration:none; display:block; padding:2px 0 5px 20px;}
.columns a:hover {background:#f1eff9;}
.columns .bg {background:#e2def5; font-weight:bold;}
.columns .bg a:hover {background:#e2def5; font-weight:bold;}
.columns ul { width: 100%; }

</style>
</head>

<body>
<ul class="columns">
<li class="bg"><a href="#">Продукты&nbsp;питания</a></li>
<li class="bg"><a href="#">Организация&nbsp;мероприятий</a></li>
<li class="bg"><a href="#">Заказ&nbsp;автомобилей</a></li>
<li class="bg"><a href="#">Прочее</a></li>
<li><a href="#">Супермаркеты</a></li>
<li><a href="#">Звезды</a></li>
<li><a href="#">Такси</a></li>
<li><a href="#">Клининг</a></li>
<li><a href="#">Доставка</a></li>
<li><a href="#">Диджеи</a></li>
<li><a href="#">Аренда</a></li>
<li><a href="#">Курьерские&nbsp;услуги</a></li>
<li><a href="#">Другие</a></li>
<li><a href="#">Фейерверки</a></li>
<li><a href="#">VIP&nbsp;Авто</a></li>
<li><a href="#">Пошив&nbsp;одежды&nbsp;и&nbsp;обуви</a></li>
<li>&nbsp;</li>
<li><a href="#">Шоу&nbsp;программы</a></li>
<li><a href="#">Другое</a></li>
<li><a href="#">Прокат&nbsp;костюмов</a></li>
<li>&nbsp;</li>
<li><a href="#">Организаторы</a></li>
<li>&nbsp;</li>
<li><a href="#">Химчистки</a></li>
<li>&nbsp;</li>
<li><a href="#">Другое</a></li>
<li>&nbsp;</li>
<li>&nbsp;</li>
</ul>
</body>
</html>

Write a comment

  • Required fields are marked with *.

If you have trouble reading the code, click on the code itself to generate a new random code.
 
 
Рейтинг@Mail.ru Rambler's Top100
строганная доска купить;реставрация ванн жидким акрилом