|
|
|
|
[HTML/CSS] IE et Iframe
Dernière réponse le 19 fév 2008 à 09:33:37 GallyNet, le 12 sep 2005 à 12:38:06J'ai un énorme problème et j'arrive décidemment pas à trouver une solution :
j'ai créer une page avec un div qui contient une iframe. Je fait que la div soit à 20 pixel du bord et que sont contenu soit à 10px de la div. L'Iframe doit avoir une taille de 100%.
Aucun problème sous firefox, tout marche correctement (normal me dirai vous), mais quand je test sous IE j'ai mon ifrmae qui dépasse de ma div et même de ma page. Par contre, si je redimmensionne la fenètre de IE, l'iframe pred automatiquement la bonne taille (?) mais si je recharge la page, l'iframe sort à nouveau de la div (???).
Est-ce que quelqu'un à déjà eu se probléme et pour me dire coment il a réussi à corrigé celà ? Ou il y aurait-il quelqu'un qui aurait une idée pour que celà marche ?
Merci d'avance.
Voici mon code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> <div style="padding:10px;margin:20px;border:solid red 1px;"> <iframe style="width:100%;"> </iframe> </div> </body> </html>
Répondre à GallyNet
|
En fait, j'ai re-regardé tout ca est malheureusement, dans le vrai code que j'utilise (j'avais donné une version soft) j'ai un nouveau problème avec Firefox : le div principal prend une taille de 100% de la taille de la fenetre, alors avec une margin de 20 pixel et un padding de 10 pixel, elle dépasse donc de 30 pixel sur la droite.
<!--[if IE]> <link rel="stylesheet" href="style/ie.css" type="text/css" /> <![endif]--> Où le fichier ie.css contient le width:100% Comme IE l'exécute, il a donc la taille correcte, et comme firefox ne l'éxécute pas, il a également la taille correct. :-) |
Pas de probleme :
<!--[if gte IE 5.5000]> <script type="text/javascript" src="pngfix.js"></script> <![endif]--> Il exécutera le code que si le navigateur est IE 5.5 ou supérieur. Ensuite tu créer un fichier "pngfix.js" qui contient le code suivant : // Correctly handle PNG transparency in Win IE 5.5 or higher. // http://homepage.ntlworld.com/bobosola. Updated 02-March-2004 function correctPNG(){ for(var i=0; i<document.images.length; i++){ var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){ var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } window.attachEvent("onload", correctPNG); Et techniquement tout doit marcher. |

