Problème de frame

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
fmillox

Problème de frame

Message par fmillox »

Bonjour,

J'ai un petit problème que j'ai posté sur plusieurs forums spécialisés dans le code html et la mise en forme css mais dont aucune réponse m'a été fournie. Donc je me permets de poster sur ce forum en espérant qu'un développeur web utilisant comme navigateur web Mozilla Firefox puisse résoudre mon problème.

Ma page Index contient :

Code : Tout sélectionner

<HTML> 
<HEAD> 
<TITLE>Site</TITLE> 
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> 
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE"> 
<meta content="JavaScript" name="vs_defaultClientScript"> 
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> 
</HEAD> 
<frameset border="0" frameSpacing="0" rows="110,20,*" frameBorder="no"> 
<frame name="Top" src="Entete.htm" noResize scrolling="no"> 
<frameset border="0" frameSpacing="0" frameBorder="no" cols="280,*"> 
<frame name="TabPages" src="TabPage.htm" noResize scrolling="no"> 
<frame name="Nav" src="Nav.aspx?Affich=True" noResize scrolling="no"> 
</frameset> 
<frameset border="0" frameSpacing="0" frameBorder="no" cols="280,*"> 
<frame name="Menu" src="MenuRevue.aspx" scrolling="no" noResize> 
<frameset border="0" frameSpacing="0" rows="*" frameBorder="no" cols="11,*,11"> 
<frame name="leftBlank" src="Blank.htm" noResize scrolling="no"> 
<frameset border="0" frameSpacing="0" rows="12,*,11" frameBorder="no"> 
<frame name="topBlank" src="Blank.htm" noResize scrolling="no"> 
<frame name="Main" src="Sommaire.aspx">
<frame name="bottomBlank" src="Blank.htm" noResize scrolling="no"> 
</frameset> 
<frame name="rightBlank" src="Blank.htm" noResize scrolling="no"> 
</frameset> 
</frameset> 
</frameset> 
</HTML>
Il faut que le cadre de mon frame Main est les attributs suivants :

Code : Tout sélectionner

.Pagecadre { 
border-top: 1px solid #0255A6; 
border-left: 1px solid #0255A6; 
border-right: 1px solid #0255A6; 
border-bottom: 1px solid #0255A6; 
background-attachment: fixed; 
background-repeat: no-repeat; 
background-position: center center; 
} 
Au début, j'avais mis :

Code : Tout sélectionner

<frame name="Main" src="Sommaire.aspx" class="Pagecadre">
ça ne marchait pas

puis en fait, j'ai rajouté dans la balise <body> de chaque page que j'affiche dans le frame Main, class="Pagecadre"=> là, ça marchait.

sous I.E. aucun problème, les contours du frame sont, dans mon cas, bleu même si la page affichée à une hauteur inférieure ou supérieure à la hauteur du frame.

par contre sous Mozilla Firefox, ça coince...
si la page affichée à une hauteur inférieure à la hauteur du frame, le cadre bleu qui apparaît fait la taille de la page affichée.
si la page affichée à une hauteur supérieure à la hauteur du frame, le cadre bleu qui apparaît n'est pas fermée en bas du frame ( le border-bottom: 1px solid #0255A6; est appliquée je pense mais visuellement pas au frame ).

En gros, la bidouille " j'ai rajouté class="Pagecadre" "dans la balise <body> de chaque page que j'affiche dans le frame Main " me paraissait erronée mais marchait sous I.E.
Par contre, maintenant il faut que ça marche sous mozilla Firefox.....
Je ne comprends pas pourquoi " <frame name="Main" src="Sommaire.aspx" class="Pagecadre"> " ne marche pas ( pas même sous I.E ).

Si quelqu'un a une idée.

Merci d'avance.

Fred.


Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Salut

Premièrement :

Code : Tout sélectionner

<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
Il faut bien que tu te dises que µsoft veut t'obliger à utiliser ses produits et que le code fournit par ses logiciels ne fonctionnent correctement que dans IE. Je t'incite à trouver un meilleur éditeur de sites.

Deuxièmement, il n'y a pas de doctype à ta page. Conclusion : chaque navigateur va faire comme bon lui semble sans se référer au comportement standard.

Troisièmement il me semble que Firefox a raison (mais bon pour moi c'est toujours le cas :) ) car à partir du moment où tu attribues ta classe "Pagecadre" au <body> et plus à la frame il est normal que le cadre bleu ne fasse que le tour du <body> donc plus court s'il est plus court que la frame et plus long s'il est plus long (et c'est pourquoi le bas n'apparait pas).

Quatrièmement, une fois que tu auras placé un doctype n'oublie pas de faire valider ta page ( http://validator.w3.org/ ) pour éliminer les erreurs. Si ta classe ne s'applique pas à la frame, c'est peut être parce que tu as attribué la valeur frameborder="no" à tes <frameset>. Je ne suis pas sur que frameborder s'applique à cette balise. Il me semble qu'il faut les mettre aux balises <frame> et de préférence à "1" si tu veux voir des bords.

Cinquièmement, une fois tout ça fait, n'oublie pas de lire cette page. :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
FF_Olivier
Iguane
Messages : 979
Inscription : 09 juil. 2004, 15:41

Message par FF_Olivier »

Et puis, sur cette ligne :

Code : Tout sélectionner

<frameset border="0" frameSpacing="0" rows="*" frameBorder="no" cols="11,*,11">
...tu définis à la fois des rows et des cols, je ne suis pas sûr que ce soit correct.
openSUSE 12.2 - FF v24.0 FR - TB v24.0 FR ma config en détails - Décrivez la vôtre ici ;)
userContent.css : modifiez l'apparence et le contenu des sites visités !
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités