La solution la plus simple serait d’ utiliser les propriétés suivantes sur le conteneur pour simuler le comportement d’un tableau:
display:table-cell;vertical-align:middle;
Seulement cette solution ne fonctionne pas sous Internet Explorer 6…
Voici donc une autre solution qui fonctionne sous IE6: CSS :
#conteneur{height:400px;position:relative;}#bloc{position:absolute;top:50%;height:200px;margin-top:-100px;/* margin-top négatif de la moitié de la propriété height */}
Dans la série IE6 voici 3 différentes manières de cibler IE6 dans votre code CSS:
Avec le !important :
La clause !important est comprise par tous les navigateurs sauf IE6 et elle permet de donner la priorité à une instruction même si elle est redéfinie par la suite. Dans l’exemple ci-dessous l’ objet d’identifiant « test » sera vert dans tous les navigateur et rouge sous IE6.
En semant IE6 avec des sélecteurs trop compliqués pour lui:
IE6 ne lira pas les sélecteurs trop compliqués comme « #test[id]« . Dans l’exemple ci-dessous l’ objet d’ identifiant « test » sera rouge dans tous les navigateur et vert sous IE6.
Avec les commentaires conditionnels :
Les commentaires conditionnels doivent être insérés dans votre code HTML et permettent ici de restreindre certaines instructions CSS à IE6.Dans l’exemple ci-dessous l’ objet d’ identifiant « test » sera rouge dans tous les navigateur et vert sous IE6.
Puisque nous allons nous « payer » IE6 jusqu’en 2014 (date de fin support de micro$oft..), j’ai décidé de faire une série de posts sur les bugs de IE6 en donnant la solution pour chacun d’eux. Celui-ci concerne z-index qui permet de gérer l’empilement (profondeur) des éléments HTML sur une page.
On rencontre ce bug la plupart du temps en créant un menu déroulant,quant le menu se déroule sous le contenu.
Pour le résoudre il suffit d’associer les styles CSS : position:relative; et : z-index:1; à la balise parente.
Les grilles CSS permettent de créer des structures de pages très rapidement, c’est ce système qui est employé dans les frameworks CSS comme blueprint ou encore 960gs.
Certaines personnes n’aiment pas ces frameworks à cause des » kilo octets » en trop qu’ ils sont susceptibles d’amener. Voici un petit système de grille CSS compatible tous navigateurs qui devrait leurs faire changer d’avis:
Bien sur ce CSS n’est pas à lui seul un framework entier puisqu’il n’y a pas de reset CSS ou encore de style typographique..etc, mais il permet de créer la structure d’une page très simplement en évitant d’ écrire une tartine de CSS pour arriver à une structure compatible tous navigateurs.
Pour en savoir plus je vous invite à lire cet article.
Si vous êtes convaincu par ce système, voici un outil qui va vous permettre de générer votre système de grille CSS à votre convenance et toujours en moins d’ 1 Ko.
Le site Cssglobe nous apprends comment créer de jolis graphiques en pur CSS ( et HTML bien sûr), ouioui c’est possible…et assez simple, en voici l’exemple ci-dessous : Lien vers l’article.