PNG alpha-прозрачность в IE6 или “пенсионеры зажигают”

Apr 30, 2009 by     No Comments    Posted under: Uncategorized

IE6, находящийся уже одной ногой в могиле, неожиданно предстал в новом света. Появился новый метод заставить работать PNG прозрачность в IE6, без известных проблем при применении AlphaImageLoader.

Метод, разработанный Drew Diller, основан на использовании VML – предшественника SVG. О последнем известно много, о VML слышу в первые. Как я понял, это разработка Microsoft, так и не принятая W3C. MS однако бросать ее не собирается и продолжает поддерживать в своих продуктах, не смотря на существование SVG. Такой вот “чемодан без ручки”, но да им виднее.

Идея нового метода заключается в том, что все прозрачные картинки и фоны создаются с помощью VML объекта, подкладываемого под оригинальный объект. При этом параметры изображения (смещение, масштабирование, повтор) переносятся в VML объект – о чем при использовании AlphaImageLoader и мечтать нельзя было.

В чем плюсы:

  1. Соблюдаются параметры оригинального изображения – можно воссоздать все параметры доступные в CSS
  2. Работают ссылки и нет другиз проблем связанных с использованием AlphaImageLoader!

Как использовать:

  1. Скачать скрипт
  2. Подключаем и определяем какие объекты должны быть обработаны:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    <!--[if IE 6]>
    <script src="DD_belatedPNG.js"></script>
    <script>
      /* EXAMPLE */
      DD_belatedPNG.fix('.png_bg');
     
      /* string argument can be any CSS selector */
      /* .png_bg example is unnecessary */
      /* change it to what suits you! */
    </script>
    <![endif]-->
  3. Оцениваем результат

Страница на сайте разработчика: http://www.dillerdesign.com/experiment/DD_belatedPNG/

Share and Enjoy:
  • Print this article!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • TwitThis

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">