Как стать автором
Обновить

Комментарии 77

Статью в закладки добавил (на всякий случай), но лично я отказался от применения префиксов, фильтров и разных pie.htc. Юзаешь старый браузер — смотри квадратные углы, никто не виновен.
Не всегда можно убедить в этом клиента. Они в основном смотрят на цифры. А тот же IE7 по w3c статистике занимает 19.5 %. Мне удавалось пару раз уговорить заказчика от теней в IE6. Были весомые доводы, и он согласился, в остальных случаях доходило до ужасных вещей, о которых говорить даже стыдно
Справедливости ради, нужно заметить что лично я верстаю чаще сайты для русско-язычной аудитории, и тут стастистику стоит смотреть не заморскую, а ближе к нашей (тот же liveinternet), там и доля IE другая.

Обычно статистика + прайс-лист помогают заказчику более адекватно выставлять требования.
А тот же IE7 по w3c статистике занимает 19.5 %.

Вы за какой год смотрели? 2005?
По статистике w3c все IE (6+7+8+9) занимают 19.5%, из них IE7 — 2.6 %.

Такая же ситуация в общем по России согласно статистике LiveInternet и в целом в мире согласно статистики StatCounter (и это учитывая Китай с его повальной IE6фикацией)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вот тут ещё самозванцы утверждают что ie7 – 5.65%: www.w3counter.com/globalstats.php

PS: Да если и подумать, то откуда бы ie7 быть распространённым: в xp дефолт это ie6, в семёрке — ie8, a виста не с той ноги взлетела чтобы поднять рейтинг IE7 до 19%
НЛО прилетело и опубликовало эту надпись здесь
Безусловно, я лишь принимал в расчёт тех пользователей, которые не обновляются до чего-нибудь более современного чем дефолт.

BTW: Какие же новые кнопки на хабре стали няшные, не находите? ^^
НЛО прилетело и опубликовало эту надпись здесь
Ой, Вы правы. А ведь я знал об этом. Но разве статистика по остальным сайтам не более репрезнтативна?
НЛО прилетело и опубликовало эту надпись здесь
Это вы объясните заказчику который смотрит под ие7-8 и недоумевает почему в макете все красиво а на сайте все квадратно.
В своей работе стараюсь свести применение pie к минимуму и верстаю по-старинке на картинках, тем более есть хорошие рецепты и для круглых уголков и для блоков с тенью. Pie часто тормозит и иногда ведет себя непредсказуемо, добавляя отступы и прочее.
Это вы объясните заказчику который смотрит под ие7-8 и недоумевает почему в макете все красиво а на сайте все квадратно.


Именно поэтому, мы стараемся в техзадании заранее оговаривать под что верстается сайт. Часто заказчик даже не обращает на это внимание, так что это может помочь избежать проблем в будущем.
Объяснял. Бывает что достаточно сказать что у него кривой браузер поэтому сайт выглядит хуже чем на самом деле. В сложных случаях помогает пример-аналогия с чем-нибудь, например, почему в бентли ездить комфортнее чем в жигуле и что в этом случае строители дороги не причем.
Для того и есть кроссбраузерность, что бы страничка отображалась везде одинаково. И если клиент пишет что хочет что бы у него всё гуд работало в IE7, то придётся родить, или вообще тогда не браться
Да не вопрос, в виде исключения можно. Ессно цена верстки будет x3, а в остальном все довольны.
по поводу квадратных углов — немного не согласен. так как в каждом проэкте целевая аудитория разная. И далеко не все опытные пользователи, а UI — это самое главное для пользователя, а в своё время пользователь определяет успешность проэкта
Скорее всего вы хотели сказать, что отказались префиксов для теней и скурглений. Ведь есть много ксс свойств, которые даже в новейших браузерах не работают без префиксов.
Значит эти свойства экспериментальные и пока их использовать рано.
Я обычно статус свойств на всякий случай на w3 проверяю.
добавлю ещё немного
1. использовать box-shadow, border-radius и linear-gradient для блоков больших размеров — фатально для ФФ и оперы. так как грузит проц почти на 100% и скролить невозможно.
2. от PIE отказался в больших проэктах вовсе, так как много багов, тормозов при анимации. при шкалировании (особенно при исбользовании спрайтов для фона элемента) — вылезают ужасные баги. Для динамически создаваемых элементов вообще приходится подключать pie.js. Так что для ИЕ6-8 я просто делаю всё картинками.
Полностью согласен на счет PIE. На больших проектах практически неприменим, особенно если на страницах много динамического контента и ajax
Мало свойст охвачено, нет примеров работы, а те, что описаны — боян это все. Только слоупоки не юзают скругление, тени и т.д.
Вот тут нормальные примеры и описания, но тоже не все, transform'a нет, например.
Вообщем, пост совершенно ни к чему. К тому же с дизой. Вы и в самом деле думаете, что opacity поддерживается только с 11.6 оперы и 16 хрома? Но при этом почему то древний 3.6 фф указан. Зачем вообще писать кучу версий. Итак понятно, что если написано, например, chrome 15+, то это автоматически означет, что 16 и 17 тоже.
Я охватил часто используемые свойства, указав внизу с каких версий они поддерживаются: Chrome 1+; Opera 10.50+
В посте стараюсь поделится опытом, а не создать справочник по CSS3.
Хорошо. Ток я не понял, опытом чего и зачем тогда картинки с дизой, если вы снизу итак указываете корректные данные.
Как насчет pie.js? как для меня меньше мусора в css и стабильней работает…
Честно говоря, никогда не пробовал, постараюсь обязательно глянуть.
Очень люблю Linear-gradient, использую его очень часто, пренебрегая IE. Единственное что не нравится это большое количество приставок к свойству под разные браузеры. В хроме их даже две.
А я использую SASS и меня не напрягает, что в CSS получается по 6 строк на одно свойство. Я пишу @include linear-gradient(value) и получаю кроссбраузерный css.
SASS это всего лишь сахар для css. Он не делает его кроссбраузерным
Кроссбраузерность не заслуга SASS. Однако мой код чист и не пестрит префиксами, а на выходе я получаю кроссбраузерную CSS.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Можно было бы еще упомянуть code.google.com/p/ie7-js/ для исправления CSS-багов в IE6+.
Еще замечу, что и PIE.htc, и ie7.js могут работать непредсказуемо на сложных сайтах и в WEB-приложениях.
SVG + VML решают проблему в старых браузерах, Modernizr разрулиавает кому что, пост закрыт.
НЛО прилетело и опубликовало эту надпись здесь
В этом посте я хочу поделиться своими личными наблюдениями и выводами в области применения html5 & css3.
И где это всё?
Поддержка: IE6++, FF8++, GC1++, Opera10.5+, Safary5+
Браузер называется «Safari».
Что значит где? Наверху.
Насчёт браузера спасибо, не заметил ошибку. Исправил.
Я не вижу личных наблюдений и выводов, потому и спрашиваю. В тексте рассказ своими словами сайта «Can I Use» + совет использовать PIE.
Это мой первый пост, и я не хотел лить много воды. Поэтому посчитал что в таком формате как сейчас, будет изложено максимально полезно и для начинающего верстальщика и для верстальщика с опытом, который просто заглянул посмотреть нужные ему свойства.
Простите, но что?! Если мои глаза мне не изменяют, то у вас написано, что border-radius: Firefox 8+.
Тем не менее, без префикса он появился в FF4.
А за упоминание только -webkit-gradient без -webkit-linear-gradient поныне надо расстреливать.
К слову о градиентах: С ними забавная ситуация, когда внезапно добавилось ключевое слово to. И да, теперь в рамках одного браузера будет минимум два свойства. А в вебките все три, благодаря их проприетарному свойству. А ещё в опере они (Линейные) с 11.10.
С недочетом в FF3.6 огромное спасибо. Поправил.
Насчёт «А за упоминание только -webkit-gradient без -webkit-linear-gradient поныне надо расстреливать.» не соглашусь. В браузерах на движке webkit (Safari, Chrome, Arora, Konqueror и др.) необходимо указывать свойство градиента именно так, как я его описал.
    background: -webkit-gradient(linear, 0 0, 0 bottom, from(#9FDCF2), to(#D0EEF9));
Если не верите мне, то вот. Правильней указывать и то, и это, и другое. А ещё надо указывать fallback color для древних браузеров.
Да Вы правы, я посмотрел на непроверенных сайтах, типо этого:
westciv.com/tools/gradients/
Как я понял, синтаксис который я описал более старый(на 1 год), чем ваш
Но всё равно огромное спасибо, сейчас поправлю
Хотя подождите, наверху же есть пример для webkit. Присмотритесь
IE: эта проблема легко решается с помощью PIE.htc


К слову говоря, с pie не все так легко решается, кроме того что выскакивают непонятные баги, так еще и ие8 отказывается без pos:relative работать.

Оpacity в большинстве случаев лучше заменять на bg:rgba

Кстати для градиентов есть неплохой генератор

Ок. Спасибо огромное за генератор, было бы больше кармы, плюсанул=)
Насчёт opacity, в каких случаях? rgba не поддерживается в IE точно так же как и остальные св-ва.
через фильтр gradient в осле решается это проблема.
Просто в отличие от opacity, полупрозрачность задается не для всего блока (включая и все его содержимое), а только для фона. Это чаще встречаемая задача ;)
Люди посмотрите в сторону compass-style.org/, недавно начал его использовать, и теперь, наверно, никогда не буду делать сайт без него. Не вижу никаких причин не использовать его.
Простите, Вы наверное не правильно поняли тему поста. Здесь обсуждается кроссбраузерность а не сахар для css
Компас помогает решать проблемы кросбраузерности. Я пишу @include border-radius(3px); вместо border-radius:3px; и компас превращает это в нужные строчки с актуальными префиксами. Более того, если ситуация изменится, и например появится новый префикс, я не буду бешено бегать по css и добавлять его, я просто обновлю компас.

Мой комментарий релевантен теме поста в любом случае :)
Кроссбраузерность — это когда во всех браузерах работает. Добавление вендорных префиксов != кроссбраузерно.
Кроссбраузерность — это когда работает в тех браузерах, которые было решено поддерживать на конкретном проекте. Если обобщить, то кросбраузерность — это когда в работает более чем в одном браузере.

В любом случае добовление префиксов — одна из техник используемая для этого.

И компас не только префиксы умеет добавлять, а может, например, помочь работать с тем же CSS3 Pie compass-style.org/reference/compass/css3/pie/.
Категорически не согласен с вами относительно кроссбраузерности. Вероятно, тут просто разное видение :)
Я считаю, что кроссбраузерность — это одинаковая поддержка популярных в текущий момент браузеров.
А compass — да, хорошая штука. Сам использую.
В последнем примере HEX цвет выбран с юмором.
Хм… простите но по мне статья из разряда «Мне хотелось что-то написать и не важно что оно уже 100500 раз везде обсуждалось». Ну не тянет имхо подобный материал на статью, слабенький очень.
А при чём тут HTML5?

Остаётся решить проблему с FF 3.6 и IE7 — IE4.


С чем?! Не пугайте так, пожалуйста.
После того, как прочитал, что вы предлагаете для border-radius не делать отдельное свойство с префиксом -moz, но при этом использовать глючный и тормозящий PIE.htc, я перестал это читать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
У меня стоит Small HTTP server, он таких проблем не создаёт. Спасибо за наводку с Apache, самому даже стало интересно
НЛО прилетело и опубликовало эту надпись здесь
Возможно IE9 переключается в режим совместимости? Проверьте какой режим стоит в обоих случаях.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Это дефолтное поведение начиная с IE8, чтоб зачастую-кривые интранетовские сайты не поломались.
Это реклама PIE?
НЛО прилетело и опубликовало эту надпись здесь
Кто-нибудь проверял побочные эффекты от использования PIE.htc? Я помню, в том же ИЕ6 при использовании AlphaImageLoader для прозрачных png тормозилась загрузка сайта, так что проще было использовать PNG8 всюду, где возможно.

Как-то странно советовать использовать этот скрипт без анализа негативных последствий.
Как по мне — так использовать можно, но как и другие инструменты — с умом. Использовал в двух проектах, предварительно почитал документацию про known issues — проблем не было. Анимированные и динамические блоки, проблем даже в ие6 не было. Но считаю что пихать его везде и всюду не стоит.
Создал у себя в LESS mixin:
.iesupport(){
 	position: relative;
	behavior: url(/PIE.htc);
}

и применял его для некоторых блоков, для которых критичны эти уголки, тенюшки и прочая. Все довольны )
В общем, либо проектов сложных не было, либо я везунчик, не знаю.
НЛО прилетело и опубликовало эту надпись здесь
Свойства с префиксами нужно писать ДО базового свойства, сколько раз уже писали.
.box_round {
-webkit-border-radius: 12px; /* Saf3-4, iOS 1-3.2, Android ≤1.6 */
-moz-border-radius: 12px; /* FF1-3.6 */
border-radius: 12px; /* Opera 10.5, IE9, Saf5, Chrome, FF4, iOS 4, Android 2.1+ */

/* useful if you don't want a bg color from leaking outside the border: */
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}

.box_shadow {
-webkit-box-shadow: 0px 0px 4px 0px #ffffff; /* Saf3-4, iOS 4.0.2 — 4.2, Android 2.3+ */
-moz-box-shadow: 0px 0px 4px 0px #ffffff; /* FF3.5 — 3.6 */
box-shadow: 0px 0px 4px 0px #ffffff; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
}

.box_gradient {
background-color: #444444;
background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#999999)); /* Saf4+, Chrome */
background-image: -webkit-linear-gradient(top, #444444, #999999); /* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
background-image: -ms-linear-gradient(top, #444444, #999999); /* IE10 */
background-image: -o-linear-gradient(top, #444444, #999999); /* Opera 11.10+ */
background-image: linear-gradient(to bottom, #444444, #999999);
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории