10 полезных CSS приёмов
Статья от 25.07.09 в категории CSS

1. Скругленные края без картинок
Претендую на шедевр ;)
<div id="container"> <div> <b class="rtop"> <b class="r1"></b> <b class="r2"></b> <b class="r3"></b> <b class="r4"></b> </b> </div> <!--содержимое блока --> <div> <b class="rbottom"> <b class="r4"></b> <b class="r3"></b> <b class="r2"></b> <b class="r1"></b> </div> </b> </div>
body { background: #f0f0f0;} #container {background: #fff; width: 100px;} .rtop, .rbottom {display:block;background: #f0f0f0; } .rtop *, .rbottom * {display: block; background: #cecece; height: 1px; overflow: hidden} .r1{margin: 0 5px} .r2{margin: 0 3px} .r3{margin: 0 2px} .r4{margin: 0 1px; height: 2px}
100px – ширина блока
#fff – цвет фона блока
#f0f0f0 – цвет фона страницы

2. Нумерованный список
<ol> <li> <p>This is line one</p> </li> <li> <p>Here is line two</p> </li> <li> <p>And last line</p> </li> </ol>
ol { font: italic 1em Georgia, Times, serif; color: #999999; } ol p { font: normal .8em Arial, Helvetica, sans-serif; color: #000000; }

3. Простая форма без таблиц
<form> <label for="name">Name</label> <input id="name" name="name"><br> <label for="address">Address</label> <input id="address" name="address"><br> <label for="city">City</label> <input id="city" name="city"><br> </form>
label,input { display: block; width: 150px; float: left; margin-bottom: 10px; } label { text-align: right; width: 75px; padding-right: 20px; } br { clear: left; }

4. Градиент в тексте
<h1><span></span>CSS Gradient Text</h1> h1 { font: bold 330%/100% "Lucida Grande"; position: relative; color: #464646; } h1 span { background: url(gradient.png) repeat-x; position: absolute; display: block; width: 100%; height: 31px; } <!--[if lt IE 7]> <style> h1 span { background: none; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gradient.png', sizingMethod='scale'); } </style> <![endif]-->

5. Вертикальная центровка с помощью line-height
div{ height:100px; } div *{ margin:0; } div p{ line-height:100px; }
<div> <p>Vertically Centered content</p> </div>

6. Скругленные углы используя изображения
<div class="roundcont"> <div class="roundtop"> <img src="tl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> </div> CONTENT <div class="roundbottom"> <img src="bl.gif" alt="" width="15" height="15" class="corner" style="display: none" /> </div> </div>
.roundcont { width: 250px; background-color: #f90; color: #fff; } .roundcont p { margin: 0 10px; } .roundtop { background: url(tr.gif) no-repeat top right; } .roundbottom { background: url(br.gif) no-repeat top right; } img.corner { width: 15px; height: 15px; border: none; display: block !important; }

7. Несколько классов
Бывает удобно.
<img src="image.gif" class="class1 class2" alt="" />.class1 { border:2px solid #666; } .class2 { padding:2px; background:#ff0; }
8. Горизонтальная центровка
Ну это большинство знает.
<div id="container"></div>#container { margin:0px auto; }

9. Мерзкие ссылки ломают макет
Эти ссылки обычно находятся в меню. При уменьшении ширины окна браузера, ссылки состоящие из двух и более слов убивают макет. Второе слово переносится на другую строчку и может зацепить другие элементы страницы. Лечится просто.
a{ white-space:nowrap; } #anydiv{ overflow:hidden; }
10. Убить скролл IE в textarea
textarea{ overflow:auto; }
26/07/09 в 11:07
Спасибо за приёмы! :-) Градиент прикольная штука, а ещё понравилося возможно делать формы прямо в css. ;-)
27/07/09 в 13:11
1, скругление. Имеются пустые тэги – Плохо. Решение точно кроссбраузерно?
2, список. Решение вложить в ещё один тэг довольно полезно, учту. Спасибо.
4, градиент. Выглядит красиво. Но также не кроссбраузерно (скорее, решение только под Windows), ибо зависит от шрифта.
5, nowrap. Я уж про него и забыл, спасибо что напомнил :)
27/07/09 в 15:04
1. Если зрение не изменяет, то да.
4. Почему не кроссбраузерно, для ие написан фикс, для остальных работает нормально. Зависимости от шрофтов не вижу.
27/07/09 в 15:20
>font: bold 330%/100% “Lucida Grande”;
А если этого шрифта не стоит в системе? Пример: мобильные девайсы.
фикс с IE 6 работает? ;)
27/07/09 в 15:33
if lt IE 7 – это значит что для ie7 и ниже. Работает
Шрикт Lucida Grande. Можно изменить на любой другой. Это лишь пример.
01/08/09 в 14:25
[...] 10 полезных css приёмов — подборка примеров с описанием и демонстрацией 10 полезных css приемов. [...]