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

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

Как я понимаю, в вашем случае всё-таки можно обойтись без истинного альфа-канала, «изобразив» прозрачность с помощью готового, слитого фона. Главное - убедиться в точном положении элемента в пространстве окон всех браузеров. Впрочем, это критично только для объекта, который появится внизу справа или вверху слева (над детализированными картинками), во всех остальных случаях разница в положении градиентов не будет так уж сильно бросаться в глаза.

Свои рассуждения я отношу к всплывающим при наведении мышки на иконки слоям. Возможно, вы хотите сделать что-то еще, тогда мой коммент теряет ценность.
А как же углы и бордюр? К сожалению, не получится сделать без альфа-канала. Можно, конечно, упростить форму, но это не дело. Я скорее откажусь от плавного появления слоёв.
Да, ещё во всех браузерах, в том числе IE до 7-й версии, есть замечательная возможность указания источника для изображения через css:

img.blank { background: url('blank.gif'); width: 1px; height: 1px; }

...

В ИЕ7, если мы так сделаем, картинка отобразится, но поверху будет также отображён значёк "битое изображение".
Прадон, вот код:
<style>
img.blank { background: url('blank.gif'); width: 1px; height: 1px; }
</style>
...
<img class='blank'>
Да, баг известный. Я так понимаю, дело в том, что для обоих эФфектов применяется DirectX и он сам с собой не дружит.
В IE6 данный тест демонстрирует отличную работоспособность совместного использования DirectX (причём, в явном виде) для отрисовки прозрачности PNG и прозрачности слоя. Думаю, не в этом всё-таки проблема.
Про Оперу забыли.
В опере как всехда всё чудненько :) кстати и тест в ней работает лучше чем в иё и сафари.
Мне ваш сайт понравился .)))

судя по наклейке alpha у вас проект WEB 1.0 =)))
WEB 1.0 никогда не был в альфе. У него WEB 3.0. %)
НЛО прилетело и опубликовало эту надпись здесь
Глупый вопрос - что есть conditional comments =)
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
а погуглить?
Хм, так просто? :) или я чего-то не понимаю, или MS заранее знала что у разрабов будут траблы с их ослом :)
НЛО прилетело и опубликовало эту надпись здесь
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. Механизм фильтрации версий по-хорошему должен быть встроен в любой браузер.
мне кажется, вы заблуждаетесь. проще организовать правильное обновление и будет круговорот браузеров - это удачно реализовано в FF.
у скольких из 43,86% хабрачеловек – любителей лис есть версия ниже 2-й или отключены оповещения об обновлении?
При чём здесь обновления? Да и не обновите вы весь парк браузеров полностью.
Проблема выборки нужных версий остаётся открытой, и решить её сумели к настоящему времени только разработчики IE.
а что мне помешает обновить все браузеры, имея такие возможности? :-) тупят в мелкомягком...
Вы хоть раз профессионально занимались разработкой сайтов?
вообще-то, это мой "хлеб".
А по вашим словам «а что мне помешает обновить все браузеры, имея такие возможности?» такого не скажешь. Мы же не в игрушки тут играем и не научную фантастику пишем. Наличие на рынке многих версий одного браузера с разным набором багов и фич — это данность, а CondComm — пока самый удобный инструмент для работы с этой данностью.
иногда застрелиться хочу из-за этой "данности" aka реальности.
я не вижу причины, почему гейтс не мог наладить апдейты для 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 и прочие извраты, которые позволяют делать нам более-менее сложные макеты.
Ну в своё время и DOM c div были извратом MSIE. ;)
уже неудобно читать :-)
всем желаю меньше багов и больше валидного кода!
Простите, а где можно купить апдейты для IE?
Скорее должен быть встроен не дикий механизмы каменного века, а соответствие требованиям спецификации, в разработке которой сами же принимали участие...
Почти во все браузеры встроены супер-фичи, которых нет в других браузерах. Тот же Firefox, та же Opera… но мало кто про них знает, потому как для обычной веб-разработки это не требуется. А вот из-за совершенно кретинского поведения IE некоторые внутренние фичи стали потихоньку всплывать и успешно использоваться разработчиками.
С фильтром, конечно, можно сделать, как и делали до IE7 (причём, более элегантным способом, чем вы привели), но это сводит на нет появившуюся поддержку PNG, если на сайте используются дополнительные прозрачности.

Можете глянуть реализацию баг-фикса без использования 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, не разобравшись почему я не захотел их использовать.

Сарказм оставьте при себе. Сайт студии для меня на даном этапе - скорее площадка для экспериментов.
Это наистандартнейший и тристолетизвестнейший способ через 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 — это не браузер, а просто издевательство над разработчиком.
Кстати, очень просто делается. Просто пишем в .htaccess (должен быть mod_rewrite):
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.
Покажите мне полностью валидную страницу, которая бы криво отображалось Gecko. В принципе, это тест Acid2, который отображается пока лишь в некоторых браузерах и выглядит довольно криво в Firefox второй ветки (Firefox третьей ветки тест уже проходит), хотя в IE он выглядит ещё хуже. Ладно, тесты тестами — я говорю про реальную страницу и про то, что IE — это единственный браузер, под который нужно подгонять валидную вёрстку.
Firefox даже XML не способен нормально понять. Чего уж говорить про более сложный и громоздкий HTML...
Хм... Не совсем понятно, каким образом он должен его понимать. Если вы имеете в виду то, что ИЕ отображает XML в виде дерева, то это вовсе не означает, что все остальные должны отображать деревом. Или вы говорили об XSL? Я могу привести другой пример: ФФ без проблем отображает основанные на XML SVG изображения. ИЕ для этого нужен стронний плагин.
Конечно я говорю об XSLT и многолетнем игнорировании стандартов w3c корпорацией Mozilla, вызванном нежеланием отказаться от использования не соответствующих стандартам проприетарных библиотек.
Причём 99% HTML багов фиксятся хаками. А вот баги в FF пофиксить невозможно никак. Приходится отказываться от целой прогрессивной технологии.
Можно ещё много ещё чего вспомнить... какой-то несчастный символ ­­ они фиксили 8 лет.
Про XSLT говорить не буду, так как с ним практически не работаю, но сайты, написанные по стандартам на HTML, под ФФ мне практически никогда не приходится подгонять. А вот под ИЕ постоянно.
На своих сайтах можно просто ставить картинки "Сайт совместим со стандартами XHTML 1.0 и CSS 2.1". А для пользователей IE вывести рядом: "Если сайт отображается не красиво вашим браузером, то проверьте пожалуйста соответствует ли он данным стандартам". И ссылочку на сайт где можно посмотреть какие браузеры поддерживают данные стандарты.
Пусть пользователи учатся и начинают понимать, что есть броузеры лучше чем IE. И что IE6 - прошлый век (а IE7 - позор МС)
Не хочу язвить, но вы хотя бы на одном своем сайте сделали такой редирект? :)
Да. У меня это просто в движок вставлено.

// 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. Не так радикально, но тоже ход.
Хм, неплохо. А там написано: «Need to control the font size? Install: ...»? :)
Нет. Просто разработчик не любит IE, браузеры с отключенным JS и т. д. И он делает форум так, как хочет.

Про размер шрифта так говорит: IE6 не поддерживает, зато IE7 поддерживает. Характер...
Зачем переходить на не соответствующий w3c стандартам браузер вроде FF?
Оперу тоже посылаете?
Кстати в этом случае не обязательно использовать регулярные выражения. Есть готовые функции substr_count и strstr
Я, кстати, не уверен, что они будут быстрее. Потому что там не только проверка наличия подстроки, но и другие действия.
Оперу, прикидывающуюся IE, тоже посылаю, конечно. А как я их отличу? Да и не фиг в 21-м веке прикидываться IE.
Ну я наоборт считаю что подсчёт вхождений заданного текста будет быстрее распарсивания строки на регулярные выражения.
Так не нравится читать такие вот сообщения..
Я все время пользуюсь IE и все сайты у меня отображаются нормально. Сам когда пишу - да, нужно адаптировать под все существующие, но ничего не рассыпался.
Прямо таки все? Ну ничего себе. Интересно, как Вы можете это знать? Видимо, в IE новая фича и в углу каждого сайта отображается надпись: «всё хорошо, сайт отображается правильно»…

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

И если насчет валидности - это пинок в сторону IE, то можно просто написать валидный сайт, который будет отображаться по-разному, причем в обеих браузерах будет присутствовать своя логика в отрисовке, причем даже правильная.

PS. Я не хочу сказать, что IE - это офигенно классный и соответствующий всем стандартам браузер, просто не люблю когда о нем так говорят. БОЛЬШИНСТВУ инет-пользователей его недостатки не мешают бороздить просторы сети, значит пользоваться ним все-таки можно ;)
Большинство просто не знает о существовании других браузеров. Да и что уж там говорить — большинство вообще никогда не блестало особой адекватностью.
Опять же, нечто религиозное тут проскакивает ;)

Т.е. если человек адекватный, то он пользуется "альтернативными", браузерами. А если я пользуюсь IE и меня устраивает его функционал и то, как он отображает страницы, то меня уже можно считать неадекватным?! :))
Да нет, в общем, у каждого есть право на мнение. Своё я уже высказал выше.
лол
"Все дураки, кроме меня"
«Вобщем» — нет такого слова. Есть «вообще» и «в общем».
Благодарю. Убрал его вообще. :)
Аналогично, благодарю, постараюсь запомнить, а то систематически пишу "вообщем" и "вобщем" и думаю, где же я не прав? ^__^
Если отбросить ie, то при разработке анимации надо понимать, что прозрачность и png будут тормозить при рендеринге. Лучше бросить силы и придумать более лёгкое и красивое решение.
Конечно, подтормаживания есть, когда окошки всплывают. А если добавлю ещё парочку, и посетитель проведёт над ними мышкой, то будет уже очень заметно. Красивое решение нашёл, осталось найти более лёгкое в плане производительности. :)
Кстати, overflow, float, position стоит поменять. Очень часто помогает не рендерить браузеру всю страницу, а только некоторые ее куски.
IE8 то же самое.
Хм, у меня вот что показывает (http://twitpic.com/3knm1y):
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории