Верстаем оглавление из книги.

Posted on Декабрь 4, 2007
Filed Under table of contents, definition lists, css, html |

Оглавление книги

В последнее время видел в сети несколько вариантов вёрстки подобных макетов и решил представить свой вариант.

Html разметка

Для html разметки используем definition lists:

<dl class="table-of-content">
<dt><span>Закладка фундамента</span></dt>
<dd>21</dd>
<dt><span>Модель визуального форматирования</span></dt>
<dd>42</dd>
<dt><span>Фоновые изображения и замена изображений</span></dt>
<dd>65</dd>
<dt><span>Стилизация гипер ссылок</span></dt>
<dd>91</dd>
<dt><span>Стилизация списков и создание панелей навигации</span></dt>
<dd>107</dd>
<dt><span>Стилизация форм и табличных данных</span></dt>
<dd>131</dd>
<dt><span>Верстка страницы</span></dt>
<dd>151</dd>
<dt><span>Трюки и фильтры</span></dt>
<dd>173</dd>
<dt><span>Поиск и устранение ошибок</span></dt>
<dd>187</dd>
</dl>

Оглавление взято из “Мастерская CSS. Профессиональное применение Web-стандартов“, первой книги, которая попалась под руку. :)

Для чего нужен этот <span> внутри <dt>? Далее это станет ясно.

CSS

Теперь начнём писать стили:

* {
margin:0;
padding:0;
line-height:1em;
}
.table-of-content{
border:1px solid #9b9b9b;
padding:1em;
margin:1em;
}
.table-of-content dt{
font-weight:bold;
clear:both;
}
.table-of-content dd{
float:right;
position:relative;
top:-1.286em;
margin-bottom:-1em;
}

<dd> мы сдвигаем вправо и поднимаем на высоту одной строки вверх. результат.

Следующим шагом мы создаем вертикальные линии используя background-image + изображение . Чтобы перекрыть эти линии используем background-color для <span> (только для этого мы его и ввели) и <dd>. В результате таблица стилей выглядит так:

* {
margin:0;
padding:0;
line-height:1em;
}
.table-of-content{
border:1px solid #9b9b9b;
padding:1em;
margin:1em;
}
.table-of-content dt{
font-weight:bold;
clear:both;
padding-right:8em;
background: url(dotted.gif) repeat-x left bottom;
margin-bottom:.4em;
}
.table-of-content dt span{
background-color:#ffffff;
padding-right:.4em;
position:relative;
top:.1em;
}
.table-of-content dd{
position:relative;
top:-1.286em;
margin-bottom:-1em;
float:right;
background-color:#ffffff;
padding-left:.4em;
}

Конечный результат.

Comments

7 Responses to “Верстаем оглавление из книги.”

  1. Nikita on Декабрь 5th, 2007 2:20 pm

    Зачтено.

  2. Yuriy on Декабрь 5th, 2007 3:37 pm

    Подсветка синтаксиса была бы не лишней :)

  3. never again on Декабрь 5th, 2007 5:02 pm
    2Yuriy:
    согласен. уже давно об этом думаю, но что-то никак руки не дойдут…
    возможно посоветуете плагин?
  4. Yuriy on Декабрь 5th, 2007 5:11 pm

    iG:Syntax Hiliter, как выглядит можно посмотреть у меня на блоге.

  5. never again on Декабрь 5th, 2007 5:26 pm
    Спасибо Yuriy, буду пробовать…
  6. Dastin on Январь 9th, 2008 2:54 am

    у меня получилось…спасибище!!!

  7. DM on Январь 14th, 2008 9:21 pm

    попробовал немного поэксперемтировать. Полученное вставил в шаблон нового сайта, когда доделаю выложу макет.

Leave a Reply




Please copy the string VtvZWf to the field below: