bonjour,
mpop a écrit :
Mais cette histoire de de conteneur en position: relative, c'est dans les spécifications ?
a quoi sert donc le position relative ?
a repositionner , repreciser a partir du flux et de sa position "visuelle" son eventuelle nouvelle position , sans precision il restera a top:0; et left:0; , a priori declarer un element en position:relatif; sans lui donné de nouvelles coordonnées d'affichage ne sert a rien
.
Et pourtant ...
Cela a pour effet de "forcer" le navigateur a determiner ,recalculer precisement sa position par rapport aux autre element de la page et ainsi d'avoir une valeur de reference .(faut-il l'indiqué dans les specifications ? )
Donc , mis en position relative un element va voir ces coordonnées chargées en memoire , ces coordonnées deviennent donc accessibles , pour repositionné le dit element mais aussi pour determiné ou se trouve le premier pixel qu'il va utiliser pour se placer, donc des coordonnées exploitables pour positionné les enfants ! .
Le css a cette particularité d'heritage , qui font que tout les elements contenu, seront reconnu comme etant dans cette zone ...
Cela sert aussi par exemple a rendre "visible" un element dans IE qui ne veut pas s'afficher si on ne lui donne pas de taille, cela a donc un effet sur le "haslayout" ou une sorte de "refresh d'affichage" sur le dit element (utile lorsque l'on veut placer et dimensionner un element de type block et dans une page fluide en usant des marge externes laterales sans donner de largeur precise )
Le defaut de IE c'est qu'il peut se contenter que de la position du premier , pixel .
Pour le dernier il ne vas le prendre en compte que si il y a apres cette element en position relative un autre element ....
Ce qui a pour effet de ne pas afficher de barre de scroll ou cela serait necessaire quand l'element en "position relative" se trouve etre le dernier dans son conteneur et si il est plus long que ce que la page peut afficher , ..... blablabla .... désolé pour les termes techniques ou lien, je ne repete personne ... pas de references a donnée .
Les specifications ne sont pas une "obligation" et une fois de plus , aucun navigateurs ne les reconnait a 100% ,chacun d'eux en interprete une partie a leur sauces, voir en ajoute .
Chacun voit le web differement, coté professionnel, coté utilisateurs et selon l'usage ou les "modes" du moment.
Je ne traine quasiment jamais sur le W3C, c'est imbuvable pour un neophite ! et de plus ce n'est pas la qu'il est indiqué si les dites "normes" sont appliquées et par quel navigateur, une reference certe .... mais pas une des regles a suivre avec des oeilleres .
On trouve bien les histoires d'ombrages ou d'arrondis en css dans leurs specifications, mais elles ne servent a rien et pour un bon moment encore, ceci est un exemple parmis d'autre !
On peut passer en MP , ou ouvrir un autre sujet ? car la c'est du hors sujet apres tout .
pour revenir surl e sujet et sans reference techniques ..
Face au besoin de combiné les pseudo format sur la balise <a> dans IE, je fais usage d'un span supplementaire, et je donne l'info en 2 temps:
un premier temps ou j'indique a "a:hover" une nouvelle couleur, puis a "a:hover span:first-letter" la même couleur, ... bizarre n'est ce pas , pas plus que la "palanqué" de hack deja bien connu ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Faux :hover:first-letter</title>
<style type='text/css'>
div#conteneur a, div#conteneur a span{
color:#000;
display:block;
text-decoration:none;
}
div#conteneur a:hover{
color:green;
/* active la prochaine regle dans IE ,
pour qui pour quoi , j'en sais rien,
mais toujours est-il que ça marche comme
ça avec mon IE 6 xp home sp2 */
}
div#conteneur a:hover span:first-letter {
color:green;
/* cette regle css ne fonctionne pas seule dans mon IE [langue] */
}
div#conteneur a span:first-letter {
color:red;
font-size:2em;
}
</style>
</head>
<body>
<div id="conteneur" class="first">
<a href="#" ><span id="cc"> un lien</span></a>
Il y a surement plus elegant pour activer hover + premier caracteres du lien dans IE .....
</div>
</body>
</html>
++
<edit> , mpop, au fait ton pied de page j'y pensais justement, qui t'avais fait remarquer dans un precedent post que ton pied de page risquer de s'afficher sur les derniers contenus, et que j'utiliser a cette occasion d'un div vide comme d'une marge, toi , tu as opter pour un padding bottom
, je prefere le div en plus pour afficher mon pied de page en bas dans une page vide, chacun ses preferences.
Modifié par gcyrillus (27 Apr 2006 - 00:21)