2009-06-03 6 views
0

Tout a commencé quand je voulais un moyen de cacher du contenu, sauf si demandé. J'avais déjà utilisé le lien: méthode hover pour certaines infobulles, et je voulais essayer de l'adapter à cet effet. J'évite l'utilisation de JS, parce que la nature de mon site se prête à l'utilisation sur les téléphones portables - et même là où JS est supporté, son chargement est perceptible et, quand il échoue, peut rendre un site frustrant utilisation. Donc, j'ai un iframe dans une balise div dans une balise d'ancrage avec une URL générée par l'horodatage. En réalité, le fait de cacher l'iframe le faisait ne pas charger dans IE, donc j'ai plutôt mis sa hauteur à 0 jusqu'à ce qu'il soit dans l'état "visité". A l'origine, je ne faisais qu'utiliser le div, mais les attributs du lien étaient en train de se prolonger, donc j'ai introduit le cadre. Dans FF cela a fonctionné comme prévu (pourquoi appliqueriez-vous le statut de lien aux éléments d'un cadre dans lequel le lien ne réside pas?) (Accordé, l'autre question, "pourquoi voudriez-vous emballer une image dans une étiquette d'ancre en premier lieu? ? "est assez valide)) mais dans IE, l'état" lié "interfère, partiellement, avec le fonctionnement de la trame.Un Iframe, dans une balise d'ancrage. Ouais je sais. Un problème avec le rendu IE

Le curseur est normal, mais lorsque vous essayez de cliquer sur n'importe quoi dans le cadre, le pointeur d'url normal apparaît brièvement. Les liens dans le cadre fonctionnent bien - mais les formes sont délicates. Vous ne pouvez définir votre curseur dans un champ de formulaire sur le deuxième clic dans le cadre. Le premier clic semble mettre l'accent dans le cadre; Ensuite, les clics dans les champs de formulaire fonctionnent assez bien. La dernière mise en garde est que rien ne peut être sélectionné avec la souris dans l'iframe, y compris tout texte que l'utilisateur a placé dans le champ de formulaire. J'ai joué avec des z-index en vain, et j'ai aussi essayé de rendre la visibilité du lien lui-même caché, lors de la visite (qui a fonctionné, mais n'a pas tué le je-toujours-aller-à comportement -pretend-je-un lien dans IE

pensées

Code pertinent:.? 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;} 
+0

Vous avez fourni beaucoup de description, mais pourriez-vous fournir un code réel pour que tout le monde sache exactement ce qui se passe? –

+0

J'ai ajouté le code HTML et CSS pertinent. –

Répondre

1

Vous ne devez pas imbriquer des éléments de bloc à l'intérieur d'éléments en ligne et utiliser css pour la logique de manipulation dom. Pourquoi ne pas utiliser une solution javascript? Cela vous permettra d'avoir un document correctement structuré et la fonctionnalité souhaitée sans compter sur les caprices du navigateur.

Questions connexes