Normalement, c'est un problème tout simple, les div se positionnent mal entre elles.
J'ai essayé de faire mon site avec des <div> plutôt qu'un tableau.
Je l'ai testé sous Opéra (ca fonctionne bien) et à la fin sous IE pour verifier (cela fonctionne encore mieux, bonne surprise )
Puis, tout à la fin, je regarde sous FireFox, et la, catastrophe ...
Notez que je c'est pour ainsi dire ma premiere tentative de site web, donc ce n'est pas très bien écrit.
(je ne respecte pas vraiment les standards, mais j'ai fait gros gros efforts)
Bon, je vous laisse constater par vous meme :
Maquette du site en question
Pour avoir les 2 versions, je ne peux que vous demander de regarder avec 2 navigateurs
La difficultée est de faire un site 100% proportionnel à la resolution. (notez que cela fonctionne aussi bien en 100x100 que 1000x1000 sous ie ou Opera)
De plus, un certain nombre de positions sont relatives, comme le menu avec 4 boutons placés dans 4 div de 25%.
Le probleme, sous Firefox, c'est que 25+25+25+25 = 150%, enfin, cela change selon la taille de la fenetre.
(Il y a aussi 2 fausses frames au milieu, et notez que le vrai site est en php, mais la je ne mets que le code html : les liens ne fonctionnent pas)
Les div sont de toutes les couleurs pour vous pour pouvoir les différentier.
Le css :
Et le source je vous laisse aller à la page
Une premiere solution serait de remarquer que sous Opera et IE, il affiche les div de gauche à droite, de bas en haut, dans l'ordre de leurs declaration.
Sous Firefox, la ligne noire devrait separer le haut et le bas se retrouve déportée sur la droite, comment forcer de la mettre en dessous ?
Sinon, le vrai bug, c'est que 4 div de 25% mises cote à cote ne font pas 100% de la page, et c'est ca le probleme à resoudre
Encapsuler dans une autre div ?
Sinon, j'en profite, j'aurais 2 autres petites questions ...
- Le titre est dans un tableau pour etre centré en vertical, comment faire ca dans une div ?
- derniere ligne du css : j'ai essayé de modifier le a:hover pour quelque liens en particuliers, quelle est la façon la plus simple ? Comment le modifier pour une classe div particuliere ?
Modifié par Wiiip (18 Aug 2006 - 15:14)
J'ai essayé de faire mon site avec des <div> plutôt qu'un tableau.
Je l'ai testé sous Opéra (ca fonctionne bien) et à la fin sous IE pour verifier (cela fonctionne encore mieux, bonne surprise )
Puis, tout à la fin, je regarde sous FireFox, et la, catastrophe ...
Notez que je c'est pour ainsi dire ma premiere tentative de site web, donc ce n'est pas très bien écrit.
(je ne respecte pas vraiment les standards, mais j'ai fait gros gros efforts)
Bon, je vous laisse constater par vous meme :
Maquette du site en question
Pour avoir les 2 versions, je ne peux que vous demander de regarder avec 2 navigateurs
La difficultée est de faire un site 100% proportionnel à la resolution. (notez que cela fonctionne aussi bien en 100x100 que 1000x1000 sous ie ou Opera)
De plus, un certain nombre de positions sont relatives, comme le menu avec 4 boutons placés dans 4 div de 25%.
Le probleme, sous Firefox, c'est que 25+25+25+25 = 150%, enfin, cela change selon la taille de la fenetre.
(Il y a aussi 2 fausses frames au milieu, et notez que le vrai site est en php, mais la je ne mets que le code html : les liens ne fonctionnent pas)
Les div sont de toutes les couleurs pour vous pour pouvoir les différentier.
Le css :
BODY {
margin-top: 3;
margin-left: 3;
margin-right: 3;
margin-bottom: 3;
background: #6699CC;
}
.frame_titre { /* le titre en haut de page */
height: 9%;
background-color: #669900;
}
.menuH_cell_sel { /* case du menu haut (selectionnée) */
background-color: #CCFFCC;
height:5%;
width:25%; /* 4 cases sur 100% : 25% */
text-align:center;
float:left;
position:relative;
}
.menuH_cell_norm{ /* case du menu haut (non-selectionnée) */
border-left: 10px solid #BB99CC;
border-right: 10px solid #0099FF;
background-color: #66CCCC;
height:5%;
width:25%;
float:left;
position:relative;
}
.menuH_text{ /* texte dans les cases, pour essayer de le positionner, peut-on faire mieux ?*/
margin-top:10px;
text-align:center;
}
.ligne_v_h{ /* ligne noire separatrice menuH - bas de page */
background-color: #000000;
height: 1%;
width: 100%;
/* comment forcer le "float : passe a la ligne !" ? */
}
.bloc_v{ /* bloc vert d'encapsulation du reste de la page */
background-color: #CCFFCC;
height: 85%;
width: 100%;
}
.frame_menu { /* fausse frame gauche : menu gauche */
line-height: 50px; /* interligne */
width: 15%;
height: 94%; /* pourquoi 94 ? j'en sais rien... */
overflow: auto;
float:left;
position:relative;
background-color: #CC00CC;
}
.frame_principale { /* fausse frame droite : main */
padding: 50px;
width: 84%;
height: 94%;
overflow: auto;
float:left;
position:relative;
background-color: #CCCCFF;
}
ol,ul,p,body,td,tr,th,form { font-family: verdana,arial,helvetica,sans-serif; font-size:x-small;color: #000; }
h1 { font-size: x-large; font-family: verdana,arial,helvetica,sans-serif; }
h2 { font-size: large; font-family: verdana,arial,helvetica,sans-serif; }
h3 { font-size: medium; font-family: verdana,arial,helvetica,sans-serif; }
h4 { font-size: small; font-family: verdana,arial,helvetica,sans-serif;background-color: #CCCCFF;margin-left:15px;}
h5 { font-size: small; font-family: verdana,arial,helvetica,sans-serif;background-color:}
h6 { font-size: x-small; font-family: verdana,arial,helvetica,sans-serif; }
pre,tt { font-family: courier,sans-serif }
a:link { text-decoration:none; color:black }
a:visited { text-decoration:none; color:black }
a:active { text-decoration:none: color:gray }
a:hover { text-decoration:underline; color:red }
#menuH_text a:hover{ text-decoration:underline; color:#FFBFFF }
/* alors ca, ca marche pas */
Et le source je vous laisse aller à la page
Une premiere solution serait de remarquer que sous Opera et IE, il affiche les div de gauche à droite, de bas en haut, dans l'ordre de leurs declaration.
Sous Firefox, la ligne noire devrait separer le haut et le bas se retrouve déportée sur la droite, comment forcer de la mettre en dessous ?
Sinon, le vrai bug, c'est que 4 div de 25% mises cote à cote ne font pas 100% de la page, et c'est ca le probleme à resoudre
Encapsuler dans une autre div ?
Sinon, j'en profite, j'aurais 2 autres petites questions ...
- Le titre est dans un tableau pour etre centré en vertical, comment faire ca dans une div ?
- derniere ligne du css : j'ai essayé de modifier le a:hover pour quelque liens en particuliers, quelle est la façon la plus simple ? Comment le modifier pour une classe div particuliere ?
Modifié par Wiiip (18 Aug 2006 - 15:14)