Мечты верстальщика сбудутся в CSS3

09. 09. 2009

css3

Я всегда мечтал, чтобы при помощи CSS можно было применить несколько фоновых рисунков к одному элементу, чтобы можно было обрезать фоновые рисунки. Мне надоело высчитывать у элементов padding, border, margin, чтобы потом присвоить width и height.

В CSS3 наступит почти рай для верстальщиков. Можно будет наконец сделать идеальную верстку.

Самое полезное в CSS3

Начну с нескольких фоновых рисунков в одном элементе, так как для меня это самое полезное добавление.

На самом деле все максимально просто, нужно всего лишь прописывать url и его параметры через запятую.
Пример: background: url (‘bg1.jpg’) top left no-repeat scroll, url (‘bg2.jpg’) 100px 20% repeat-x scroll, url (‘bg3.jpg’) bottom right repeat-y scroll;

Сайты с большим количеством графики, иконок и т.д. обычно делаются «спрайтами», то есть вся графика в одном файле. Сейчас все поместить в один файл не получается, потому, что файл придется делать огромных размеров (если страница «резиновая»). Но в CSS3 решили эту проблему, придумав параметр image-rect, при помощи которого можно обрезать фоновую картинку убирая лишнее. В данный момент этот параметр работает только в последних версиях Mozilla Firefox и пишется -moz-image-rect.
Пример: background-image: -moz-image-rect (url (‘bg.jpg’), 20, 30, 15, 40);

Следующее супер-мега нововведение — параметр box-sizing. В CSS 2.1 padding и border добавляют элементу ширину и высоту. К примеру, если к диву применить width: 10px; border: 10px; padding: 10px, то в иторе этот див будет 50 пикселей в ширину. Если же применить к элементу box-sizing: border-box, то все бордеры и паддинги окажутся внутри элемента, естественно это отразится на содержании элемента.

В CSS3 к селекторам можно будет применять особые атрибуты. Нужны они для того, чтобы применять стили к элементам с определенными атрибутами и значениями. Существует три варианта записи: [атрибут^=значение], [атрибут$=значение], [атрибут*=значение]. Первый применяет стили если к элементам потомкам, которым присвоен указанный атрибут и его значение начинается с указанного, второй если заканчивается и третий если содержит.
Пример: ul.filelist a[href$=”mp3”] { background: url (‘mp3.png’);}

Еще несколько полезностей

word-wrap: break-word позволяет разбивать слово для переноса его на следующую строку. Еще бы ставил знак переноса, так ему бы цены не было.

Сейчас многие сайты пишут заголовки не стандартными шрифтами, вставляя их при помощи Adobe Flash. Теперь вместо flash можно воспользоваться @font-face.
Пример: В CSS файле прописываем нужный шрифт @font-face { font-family: Helvetica; src: url(Helvetica.ttf'); }. Ну, а дальше можно спокойно указывать Helvetica в font-family.

Думаю про border-radius, border-image, text-shadow, box-shadow, opacity все уже слышали и использовали.

Тэги:
Комментариев 13
  • Геннадий Уханов
    # 09.09.2009 в 13:49

    Насчет заголовков и Flash — технология называется SIFR
    А еще есть техника, которую использует Apple — в заголовки вставляются картинки, а реально физический текст — text-indent-ом прячут ) -9999px.

    Синематично и в тоже время красиво
    Но font-face ) Представляешь чо будет когда все будут это свойство поддерживать? Сколько появится сайтов с дурацкими шрифтами )

  • Ерзин Тимур
    # 09.09.2009 в 17:23

    Наверное по дефолту в браузерах будет стоять «Не устанавливать шрифты с сайтов», или будет варнинг, что сайт пытается установить шрифт, разрешить?
    А вообще было бы круто если шрифты будут устанавливаться в браузер, а не в систему.

  • lekareW
    # 09.09.2009 в 23:39

    Было бы интереснее, если бы шрифты подгружались в виде загодя сгенерированых пикчей (аля КАПЧА).
    А если честно, это огромное поле для хакеров. Представляете что будет, если шрифт, склееный с программой (трояном, вирем и т.д), попадет на компьютер ничего не подозревающего юзера?
    Ну хотя. Опять же бизнес для производиелей антивирусов. Да и господин Ерзин прав, скорее всего в браузер будут встраивать подобный механизм защиты

  • Геннадий Уханов
    # 10.09.2009 в 11:13

    > в браузер будут встраивать подобный механизм защиты
    пока не встраивают ))

  • Олег
    # 11.09.2009 в 00:03

    Осталось только дождаться, когда все поголовно браузеры будут поддерживать css3. И будет вам счастье!

  • Ерзин Тимур
    # 11.09.2009 в 01:24

    Чувствую, что мы еще долго будем страдать от IE, даже от восьмой версии, так как он нехрена не поддерживает CSS3, а все остальные вроди нормально. Даже Opera много чего поддерживает.

  • Ерзин Тимур
    # 12.09.2009 в 11:40

    Вообще на сегодняшний день, в идеале рендерят толко FF, Chrome и Safari. По крайней мере у меня с ними никаких проблем не возникает. Только у хрома чуть чуть не четко отображаются бордер-радиус и бокс-шадоу.

  • Олег
    # 13.09.2009 в 00:12

    А мне, честно говоря, вообще не нравится, как хром рендерит текст, особенно заголовки. Про ишака я вообще молчу, конечно на любителя, но не понимаю зачем смазывать мелкий шрифт… глаза в нереальном напряге.

  • Олег
    # 13.09.2009 в 00:18

    to Ерзин Тимур:
    Сказать чуть чуть ни чего не сказать. Бордер-радиус в хроме жутко выглядит. Ощущение, как будто вырезали ногами картинку и сохранили в .gif формате ;)

  • Lekarew
    # 14.09.2009 в 08:13

    Товарищи, а как с пнг прозрачностью в 8 ишаке? Я его до сих пор не видел

  • Ерзин Тимур
    # 14.09.2009 в 08:40

    PNG уже с седьмой версии робит нормально.

  • seezer
    # 23.09.2009 в 18:49

    Чем писать в ответах – to тому-то, to тому-то, реализуй threaded комменты (лесенкой, как в ЖЖ) и не парься…

Написать комментарий
Имя:
*
Эл. почта:
*
Сайт/блог:
Комментарий:
*
Размещение рекламы в этом блоге (финансовый кризис, мать его)