Однопиксельные уголки

Всем привет. Предлагаю сегодня немного поговорить об скругленных уголках. Всем вам известно, что скругление уголков в боксах с помощью css делается через одно место. Меня убивает, что для этого нужно вырезать 8 картинок, делать 8 слоев… и все для чего? Всего лишь для скругления уголков!

Ну да ладно, не об этом речь, а речь о том, что даже когда дизайнеру захотелось зделать оооочень маленькое скругление (смотри картинку выше) в 1 пиксель, нам уже приходится использовать много вложенных <div>, а это печально…

Поэтому сегодня я хочу показать, как с помощью не большого финта ушами (к сожалению сейчас без таких финтов верстать все сложней и сложней) сократить количество вложенных <div> до двух, мало того, я покажу два таких финта :)

Итак, понеслась…

Финт 1.

Он заключается в использовании цвета для фона бокса и подходит в тех случаях когда заливка сплошная, то есть нет никаких border'ов:



html:
<div class="outer">
    <div class="inner">
        box
    </div>
</div>


css:
.outer {background:#999999; margin:0px 1px; padding:1px 0px;}
.inner {background:#999999; margin:0 -1px;}


Принцип работы:

не придумал ничего лучше чем просто нарисовать :)



Финт 2.

Второй способ можно использовать когда цвет заливки и цвет border'а разные:



html:
<div class="outer">
    <div class="inner">
        box
    </div>
</div>


css:
.outer {
    margin:0px 1px; 
    border:1px solid #000000; 
    border-left-width:0; 
    border-right-width:0;
}  
.inner {
    background:#CCCCCC;
    margin:0 -1px; 
    border:1px solid #000000; 
    border-top-width:0; 
    border-bottom-width:0;
}


Принцип работы:

Аналогичен предыдущему, только добавляются border'ы.

Вывод:

С помощью таких вот не хитрых способов можно избавится от неоправданно большой кучи вложенных элементов при верстке таких вот скругленных уголков.
  • -1
  • 18 ноября 2009, 16:47
  • ni_x

Комментарии (8)

RSS свернуть / развернуть
+
0
мм… интересный способ) Надо им будет воспользоваться, хотя я предпочитаю не заморачиваться и делаю все на картинках) что еще более странно я не уважаю gif, предпочитаю png, правда в таком случае логичнее будет использовать спреи))
avatar

IDea

  • 18 ноября 2009, 18:48
+
0
Чтобы не грузить десятки картинок…
Знаю что gif на порядок меньше png, но меня это не парит…
avatar

IDea

  • 18 ноября 2009, 18:49
+
0
А что значит «делаю все на картинках»? то есть картинки в html? О_о

Считаю, что нужно знать меру в использовании любого формата картинок. .png это конечно круто, но ведь это и фикс для шестого осла и дополнительный вес картинок. а если дизайн простенький и этого не требует, то на выходе получаем тяжелую (в килобайтах) верстку…
avatar

ni_x

  • 18 ноября 2009, 19:01
+
0
На счет фикса, как-то не задумывался, да и в принципе плевать, во всяком случае в своих проектах…
«Простенький» понятие растяжимое… Можно и без графики получить не менее тяжолую страницу…
К тому же еще раз повторю, что логичнее будет использоваться спреи, что позволит взять небольшой кваратик(кружок) и использовать его как уголки.
А вообще не люблю закругленных углов, это на мой взгляд как-то через чур обыденно… предпочитаю делать их угловыми, это проще и выглядит более строго…
avatar

IDea

  • 29 ноября 2009, 06:38
+
0
Довольно часто gif весит больше png24, тут зависит от содержимого
avatar

Neolot

  • 24 ноября 2009, 08:00
+
0
Что насчет веса, так это действительно зависит от содержимого…
avatar

IDea

  • 29 ноября 2009, 06:38
+
0
Ай да молодец! =) метод понравился, красиво и аккуратно.
Можно кстати еще внешний контейнер добавить, который охватит два из первого примера, и ему дать средний (здесь — светло-серый) цвет заливки, так поживей получится.
avatar

the_M2

  • 30 ноября 2009, 00:24
+
0
оо!!! здорово!!! мну очень нра… жаль, что для закруглений большого радиуса, все таки придется вставлять картинку..:(
знаю способ, сделать уголки радиусом около 5ти, тоже ток CCS
avatar

rabbit_shu

  • 30 ноября 2009, 18:03

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.