#css #internet-explorer
#css #internet-explorer
Вопрос:
У меня есть IE 8 и IE 7 z-index
, position
и другие проблемы. Я привел пример этих проблем в http://jsfiddle.net/KeEPF /. Если вы посмотрите на это через Chrome, Mozilla или другой браузер, вы заметите, что поверх большого изображения есть ссылки (с помощью link #imagemap2
). В IE8 и IE7 это изображение всегда находится сверху, и вы не можете щелкнуть по ссылкам.
Как я могу решить эту проблему?
Вот код:
<div id="splashbar">
<div id="left_content_text">
<img src="#" alt="facebook" />
<h2> <a href="" style="color:#fff; text-decoration:none;">test</a></h2>
Lorem ipsum dolor sit amet, con tetur adipiscing elit. Etiam tincidu molestie justo, vitae dignissim me scelerisque vel. Proin vitae nibh arcu vulpu tate vehicula.<br/>
</div>
<div id="splashimages">
<a href="#full_header_link" class="full_header_link">
<img width="738" height="191" src="tet" class="attachment-post-thumbnail wp-post-image" alt="header_forside" title="header_forside" /> </a>
<a href="#imagemap1" style="width:100px;height:100px;left:0px; top:10px" class="imagemap_header_link"> </a>
<a href="#imagemap2" style="width:100px;height:100px;right:0px; top:10px" class="imagemap_header_link"></a>
</div>
<div class="clear">
</div>
</div>
#splashbar {
position: relative;
zoom: 1;
z-index: 2;
}
#splashimages {
position: relative;
top: 0;
right: 0;
z-index: 2;
zoom: 1;
}
#splashimages img {
z-index: -5;
position: absolute;
right: 0;
top: 0;
visibility: visible;
display: block;
height: 173px;
zoom: 1;
}
#splashimages .imagemap_header_link {
position: absolute;
display: block;
z-index: 990;
visibility: visible;
zoom: 1;
}
Комментарии:
1. Вы перепутали встроенные стили с внешними стилями, сначала исправьте это. Некоторые свойства дублируются, а другие селекторы даже не включены в ваш пример. Точные примеры — это первый шаг к решению.
2. На самом деле включены все селекторы. Это работает в скрипте в Chrome, mozzila или других. Но не ie… Также я использую его с некоторыми пользовательскими полями и т.д. В CMS, Поэтому мне приходится смешивать встроенный css с внешним, это единственный способ сделать это.. Может быть, кто-нибудь видит, как это можно исправить?
Ответ №1:
это можно исправить с помощью небольшого обмана..
IE не нравится тот факт, что на ваших 2 ссылках «imagemap» нет фона, хотя я предполагаю, что вы хотите, чтобы они были прозрачными, поскольку такова идея карты
это работает для меня:
#splashimages .imagemap_header_link {
position: absolute;
width: 100px;
height: 100px;
top: 10px;
background: #dad; /* any color */
filter:alpha(opacity=0); /* make it transparent in IE again */
opacity: 0; /* make it transparent for good browsers */
}
Рабочий пример
добавлено: для справки, в рабочем примере удалены все ненужные дополнительные свойства, нет необходимости устанавливать zoom: 1;
ни в одном из divs, абсолютно позиционированные из них уже имеют «hasLayout»
Комментарии:
1. Спасибо!!! не думал о таком решении! спасибо: D действительно сработало отлично и так, как я хотел! Спасибо
2. Настройка фильтра: альфа (непрозрачность = 0) работает в большинстве ситуаций, но не в том случае, если у вас есть другие элементы внутри ссылки. В этом случае единственным решением является установка фона: url (#) или использование прозрачного gif / png.
3. Также 1 за комментарий
/* make it transparent for good browsers */