Iframe, в теге привязки. Да, знаю. Проблема с рендерингом IE - PullRequest
0 голосов
/ 03 июня 2009

Все началось, когда я хотел скрыть какой-либо контент, если не было запрошено Я уже использовал метод link: hover для некоторых всплывающих подсказок и хотел попробовать его для этой цели.

Я избегаю использования JS, потому что характер моего сайта пригоден для использования на мобильных телефонах - и даже там, где поддерживается JS, его загрузка заметна и, в случае сбоя, может расстроить использование сайта .

Итак, у меня есть iframe в теге div в теге привязки с URL-адресом, созданным временной меткой. На самом деле скрытие iframe приводило к тому, что он не загружался в IE, поэтому вместо этого я установил его высоту на 0, пока он не перейдет в состояние «посещения». Первоначально я просто использовал div, но атрибуты ссылки были перенесены, поэтому я представил фрейм. В FF это сработало, как и ожидалось (почему вы применяете статус ссылки к элементам фрейма, в котором ссылка не находится? (Предоставлено, дальнейший вопрос: «Почему вы вообще обернули бы кадр в тег привязки ? »достаточно допустимо)) но в IE« связанное »состояние частично мешает функционированию фрейма.

Курсор нормальный, но когда вы пытаетесь щелкнуть по чему-либо в кадре, на короткое время появляется обычный указатель URL-адреса. Ссылки внутри фрейма работают нормально - но формы хитрые. Вы можете установить свою карету только в поле формы при втором щелчке внутри фрейма. Первый щелчок, кажется, помещает фокус в рамку; после этого клики в полях формы работают достаточно хорошо. Последнее предостережение заключается в том, что ничто не может быть выделено мышью в пределах iframe, включая любой текст, который пользователь поместил в поле формы.

Я безрезультатно поиграл с z-индексами, а также попытался установить видимость самой ссылки на скрытую при посещении (что сработало, но не убило «Я все еще иду к Поведение pretend-I'm-a-link в IE.

Мысли

Соответствующий код: HTML:

<a id="t-l" href="#<?php
echo time();
?>a" class=hidebox>save/share<div><iframe src="addtoany.php?pageID=1962460927" frameborder=0></iframe></div></a>

CSS:

.hidebox {}
.hidebox iframe {height: 0px; width: 300px; background-color:#393242;}
.hidebox:visited {}
.hidebox:visited div {width:300px; height:400px; padding: 10px 0px 0px 10px;}
.hidebox:visited iframe {height: 400px; width: 285px; border: 0px solid #393242; margin: 0px auto 0px auto;}

1 Ответ

1 голос
/ 13 июня 2009

Вы не должны вкладывать блочные элементы во встроенные элементы и использовать css для логики манипулирования dom. Почему бы не пойти с решением Javascript? Это позволит вам иметь правильно структурированный документ и желаемую функциональность, не полагаясь на причуды браузера.

...