Умный подход к CSS3 - PullRequest
1 голос
/ 22 июня 2010

Есть ли у вас какой-либо элегантный подход, позволяющий воспользоваться функциями CSS3, такими как радиус границы или градиенты?

Я ищу решение, которое позволит избежать специфических для браузера свойств CSS и файлов таблиц стилей для браузера.Я нахожу их обоих сложными в обслуживании и слишком многословными.

Это может быть библиотека Javascript, которая позаботится о совместимости между браузерами.Таким образом, я мог использовать только поддержку свойств W3C CSS3 (не зависящую от браузера) и избавиться от библиотеки, когда браузеры начнут хорошо поддерживать CSS3.

До сих пор я обнаружил, что эти ресурсы работают напо крайней мере, некоторые из моих ожиданий:

  • eCSStender - JS, которому приказано имитировать функции CSS3 в различных браузерах (даже IE6), Я еще не тестировал ( читайте о eCSStender )
  • Mordernizr - JS, который обнаруживает, какие свойства CSS3браузер поддерживает
  • ... Я сообщу вам ваши ответы

Или, возможно, у вас есть другой подход, который позволяет Вамвоспользоваться CSS3 без очень подробного кода?

Ответы [ 2 ]

1 голос
/ 22 июня 2010

Вы можете использовать МЕНЬШЕ , у которого есть пример с радиусом границы на их домашней странице:

.rounded_corners (@radius: 5px) {
    -moz-border-radius: @radius;
    -webkit-border-radius: @radius;
    border-radius: @radius;
}
#header {
    .rounded_corners;
}

Однако я действительно не нахожу это , что грязно использовать браузерные префиксы.Для border-radius единственное, что вам нужно, это:

-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;

, который будет работать в дюжине браузеров (если вы используете мобильные браузеры).Использование отступов таким способом также позволяет не забыть обновить одно из свойств.Когда вы решите отказаться от поддержки Safari 4 или чего-то еще, вы можете просто найти и заменить правила, которые вы хотите удалить из своих CSS-файлов.

Сравните это с тем, когда нам нужны были хакерские модели, NS4, IE5 / Macисправления, и все такое дерьмо.

0 голосов
/ 22 июня 2010

Это не специфично для CSS3, но вы запрашиваете краткий способ обработки стилей и упоминаете modernizr (который работает путем добавления classes подобно no-borderradius к вашему <html> элементу, если эта функция недоступна ), Я подумал, что это может быть полезно для общего улучшенного способа организации вашего CSS.

Существует МЕНЬШЕ , который позволяет использовать переменные, миксины или вложенные правила в CSS (примеры приведены в ссылке). Это, однако, требует, чтобы вы скомпилировали ваши файлы .less в действительные .css. Чтобы избежать этого, есть / будет less.js (см. Также: Less.js устареет CSS ), что позволяет включать файлы .less непосредственно на страницу (полезно при минимум в процессе разработки).

Я думаю, что LESS не требует от вас изучения большого количества новых правил синтаксиса и может помочь организовать запасной CSS прямо рядом с "настоящим" стилем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...