IE6 PNG Заменить: Как сделать вложенный <a>кликабельным? - PullRequest
0 голосов
/ 28 сентября 2010

Для целей этого вопроса учтите следующее:

<div class="has_transparent_png">
    <a href="foo.html">
        <span>
            <img src="logo.jpg" />
        </span>
    </a>
</div>

Проблема: В IE6 <a> не активируется. Вот замена PNG, которую я использую:

.has_transparent_png {
    background-image: url(images/transparentpng.png);
}

* html .has_transparent_png {
    behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none", this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')", this.src = "images/spacer.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("', '').replace('")', ''), this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')", this.runtimeStyle.backgroundImage = "none")), this.pngSet=true));
}

Как я могу сделать <a> кликабельным? Я не имею никакого контроля над HTML. Только CSS. Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 28 сентября 2010

Не уверен, поможет ли это, но похоже, что вы настраиваете эту структуру DOM, чтобы исправить прозрачное изображение в IE6. Вы можете просто запустить функцию js для определенных идентификаторов, чтобы зафиксировать прозрачность изображений, используя такой скрипт: http://homepage.ntlworld.com/bobosola/pnghowto.htm

Сделайте что-то вроде этого внизу вашей страницы:

DD_belatedPNG.fix ( '# imgThatNeedsFix');

Надеюсь, это поможет.

0 голосов
/ 18 октября 2010

Кажется, что нет способа сделать это строго через CSS, что и было намеченной целью.

0 голосов
/ 28 сентября 2010

Можно попробовать сделать ..

.has_transparent_png a { position:relative; zoom:1; }

Это не всегда работает ...

Другой альтернативой может быть использование дочернего элемента div, чтобы заполнить весь родительский элемент div с помощью png, а затем получить дочерний элемент div, содержащий якорь и имеющий более высокий порядок наложения.

...