28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je suis en train de bosser actuellement sur ce site : http://asterux.ath.cx/AFR

Sous firefox et IE7, le site s'affiche correctement. Seulement sous ie6, j'ai une bande blanche qui s'intègre a droite de mon header qui est senser se répéter sur 100% de la largeur.


Le code css de mon header (une <img>):

#header{
  position:absolute;
  height:220px;
  background: url("./img/header.png") repeat-x;
  top:0px;
  left:0px;  
  right:0px; 
  z-index:0;
  width:100%;
}


De plus sous firefox et ie7, le header se répete sur toute la longueur sans avoir besoin de width:100%, mais sous ie6, je suis obliger de rajouter cette ligne sinon le header ne s'affiche pas.

Pouvez vous m'aider à suppprimer cette bande blanche ! Merci.
Modérateur
.Ga a écrit :

le site s'affiche correctement.


Salut,

nono le site ne s'affiche pas. URL false

++
Salut,
un fond de page de la hauteur de ton header en top repeat-x résoudrait ça en deux coups de cuillères à pot Smiley smile

sinon, tu pourrais mettre ton commentaire conditionnel special png pour ie tout court, ie6 étant à la limite plus concerné que le 7 par le problème.

enfin, perso, je pense qu'il y a beaucoup de positions absolute là où des éléments dans le sens du flux dans le source et positionnés avec des float, des tailles, marges et padding feraient le même boulot en plus solide et plus commode pour les faire "s'appuyer" les uns sur les autres. le syndrôme zen garden ? Smiley smile

have swing
Nolem a écrit :
J'ai fait des tests sur divers nav (opéra, ff, IE7) rien de particulier. Malheureusement, je n'ai plus IE6.

Par contre, j'ai vu deux petites coquilles :

* http://asterux.ath.cx/AFR/Danse/?plz=cours : professeur diplômé d'Etat (manque accent)
* http://asterux.ath.cx/AFR/Danse/?plz=inscriptions : 15 Euros (manque espace inseccable entre 15 et euros)



Pour les fautes, le contenu n'est pas encore déterminé, c'est actuellement du texte pour combler, enfin je corrigerai déja ca , merci !

Nolem a écrit :

Sinon, j'aime assez ton site.


Merci Smiley smile

virtualgadjo a écrit :

Salut,
un fond de page de la hauteur de ton header en top repeat-x résoudrait ça en deux coups de cuillères à pot

sinon, tu pourrais mettre ton commentaire conditionnel special png pour ie tout court, ie6 étant à la limite plus concerné que le 7 par le problème.

enfin, perso, je pense qu'il y a beaucoup de positions absolute là où des éléments dans le sens du flux dans le source et positionnés avec des float, des tailles, marges et padding feraient le même boulot en plus solide et plus commode pour les faire "s'appuyer" les uns sur les autres. le syndrôme zen garden ?

have swing



Je ne me suis jamais penché sur les position "relative", qu'est ce que ca apporte en plus ?
Dans quel cas mettre en "absolute" et en "relative" ?

Je test tout de suite le fond de page.

EDIT: Ca marche nickel, merci beaucoup.

Mais c'est dommage j'aurais bien aimer savoir pourquoi ie6 ne comprend pas le
right:0; left:0;top:0; 

Modifié par .Ga (19 May 2007 - 14:51)
Salut,

en fait personne ne comprend
right: 0; left: 0; top: 0;

:) ce sont les deux dernières arrivées qui sont interprêtés et dans donc left et top sinon ce serait trop facile, tu étirerais ton contenu sans bosser Smiley smile en fait ce que gère mal ie6 c'est plutôt ta largeur en %

Maintenant ces histoires de positions relative absolute et de float. Je ne vais pas te refaire les innombrables tutos sans doute très bien faits que tu trouveras sur ce même site mais, juste une piste pour que tu saisisses la grosse nuance.

Quand tu mets des éléments dans ton source sans aucun style ils s'affichent les uns derrière les autres avec les marges par défaut que leur attribuent chaque navigateur. Fais l'essai pour voir, regarde ton site en désactivant les styles. d'ac ? tu vois ce que je veux dire ?

alors quand tu as des éléments bien ordonnées dans ton source, en les gérant à coup de float, align etc tu continues de les faire s'arranger les uns par rapport au autres, en "s'appuyant" les uns sur les autres simplement, tu mets un peu d'ordre dans tout ça.

Bien sûr parfois, il arrive que l'on veuille placer un élément de façon indépendante du flux, voire par-dessus d'autre, dans ce cas-là, on le sort du flux et c'est là qu'intervient position:absolute (voire fixed mais ça ie6 ne comprend pas et demande un hack pour le simuler et, perso, j'ai horreur des hacks Smiley smile ), cet élément là ne sera pas sensible à ce qui se passe dans le flux et restera toujours à sa place. Position relative lui ne sert qu'à dire par rapport à quoi l'élément en absolute se positionnera.

C'est très commode comme truc mais il ne faut pas en abusser. un exemple simple, ton header positionné en absolute, bon soit, mais du coup tu es obligé de positionner le conteneur qui suit itou because sinon il ne se mettra pas après le header mais passera dessous. Ajoute à ça un footer que tu positionnes à son tour en absolute because les mêmes raisons, si ton contenu croît, tu n'as plus comme solution que de mettre un overflow pour faire scroller le contenu parce que celui-ci ne repoussera pas le footer en s'allongeant.

Et ce n'est qu'un des exemples les plus simples des problèmes engendrés par les positions absolute dans tous les sens.

Si tu veux mon avis, que je partage oeuf corse Smiley smile , à moins de faire une mise en page rigide dans un cadre fixe avec un contenu dont tu peux savoir à l'avance quil sera toujours fait en fonction du design (ce qui est un peu le monde à l'envers) la bonne démarche consiste à mettre tes éléments sans styles dans l'ordre logique du flux, un peu comme si tu lisais une page de texte, de baliser tout ça en tenant compte du sens des balises en fonction du contenu, ensuite de positionner tout ça et d'en faire quelque chose de joli si possible à coup de css et, enfin, quand tout ça baigne, mais là je sors du sujet Smiley smile , sans y rajouter un ligne de code entre les balises body, d'y coller les beaux effets qui vont bien avec un poil plus de css et de manip du dom à coup de javascript Smiley smile

voilou, il ne te reste plus qu'à te pencher sur les sites dont les liens sont en bas du forum pour approfondir tout ça...

Have swing
virtualgadjo a écrit :

Bien sûr parfois, il arrive que l'on veuille placer un élément de façon indépendante du flux, voire par-dessus d'autre, dans ce cas-là, on le sort du flux et c'est là qu'intervient position:absolute (voire fixed mais ça ie6 ne comprend pas et demande un hack pour le simuler et, perso, j'ai horreur des hacks Smiley smile ), cet élément là ne sera pas sensible à ce qui se passe dans le flux et restera toujours à sa place. Position relative lui ne sert qu'à dire par rapport à quoi l'élément en absolute se positionnera.


Ah... On y était presque, et c'était remarquablement bien dit. Alors, juste pour affiner (et encourager, parce que c'était vraiment bien dit):
- la position absolue ne sort pas nécessairement un élément du flux en totalité; Tout dépend du contexte et des valeurs de positionnement.
- la position relative, ah... la position relative. Elle sert à toutes sortes de choses ! Comme de déterminer comment vont s'empiler des blocs pas forcément positionnés en absolus (avec des marges négatives par exemple). C'est un peu comme une praline, la position relative: c'est délicieux, mais il faut savoir être sage pour ne pas s'écoeurer Smiley ravi
Modifié par Laurent Denis (19 May 2007 - 16:19)
:) tu as raison d'affiner, j'ai essayé de ne pas me laisser aller, je suis intarrissable sur le sujet... Smiley smile mais à force de schématiser on passe sur ce qui ne paraît pas essentiel sur le coup mais peut faire cruellement défaut après coup.

Gros mangeur de pralines, si, si Smiley smile je n'en reste pas moins d'accord avec toi sur le sujet, de tout ça, il faut user avec parcimonie sous peine d'indigestion Smiley smile Bon, allez, j'arrête là sinon, je sens qu'on va se refaire la théorie alors qu'elle déjà bien dite sur le site...

Have swing
Modifié par virtualgadjo (22 May 2007 - 09:43)