Утечка ссылок через полупрозрачные наложения DIV в IE8

#css

#css

Вопрос:

Я только что заметил кое-что с IE8. У меня есть фотография, которая является ссылкой, и над изображением есть частично прозрачный div (только нижняя треть или около того), который использует этот CSS-код:

 background: rgba(0, 0, 0, 0.7); /* handles the proper browsers */
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#b2000000,endColorstr=#b2000000); /* for IE */
  

К сожалению, при наведении курсора мыши на div курсор является указателем, и щелчок приводит к ссылке img. Если я избавлюсь от этого фильтра и просто сделаю фон # 000, он будет работать нормально, и наложение предотвратит любой щелчок. Такого поведения не происходит в Firefox или Chrome.

Как я могу обойти эту ошибку?

РЕДАКТИРОВАТЬ: Пожалуйста, обратите внимание, это не то же самое, что весь div с его непрозрачностью, установленной на 0.7! Это привело бы к тому, что текст внутри него (который у меня есть) также исчез. Это строго альфа-цвет фона.

Подправьте здесь:http://jsfiddle.net/csaltyj/dxTdq /

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

1. Немного сложно понять, что происходит и что вы ищете. У вас есть ссылка, на которую мы можем посмотреть?

2. Конфиденциально. Давайте я соберу скрипку…

Ответ №1:

У меня была такая же проблема. Вы должны использовать непрозрачный цвет в стиле и применить прозрачность с помощью jquery

или

сделайте полупрозрачный файл .png в качестве фона для div

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

1. Как вы можете установить непрозрачность фона с помощью jQuery? Помните, что мы говорим о непрозрачности фона, а не просто о старой непрозрачности. $(‘#mydiv’).css(‘opacity’, 0.7) не достигнет желаемого эффекта.

2. Хорошо, я могу придумать еще один способ: создать div (#backdrop) внутри контейнера div и установить для #backdrop значение непрозрачности черного фона 70% с помощью jQuery и поместить другой полностью прозрачный div поверх того, который содержит текст. Таким образом, фон становится полупрозрачным, не влияя на непрозрачность текста.

3. Я выбрал PNG. 🙂 Не стоит тратить время на кодирование только для того, чтобы получить полупрозрачный фон!