Комментарии 82
Как я понимаю, в вашем случае всё-таки можно обойтись без истинного альфа-канала, «изобразив» прозрачность с помощью готового, слитого фона. Главное - убедиться в точном положении элемента в пространстве окон всех браузеров. Впрочем, это критично только для объекта, который появится внизу справа или вверху слева (над детализированными картинками), во всех остальных случаях разница в положении градиентов не будет так уж сильно бросаться в глаза.
Свои рассуждения я отношу к всплывающим при наведении мышки на иконки слоям. Возможно, вы хотите сделать что-то еще, тогда мой коммент теряет ценность.
Свои рассуждения я отношу к всплывающим при наведении мышки на иконки слоям. Возможно, вы хотите сделать что-то еще, тогда мой коммент теряет ценность.
Да, ещё во всех браузерах, в том числе IE до 7-й версии, есть замечательная возможность указания источника для изображения через css:
img.blank { background: url('blank.gif'); width: 1px; height: 1px; }
...
![]()
В ИЕ7, если мы так сделаем, картинка отобразится, но поверху будет также отображён значёк "битое изображение".
img.blank { background: url('blank.gif'); width: 1px; height: 1px; }
...
В ИЕ7, если мы так сделаем, картинка отобразится, но поверху будет также отображён значёк "битое изображение".
Да, баг известный. Я так понимаю, дело в том, что для обоих эФфектов применяется DirectX и он сам с собой не дружит.
Про Оперу забыли.
Мне ваш сайт понравился .)))
судя по наклейке alpha у вас проект WEB 1.0 =)))
судя по наклейке alpha у вас проект WEB 1.0 =)))
Глупый вопрос - что есть conditional comments =)
This feature requires Microsoft® Internet Explorer 5 or later...
мне понравилось, что они называют это фичей :-)
Это именно фича и есть. И надо отдать должное разработчикам из Редмонда — наиполезнейшая. С её помощью мы можем отфильтровывать нужные нам версии IE. Попробуйте сделать тоже самое так же эффективно с другими браузерами.
разные браузеры, вроде как стандарты держат и не выеживаются. вы же не занимаетесь в FF тем же самым?
Дело не в поддержке стандартов, а в том, что вы сейчас никак в коде не отфильтруете Opera 9.02 от Opera 7.23 так, как можете легко и понятно отфильтровать IE 5.01 от, скажем, IE 5.5. Не сможете и с Firefox.
Условные комментарии — хороший механизм и спасибо той светлой головушке, что внедрила его аж в 5 версию IE. Механизм фильтрации версий по-хорошему должен быть встроен в любой браузер.
Условные комментарии — хороший механизм и спасибо той светлой головушке, что внедрила его аж в 5 версию IE. Механизм фильтрации версий по-хорошему должен быть встроен в любой браузер.
мне кажется, вы заблуждаетесь. проще организовать правильное обновление и будет круговорот браузеров - это удачно реализовано в FF.
у скольких из 43,86% хабрачеловек – любителей лис есть версия ниже 2-й или отключены оповещения об обновлении?
у скольких из 43,86% хабрачеловек – любителей лис есть версия ниже 2-й или отключены оповещения об обновлении?
При чём здесь обновления? Да и не обновите вы весь парк браузеров полностью.
Проблема выборки нужных версий остаётся открытой, и решить её сумели к настоящему времени только разработчики IE.
Проблема выборки нужных версий остаётся открытой, и решить её сумели к настоящему времени только разработчики IE.
а что мне помешает обновить все браузеры, имея такие возможности? :-) тупят в мелкомягком...
Вы хоть раз профессионально занимались разработкой сайтов?
вообще-то, это мой "хлеб".
А по вашим словам «а что мне помешает обновить все браузеры, имея такие возможности?» такого не скажешь. Мы же не в игрушки тут играем и не научную фантастику пишем. Наличие на рынке многих версий одного браузера с разным набором багов и фич — это данность, а CondComm — пока самый удобный инструмент для работы с этой данностью.
иногда застрелиться хочу из-за этой "данности" aka реальности.
я не вижу причины, почему гейтс не мог наладить апдейты для IE бесплатно, через Automatic Updates или отдельно, только бешенная жадность и диктатура. интернет становится доступнее, не обязательно качать весь браузер, можно diff'ами.
ситуация осложняется тормозным IE 7, который я и за бесплатно бы себе не поставил. он у меня потому, что приходится в нём тестировать - аудиторию нельзя игнорировать.
хочу подвести... моя позиция такова, что не нужно клипать на баг сверху багов и идобавлять разработчиками возможности потрахаться, а вовремя среагировать на ситуацию. но, по-видимому, ничего не изменится :-(
уже приходится обрабатывать JS под разные браузеры, скоро появится и <img iesrc="/images/ie-bg-no-alpha.png" src="/images/bg.png" alt="" />... страшно подумать.
я не вижу причины, почему гейтс не мог наладить апдейты для IE бесплатно, через Automatic Updates или отдельно, только бешенная жадность и диктатура. интернет становится доступнее, не обязательно качать весь браузер, можно diff'ами.
ситуация осложняется тормозным IE 7, который я и за бесплатно бы себе не поставил. он у меня потому, что приходится в нём тестировать - аудиторию нельзя игнорировать.
хочу подвести... моя позиция такова, что не нужно клипать на баг сверху багов и идобавлять разработчиками возможности потрахаться, а вовремя среагировать на ситуацию. но, по-видимому, ничего не изменится :-(
уже приходится обрабатывать JS под разные браузеры, скоро появится и <img iesrc="/images/ie-bg-no-alpha.png" src="/images/bg.png" alt="" />... страшно подумать.
IE через AU обновляется нормально и никто не берёт деньги за Automatic Update.
Просто подумайте: на движке IE основана огромная часть сервисов в Windows — от Outlook'а до Help'а… А вам бы запатчить по-быстрому. Сейчас в MS над IE работают не идиоты, просто им досталось скверное наследство и политика компании не плясать под дудку W3C.
С точки зрения системного браузера и инфопространства (Hotmail, Live.com), генерируемого MS'ом, IE является идеальным браузером.
Но. IE — хреновый браузер, а нам с ним работать, поэтому воздадим должное разработчикам за ActiveX, DHTML, CondComm и прочие извраты, которые позволяют делать нам более-менее сложные макеты.
С точки зрения системного браузера и инфопространства (Hotmail, Live.com), генерируемого MS'ом, IE является идеальным браузером.
Но. IE — хреновый браузер, а нам с ним работать, поэтому воздадим должное разработчикам за ActiveX, DHTML, CondComm и прочие извраты, которые позволяют делать нам более-менее сложные макеты.
Простите, а где можно купить апдейты для IE?
Скорее должен быть встроен не дикий механизмы каменного века, а соответствие требованиям спецификации, в разработке которой сами же принимали участие...
Почти во все браузеры встроены супер-фичи, которых нет в других браузерах. Тот же Firefox, та же Opera… но мало кто про них знает, потому как для обычной веб-разработки это не требуется. А вот из-за совершенно кретинского поведения IE некоторые внутренние фичи стали потихоньку всплывать и успешно использоваться разработчиками.
С фильтром, конечно, можно сделать, как и делали до IE7 (причём, более элегантным способом, чем вы привели), но это сводит на нет появившуюся поддержку PNG, если на сайте используются дополнительные прозрачности.
Можете глянуть реализацию баг-фикса без использования span или каких либо других дополнительных элементов на странице.
Можете глянуть реализацию баг-фикса без использования span или каких либо других дополнительных элементов на странице.
Слишком много эмоций.
1. Не нравится. Это альфа-версия сайта. Экспериментирую.
2. В своих классах я прекрасно разбираюсь. Специально для вас: не t, h, w..., а "table.w6 td.tl" - верхний левый угол таблицы с белым фоном и закруглёнными краями диаметром 6 пикселов, "table.w6 td.t" - верхняя центральная часть, и тд.
3. В моём ИЕ6 font-size: 12px; выглядит так же, как и в ФФ и Опере и ИЕ7. В вашем браузере отличается? Ах, да... пользователь не может масштабировать шрифт из-за этого, ну а разве изображения будут синхронно со шрифтами масштабироваться в ИЕ6?
4. Я знаю, что это за элементы, и этого достаточно. Почему с id? А потому что к ним будет обращение через DOM.
5. Этот великолепный чистый лист - альфа версия сайта. Да и человеку с отключенными картинками нечего делать на сайте студии.
6. И моего. Я ужасно не хотел использовать onresize, и возможно найду способ как во всех браузерах с помощью css привязать любой абсолютно позиционированный элемент к реальной высоте документа, а не высоте окна или чему-то ещё.
7. Так нужно.
8. Эти фоны-картинки динамически растягиваются на всю ширину или высоту экрана, там где нужно. Только не рассказывайте мне про repeat-x, repeat-y, не разобравшись почему я не захотел их использовать.
Сарказм оставьте при себе. Сайт студии для меня на даном этапе - скорее площадка для экспериментов.
1. Не нравится. Это альфа-версия сайта. Экспериментирую.
2. В своих классах я прекрасно разбираюсь. Специально для вас: не t, h, w..., а "table.w6 td.tl" - верхний левый угол таблицы с белым фоном и закруглёнными краями диаметром 6 пикселов, "table.w6 td.t" - верхняя центральная часть, и тд.
3. В моём ИЕ6 font-size: 12px; выглядит так же, как и в ФФ и Опере и ИЕ7. В вашем браузере отличается? Ах, да... пользователь не может масштабировать шрифт из-за этого, ну а разве изображения будут синхронно со шрифтами масштабироваться в ИЕ6?
4. Я знаю, что это за элементы, и этого достаточно. Почему с id? А потому что к ним будет обращение через DOM.
5. Этот великолепный чистый лист - альфа версия сайта. Да и человеку с отключенными картинками нечего делать на сайте студии.
6. И моего. Я ужасно не хотел использовать onresize, и возможно найду способ как во всех браузерах с помощью css привязать любой абсолютно позиционированный элемент к реальной высоте документа, а не высоте окна или чему-то ещё.
7. Так нужно.
8. Эти фоны-картинки динамически растягиваются на всю ширину или высоту экрана, там где нужно. Только не рассказывайте мне про repeat-x, repeat-y, не разобравшись почему я не захотел их использовать.
Сарказм оставьте при себе. Сайт студии для меня на даном этапе - скорее площадка для экспериментов.
Это наистандартнейший и тристолетизвестнейший способ через iepngfix.js и о его элегантности ещё можно ой как поспорить
А вот по поводу этого можно поговорить. Как я понял, вы не любите использовать проверенные годами методами. Но вдумайтесь, этот метод не вынуждает вас подстраивать весь остальной код страницы под IE. Зачем тянуть всякие:
<div id="ie7png">
<img src="/i/my-cool.png" alt="cool png ;-)"/>
<span></span>
</div>
Если можно оставить
<img src="/i/my-cool.png" alt="cool png ;-)"/>
Да и что это за id="ie7png"? Обычно для таких целей люди классы используют.
Но меня больше поразило вот это:
<!--[if lte IE 7]><![if gte IE 5.5]>
Вот такой вариант не работает?
<!--[if IE 7]>
Не работает где?
7 версия и версии от 5.5 до 7 включительно — это две большие разницы.
Как вариант — перенаправлять всех с user agent'ом ie на getfirefox.com.
Потому что Internet Exploder — это не браузер, а просто издевательство над разработчиком.
Потому что Internet Exploder — это не браузер, а просто издевательство над разработчиком.
Кстати, очень просто делается. Просто пишем в .htaccess (должен быть mod_rewrite):
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*MSIE.*$
RewriteRule /* http://getfirefox.com/
Но, ИМХО, это стоит делать именно на своих сайтах. Если ты делаешь заказ — плохая идея, потому что даже у заказчика вполне вероятно IE.
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*MSIE.*$
RewriteRule /* http://getfirefox.com/
Но, ИМХО, это стоит делать именно на своих сайтах. Если ты делаешь заказ — плохая идея, потому что даже у заказчика вполне вероятно IE.
Перенаправить можно и без mod_rewrite, но я этого ни в коем случае не сделаю. Могу только рекомендовать установку какого-то браузера, и то, не для просмотра именно моего сайта (уж как-то придётся добиться совместимости), а вообще. Надо быть более дружественным к посетителю. ;)
Как только пользователь поставит браузер, который не будет надо мной издеваться, так и я стану дружественным к этому пользователю.
А что мешает фильтровать броузеры через $_SERVER['HTTP_USER_AGENT'] в php можно так же использовать функцию get_browser(), ето намного практичней, для каждого броузера либо платформы можно использовать как отдельный темплейт так и CSS, ето так же можно применить при написани сайтов для портативных устройств.
Вы шутите? А на что тогда придумывали стандарты W3C? Вот уж точно не для того, чтобы потом для разных браузеров и платформ разные версии оформления писали.
А зачем придумали УК и ПДД? И не говорите, что вы ни разу их не нарушали.
Так же и разработчики браузеров - нарушают, но мир от этого не рушится.
Ничего идеального нет, в том числе и браузера - как бы не старались такой написать.
Так же и разработчики браузеров - нарушают, но мир от этого не рушится.
Ничего идеального нет, в том числе и браузера - как бы не старались такой написать.
Да вот нет, позвольте не согласиться. Одно дело жизнь, где хоть мелкие нарушения правил присущи всем, а другое дело электронные стандарты. И почему, интересно, все браузеры, кроме IE, хорошо отображают валидный код, а IE такой особенный и позволяет себе этого не делать?
Ну, если бы дело было только в IE - я думаю, все снесли бы его и были бы счастливы.
Конечно, FF, Opera и Safari больше придерживаются стандартам, но всё же они тоже не идеальны.
Почему не следуют стандартам полностью? Потому что сами стандарты зачастую неточны, потому что разработчикам кажется что какие-то вещи необязательно реализовывать в полной мере, потому что где-то недосмотрели. Да ещё куча этих "потому что".
Такая тенденция наблюдается не только в веб-стандартах: например в сетевом софте далеко не все досконально следуют RFC.
Конечно, FF, Opera и Safari больше придерживаются стандартам, но всё же они тоже не идеальны.
Почему не следуют стандартам полностью? Потому что сами стандарты зачастую неточны, потому что разработчикам кажется что какие-то вещи необязательно реализовывать в полной мере, потому что где-то недосмотрели. Да ещё куча этих "потому что".
Такая тенденция наблюдается не только в веб-стандартах: например в сетевом софте далеко не все досконально следуют RFC.
Покажите мне полностью валидную страницу, которая бы криво отображалось Gecko. В принципе, это тест Acid2, который отображается пока лишь в некоторых браузерах и выглядит довольно криво в Firefox второй ветки (Firefox третьей ветки тест уже проходит), хотя в IE он выглядит ещё хуже. Ладно, тесты тестами — я говорю про реальную страницу и про то, что IE — это единственный браузер, под который нужно подгонять валидную вёрстку.
Firefox даже XML не способен нормально понять. Чего уж говорить про более сложный и громоздкий HTML...
Хм... Не совсем понятно, каким образом он должен его понимать. Если вы имеете в виду то, что ИЕ отображает XML в виде дерева, то это вовсе не означает, что все остальные должны отображать деревом. Или вы говорили об XSL? Я могу привести другой пример: ФФ без проблем отображает основанные на XML SVG изображения. ИЕ для этого нужен стронний плагин.
Конечно я говорю об XSLT и многолетнем игнорировании стандартов w3c корпорацией Mozilla, вызванном нежеланием отказаться от использования не соответствующих стандартам проприетарных библиотек.
Причём 99% HTML багов фиксятся хаками. А вот баги в FF пофиксить невозможно никак. Приходится отказываться от целой прогрессивной технологии.
Можно ещё много ещё чего вспомнить... какой-то несчастный символ они фиксили 8 лет.
Причём 99% HTML багов фиксятся хаками. А вот баги в FF пофиксить невозможно никак. Приходится отказываться от целой прогрессивной технологии.
Можно ещё много ещё чего вспомнить... какой-то несчастный символ они фиксили 8 лет.
На своих сайтах можно просто ставить картинки "Сайт совместим со стандартами XHTML 1.0 и CSS 2.1". А для пользователей IE вывести рядом: "Если сайт отображается не красиво вашим браузером, то проверьте пожалуйста соответствует ли он данным стандартам". И ссылочку на сайт где можно посмотреть какие браузеры поддерживают данные стандарты.
Пусть пользователи учатся и начинают понимать, что есть броузеры лучше чем IE. И что IE6 - прошлый век (а IE7 - позор МС)
Пусть пользователи учатся и начинают понимать, что есть броузеры лучше чем IE. И что IE6 - прошлый век (а IE7 - позор МС)
Не хочу язвить, но вы хотя бы на одном своем сайте сделали такой редирект? :)
Да. У меня это просто в движок вставлено.
// Internet Exploder protection
if (ereg ('^.*MSIE.*$', $_SERVER['HTTP_USER_AGENT'])) {
header ('Location: http://getfirefox.com/');
}
// Internet Exploder protection
if (ereg ('^.*MSIE.*$', $_SERVER['HTTP_USER_AGENT'])) {
header ('Location: http://getfirefox.com/');
}
Здорово. А есть какая-нибудь статистика пользователей, установивших себе FF и вернувшихся?
Хмм, не видел. Зато на Хабре недавно публиковали ссылку конкретно на статистику Компьютерры. И там Internet Explorer занимает лишь 47.63%. Здорово, правда? Это ещё не всё. Windows там получил 75.80%, а Linux 14.89% — меня очень порадовало, так как сайт не очень-то и Линуксовый (хотя у них есть блог о Линуксе, в общем).
Просто не все сайты могут себе позволить такие редиректы. Грубо говоря, было с Яндекс.Директа $2000, а стало $1000.
Согласен. Но если персональные сайты, которые люди делают для души, для себя, будут посылать IE'шников, IE'шники поламаются да и перейдут на какой-нибудь нормальный браузер. И будут смотреть все сайты уже им.
Знаете, есть такой форумный движок - Vanilla. Так вот там в шаблоне по умолчанию шрифты заданы в px. Мелкие - жуть. Без масштабирования с ума сойдешь.
А в левой колонке ненавязчивые ссылки на Оперу, FF и даже Konqueror. Не так радикально, но тоже ход.
А в левой колонке ненавязчивые ссылки на Оперу, FF и даже Konqueror. Не так радикально, но тоже ход.
Зачем переходить на не соответствующий w3c стандартам браузер вроде FF?
Оперу тоже посылаете?
Кстати в этом случае не обязательно использовать регулярные выражения. Есть готовые функции substr_count и strstr
Кстати в этом случае не обязательно использовать регулярные выражения. Есть готовые функции substr_count и strstr
Я, кстати, не уверен, что они будут быстрее. Потому что там не только проверка наличия подстроки, но и другие действия.
Оперу, прикидывающуюся IE, тоже посылаю, конечно. А как я их отличу? Да и не фиг в 21-м веке прикидываться IE.
Оперу, прикидывающуюся IE, тоже посылаю, конечно. А как я их отличу? Да и не фиг в 21-м веке прикидываться IE.
Так не нравится читать такие вот сообщения..
Я все время пользуюсь IE и все сайты у меня отображаются нормально. Сам когда пишу - да, нужно адаптировать под все существующие, но ничего не рассыпался.
Я все время пользуюсь IE и все сайты у меня отображаются нормально. Сам когда пишу - да, нужно адаптировать под все существующие, но ничего не рассыпался.
Прямо таки все? Ну ничего себе. Интересно, как Вы можете это знать? Видимо, в IE новая фича и в углу каждого сайта отображается надпись: «всё хорошо, сайт отображается правильно»…
А если серьёзно, я считаю, что когда нужно дополнительно делать хоть что-то с валидным кодом, чтобы он только отобразился в каком-то там специфичном браузере, этот самый специфичный браузер отправляется лесом.
А если серьёзно, я считаю, что когда нужно дополнительно делать хоть что-то с валидным кодом, чтобы он только отобразился в каком-то там специфичном браузере, этот самый специфичный браузер отправляется лесом.
Под нормальным отображением я имел ввиду отсутствие косяков, которые бы негативно сказывались на внешнем виде или удобстве просмотра.
И если насчет валидности - это пинок в сторону IE, то можно просто написать валидный сайт, который будет отображаться по-разному, причем в обеих браузерах будет присутствовать своя логика в отрисовке, причем даже правильная.
PS. Я не хочу сказать, что IE - это офигенно классный и соответствующий всем стандартам браузер, просто не люблю когда о нем так говорят. БОЛЬШИНСТВУ инет-пользователей его недостатки не мешают бороздить просторы сети, значит пользоваться ним все-таки можно ;)
И если насчет валидности - это пинок в сторону IE, то можно просто написать валидный сайт, который будет отображаться по-разному, причем в обеих браузерах будет присутствовать своя логика в отрисовке, причем даже правильная.
PS. Я не хочу сказать, что IE - это офигенно классный и соответствующий всем стандартам браузер, просто не люблю когда о нем так говорят. БОЛЬШИНСТВУ инет-пользователей его недостатки не мешают бороздить просторы сети, значит пользоваться ним все-таки можно ;)
Большинство просто не знает о существовании других браузеров. Да и что уж там говорить — большинство вообще никогда не блестало особой адекватностью.
Опять же, нечто религиозное тут проскакивает ;)
Т.е. если человек адекватный, то он пользуется "альтернативными", браузерами. А если я пользуюсь IE и меня устраивает его функционал и то, как он отображает страницы, то меня уже можно считать неадекватным?! :))
Т.е. если человек адекватный, то он пользуется "альтернативными", браузерами. А если я пользуюсь IE и меня устраивает его функционал и то, как он отображает страницы, то меня уже можно считать неадекватным?! :))
лол
"Все дураки, кроме меня"
"Все дураки, кроме меня"
«Вобщем» — нет такого слова. Есть «вообще» и «в общем».
Если отбросить ie, то при разработке анимации надо понимать, что прозрачность и png будут тормозить при рендеринге. Лучше бросить силы и придумать более лёгкое и красивое решение.
Конечно, подтормаживания есть, когда окошки всплывают. А если добавлю ещё парочку, и посетитель проведёт над ними мышкой, то будет уже очень заметно. Красивое решение нашёл, осталось найти более лёгкое в плане производительности. :)
IE8 то же самое.
Хм, у меня вот что показывает (http://twitpic.com/3knm1y):
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
PNG с альфа-каналом + opacity в IE7