Создаем стиль тетрадного листа


В данном уроке мы сделаем страницы похожими на тетрадь в линейку с помощью CSS и неупорядоченного списка. Линейка Код HTML нашего небольшого примера будет выглядеть так: 01 <!DOCTYPE html> 02 <html lang="ru"> 03 <head> 04 <title>Стиль тетрадного листа | Материалы сайта RUSELLER.COM</title> 05 <meta charset="UTF-8" /> 06 </head> 07 <body> 08 <h4>Цели дня</h4> 09 10 <div class="lines"></div> 11 12 <ul class="list"> 13 <li>Скушал завтрак</li> 14 <li>Покормил кошку Муру</li> 15 <li>Посидел в кресле</li> 16 <li>Съел обед</li> 17 <li>Позвонил маме</li> 18 <li>Написал твит о моей корове</li> 19 <li>Проверил круги в Google+</li> 20 <li>Приготовил ужин</li> 21 <li>Съел ужин</li> 22 <li>Помылся в душе</li> 23 <li>Лег спать</li> 24 </ul> 25 </body> 26 </html> Сначала сформируем основной контейнер, указав для тега body следующие свойства CSS: 1 body { 2 background-color: #f5f5f5; 3 width: 600px; 4 margin: 0 auto; 5 padding: 0; 6 } Затем сделаем стиль для неупорядоченного списка. Назовем класс list: 1 .list { 2 color: #555; 3 font-size: 22px; 4 padding: 0 !important; 5 width: 500px; 6 font-family: courier, monospace; 7 border: 1px solid #dedede; 8 } Причина добавления директивы !important к свойству padding:0;, заключается в том, что позже, когда мы добавим красную линию все может смешаться. Ширина может быть такой, как вам нужно. Другим ключевым моментом является рамка. Теперь определим стили для элементов li: 1 .list li { 2 list-style: none; 3 border-bottom: 1px dotted #ccc; 4 text-indent: 25px; 5 height: auto; 6 padding: 10px; 7 text-transform: capitalize; 8 } Все достаточно просто. Добавим border-bottom: 1px dotted #ccc; чтобы создать иллюзию тетрадного листа. Если есть желание, можно добавить псевдо-класс :hover для элемента li, чтобы создать эффект при наведении курсора мыши. 1 .list li:hover { 2 background-color: #f0f0f0; 3 -webkit-transition: all 0.2s; 4 -moz-transition: all 0.2s; 5 -ms-transition: all 0.2s; 6 -o-transition: all 0.2s; 7 } И наконец, сформируем вертикальную красную линию: 1 .lines { 2 border-left: 1px solid #ffaa9f; 3 border-right: 1px solid #ffaa9f; 4 width: 2px; 5 float: left; 6 height: 495px; 7 margin-left: 40px; 8 }? Самое ужасное, что когда добавляется новый элемент в список, он изменяет свой размер. То есть каждый раз надо изменять высоту красной линии при добавлении или удалении пункта списка. Ширина имеет значение 2px чтобы сформировать двойную линию. Также надо использовать свойство text-indent со значением 25px для пункта списка, чтобы текст выводился с отступом от красной линии. Окончательный код CSS будет выглядеть следующим образом: 01 body { 02 background-color: #f5f5f5; 03 width: 600px; 04 margin: 0 auto; 05 padding: 0; 06 } 07 h4 { 08 color: #cd0000; 09 font-size: 42px; 10 letter-spacing: -2px; 11 text-align: left; 12 } 13 .list { 14 color: #555; 15 font-size: 22px; 16 padding: 0 !important; 17 width: 500px; 18 font-family: courier, monospace; 19 border: 1px solid #dedede; 20 } 21 .list li { 22 list-style: none; 23 border-bottom: 1px dotted #ccc; 24 text-indent: 25px; 25 height: auto; 26 padding: 10px; 27 text-transform: capitalize; 28 } 29 .list li:hover { 30 background-color: #f0f0f0; 31 -webkit-transition: all 0.2s; 32 -moz-transition: all 0.2s; 33 -ms-transition: all 0.2s; 34 -o-transition: all 0.2s; 35 } 36 .lines { 37 border-left: 1px solid #ffaa9f; 38 border-right: 1px solid #ffaa9f; 39 width: 2px; 40 float: left; 41 height: 495px; 42 margin-left: 40px; 43 }