Это оригинал статьи взятый с http://code.google.com/p/ie7-js/
К сожалению в эйфории радости нет времени переводить, да и кто кодит и верстает и так все поймет.
About
IE7 is a JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6.
Status
Current version: 2.0 beta 3.
Usage
IE7.js
Upgrade MSIE5-6 to be compatible with MSIE7.
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE7.js" type="text/javascript"></script>
<![endif]-->
IE8.js
Upgrade MSIE5-7 with advanced CSS features missing from MSIE7.
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE8.js" type="text/javascript"></script>
<![endif]-->
You do not need to include IE7.js if you are using IE8.js
PNG
The script only fixes images named: *-trans.png
Unfortunately, the transparent background image cannot be tiled (repeated) using background-repeat. Nor can it be positioned using background-position.
Download
You may link directly to these files if you wish:
http://ie7-js.googlecode.com/svn/version/
Or go to the downloads section to download the current version.
Demo
Комментарии
Очень интересно. Еще бы перевод на великий и могучий, а то не все смогут по достоинству оценить это решение.
Вставку кода с сайта Гугл я бы не делал, а скачал библиотеку и поставил на сервер.
Потому что в противном случае увеличивается вероятность атаки на сервер через сторонний скрипт и у Гугла есть возможность собирать статистику с сайта по количеству вызовов этого скрипта.
Для сайта это пустяк, а Гугл сделает на этом ещё один млн.
Я с Вами согласен, но есть и достоинство, Вам не придется регулярно следить за обновлением самого JS-ника.
Мы тут с группой товарищей решили сделать простенький модулек по этому поводу с возможностью выбора: запускать с сайта или тащить от гугла.
В запуске с сайта есть еще и преимущество Агрегации этого JS до кучи остальных скриптов.
спасибо
гугл хостит этот проект, а не разрабатывает
Я не оспариваю этот факт, просто написал в горячке радости, когда ИЕ-6 увидел min-width и распознал прозрачность PNG ))
Слышал про этот скрипт, но никогда не использовал. Использую только те фиксы для ИЕ которые небходимы при конкретной верстке, как правило это :hover и прозрачность png. Есть сомнения не будет ли этот скрипт очень грузить и без того тугой IE.
эмуляция min-width это тоже хорошо, но я б снача почитал отзывы про скрипт, а потом только его использовал.
Я его начал пользовать уже на двух проектах, работает "гадость" ))).
Ссылка в тему http://habrahabr.ru/blogs/webdev/43676/
автор, спасибо за инфу...
вот только как я понимаю, отключил яваскрипт -- и привет!
Ну да. Если сайт пользует Jquery то отключения скрипта тоже непонятно что за собой повлечет, например если пользовать jcarusel jcalendar тот-же модуль PngFix и другие примочки.
фикс пнг есть на jquery: http://jquery.khurshid.com/ifixpng.php, http://jquery.khurshid.com/jquery.ifixpng.js
фикс min-, max- я делал так:
max-width: 500px;
width: expression(Math.min(parseInt(this.offsetWidth), 500) + "px");
А overflow:visible?
fixed positioning и т.д. чего перечислять зайдите на демо и посмотрите сколько всего он фиксит )).
Верстать действительно легче.
Детский сад.
И вот почему.
Попробуйте сверстать сайт в пнг.
Не одну картинку а там где все в пнг с большим кол вом прозрачных.
И сразу поймете какой это КОСТЫЛЬ.
Это решение более мене приемлемо если есть одно два изображения. Но не весь сайт в пнг.
Я не буду хвастаться, но по выходу проекта в свет кину ссылку (100% сайта пнг, 70% используют полупрозрачность и прозрачность). Меня вполне устраивает этот "костыль" и я никого не призываю голосовать или использовать его, я просто делюсь тем что знаю и что сам использую. А решать использовать ли мой знания или нет Вам.
И как раз хочу заметить что когда одно или два изображения в пнг - использую другие костыли и заплатки.
а какой код надо куда вставлять чтобы ie6 сделать ручным, тут только для 7-ки и 8-ки.
куда вставлять код? в page.tpl.php?
Вот вы сами и ответили на свой вопрос)))
Не для 7-ки и 8-ки а для ИЕ версии ниже чем 7-ка и ниже чем 8-ка )))
соглашусь с выводом на хабре.. ждём пока сдохнет ие6
только сразу предупереждайте народ что экспрешины работают на уровне dom, один еще ладно, а вот кто начнет увлекаться тот скорее всего повесит бродилку напрочь, работает очень медленно- на той же хабре есть обзоры и тестиование экспрешинов на производительность.
справка для тех кто не знает-экспрешин это кастрированный жаба скрипт-который разрешен в css.
где то я видел давно это, сразу отказался- размер библиотеки немерянный был, заманчиво конечно все это но лучше для ие6 отдельный css подгрузить в каментах и в отдельном сыы уже прописать фильтр для png и хак для min-
еще долго ему сдыхать- когда мелкософт отменит поддержку всех своих систем где по дефаулту стоят
только сразу предупереждайте народ что экспрешины работают на уровне dom
в отдельном js-файле, как в сабже, вряд ли быстрее
еще можно так:
min-height: 500px;
height: auto !important;
height: 500px;
на моём крупном проекте дола ie6 уже упала до 25%..
ещё упадёт, я лично решу, что он умер
Устраивает, это очень относительный критерий. Какое время у вас отклика? Сколько времени уходит на генерацию страницы?
Конечно весь сайт можно сверстать в пнг, но только ждать пока отрендерится страница придется долго.
В ИЕ6 например, после згрузки страницы с 7 прозрачными пнг 100 x 100 уже требуется 4 секунды на атлоне 1.6.
Если для вас не критично время - конечно можно все так и верстать.
В погоне за скоростью загрузки предлагаю вообще прибить все джава скрипты, стили СSS, Flash, и т.д. И писать на голом хтмл и даже БД не юзать ))) вот будет скорость загрузки просто глаз не нарадуется.
Если Вы обратите внимание на дизайн Больших проектов, то увидите что он прост до безобразия, а средний интернет магазин или сайт визитка с каким-то небольшим функционалом (и небольшой посещаемостью) вполне протянет js-ник в 48кб.
Я понимаю что если открывать флешовый сайт на диалапе, то вообще можно повесится, вопрос сколько людей еще слушают писк модема при коннекте? На них уж точно не надо ориентироваться. А целевой посетитель пришедший на сайт именно за тем что ему нужно и интересно, вполне вытерпит 4-6 секунд до загрузки страницы.
Кроме того как уже было сказано. Прозрачное пнг релаизовани в jquery которая идет по умолчанию с друпалом.
Описание
IE7 это JavaScript-библиотека, позволяющая браузеру Internet Explorer имитировать поведение браузеров, учитывающих стандарты. Она решает массу проблем с правильным отображением , а также дает возможность корректно отображать прозрачные PNG-файлы в IE5 и IE6.
Статус
Текущая версия : 2.0 beta 3.
Использование
IE7.js
Делает отображение в MSIE5-6 идентичным таковому в MSIE7.
IE8.js
Позволяет MSIE5-7 использовать некоторые продвинутые возможности CSS, отсутствующие в MSIE7.
Включать IE7. js не требуется, если вы используете IE8. js
PNG
Скрипт работает только с изображениями, имеющими имена типа *- trans. png
К сожалению, прозрачные изображения не могут быт ьиспользованы в качестве множественного фона с использованием css-свойства background- repeat, а также позиционирован ос помощью background- position.
Загрузка
Можете ссылаться непосредственно сюда :
http://ie7-js.googlecode.com/svn/version/
Или перейдите в раздел загрузки текущей версии.
Демонстрация возможностей
http://ie7-js.googlecode.com/svn/test/index.html
Интересно, кто нибудь стал это активно использовать? Поделитесь впечатлениями. Столкнулся с проблемой прозрачности в ие6 и вспомнил об этой статье.
http://busybrains.com - работает именно этот скрипт и прекрасно справляется со своими обязанностями.
начал использовать этот скрипт, но возникла проблема, о которой впринципе предупрежали, что если картика задана через background то background-position не работает, кто нибудь это смог пофиксить?
Эти скрипты избавляют от головной боли и добавляют геморрой, при этом этот геморрой - наследственный...
Мы уже от использования этих скриптов отказались, поскольку прекратили в разработках поддержку ИЕ6
молодцы какие!!
Уже можно справлять панихиду по ИЕ6. Наконец-то...
Если для серьезных проектов, то да, придется поддерживать. Но если заказчик молчит про ИЕ6, то можно и не заморачиваться)
обновление :
IE9.js
Upgrade MSIE5.5-8 to be compatible with modern browsers.
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
Гы ...
... и все они были в глубокой бэте на протяжении всего времени существования IE.
... и были поняты причины наличия префикса бэта на протяжении долгих-долгих лет
... и стали очевидны пытливым взорам проблемы растягивания прозрачных картинок по всей величине контайтера при попытке задать позицию фона.
... и всплывали другие проблемы, конца которым видно не было, и были конфликты с другими решениями, словно подснежники отложенные древними мамонтами проклёвывались они и портили весеннее настроение...
... и восстали люди супротив богомерзкого IE6
... и даже спустя много времени не радовал их взор новомодный IE 9
... и конца этой хуёвой поэзии нет