J’ai le code suivant:
Partie CSS:
.menu { width:200px; } .menu ul { list-style-image:none; list-style-type:none; } .menu li { margin:2px; } .menu A { height:25px; width:170px; background:url(./images/button-51.png); padding:2px 5px ; } .menu A:link { height:25px; width:170px; background:url(./images/button-51.png); padding:2px 5px ; }
Partie HTML:
Tout fonctionne bien, mais lorsque j’ajoute l’élément ‘DOCTYPE’ au début du document HTML:
la largeur de l’élément ‘a’ n’est pas prise en compte.
Question 1: Pourquoi?
Question 2: Comment résoudre ce problème?
Merci beaucoup!
Question 1: Pourquoi?
Parce que ce n’est pas par défaut un élément de bloc .
Question 2: Comment résoudre ce problème?
Faites-en un élément bloc en utilisant display: block;
, ou un bloc en ligne par display: inline-block;
.
Créer un bloc pour l’ajout de la balise d’ancrage display:block
dans le style
.menu a { display:block; height:25px; width:170px; background:url(./images/button-51.png); padding:2px 5px ; }
REMARQUE: ne répétez pas tous les éléments dans .menu a:link
class .. ajoutez simplement des changements ou de nouveaux styles. NOTE: utilisez toujours les minuscules dans le code HTML et CSS
append un bloc d’affichage dans un:
.menu A { display: block; height:25px; width:170px; background:url(./images/button-51.png); padding:2px 5px ; }
Un lien est un élément en ligne par défaut; add display: block;
et il utilisera la largeur de l’ensemble.
CSS est tout au sujet du point. L’atsortingbut prend sa place en fonction de cela. Jetez un coup d’œil à la démarche de l’Université Google . Cela aidera beaucoup à comprendre les bases et un peu plus loin.
Cela a fonctionné pour moi, mais comme je voulais que tous mes liens soient sur la même ligne, j’ai utilisé display: inline-block;
.menu A { float: left; height:25px; width:170px; background:url(./images/button-51.png); padding:2px 5px ; }