Il semble qu'il existe plusieurs techniques différentes, alors j'espérais obtenir une réponse "définitive" à ce sujet...
Sur un site web, il est courant de créer un logo qui renvoie à la page d'accueil. Je veux faire la même chose, tout en optimisant au mieux les moteurs de recherche, les lecteurs d'écran, IE 6+ et les navigateurs qui ont désactivé les CSS et/ou les images.
Premier exemple : N'utilise pas de balise h1. C'est moins bon pour le référencement, non ?
<div id="logo">
<a href="">
<img src="logo.png" alt="Stack Overflow" />
</a>
</div>
Deuxième exemple : J'ai trouvé ça quelque part. La CSS semble un peu bancale.
<h1 id="logo">
<a href="">Stack Overflow</a>
</h1>
/* css */
#logo {
padding: 70px 0 0 0;
overflow: hidden;
background-image: url("logo.png");
background-repeat: no-repeat;
height: 0px !important;
height /**/:70px;
}
Troisième exemple : Même HTML, approche différente en utilisant l'indentation du texte. C'est l'approche "Phark" du remplacement des images.
<h1 id="logo">
<a href="">Stack Overflow</a>
</h1>
/* css */
#logo {
background: transparent url("logo.png") no-repeat scroll 0% 0%;
width: 250px;
height: 70px;
text-indent: -3333px;
border: 0;
margin: 0;
}
#logo a {
display: block;
width: 280px; /* larger than actual image? */
height: 120px;
text-decoration: none;
border: 0;
}
Exemple quatre : La méthode Leahy-Langridge-Jefferies . S'affiche lorsque les images et/ou les css sont désactivées.
<h1 id="logo" class="logo">
<a href="">Stack Overflow</a>
</h1>
/* css */
h1.logo {
margin-top: 15px; /* for this particular site, set this as you like */
position: relative; /* allows child element to be placed positioned wrt this one */
overflow:hidden; /* don’t let content leak beyond the header - not needed as height of anchor will cover whole header */
padding: 0; /* needed to counter the reset/default styles */
}
h1.logo a {
position: absolute; /* defaults to top:0, left:0 and so these can be left out */
height: 0; /* hiding text, prevent it peaking out */
width: 100%; /* 686px; fill the parent element */
background-position: left top;
background-repeat: no-repeat;
}
h1#logo {
height: 60px; /* height of replacement image */
}
h1#logo a {
padding-top: 60px; /* height of the replacement image */
background-image: url("logo.png"); /* the replacement image */
}
Quelle est la meilleure méthode pour ce genre de choses ? Veuillez fournir html et css dans votre réponse.
0 votes
Vous devriez vérifier ce sujet pour : stackoverflow.com/questions/1874895/
15 votes
Matt Cutts répondant à cette question. youtu.be/fBLvn_WkDJ4
2 votes
N'est-ce pas le
title
doit se trouver dans l'attribut<a>
?30 votes
Cette question ne doit pas être marquée comme hors-sujet. Il s'agit d'une question assez clairement définie sur les CSS et l'optimisation des moteurs de recherche. Ce n'est pas parce que ce n'est pas du C# que ce n'est pas du code.
3 votes
@troynt Je trouve que Matt Cutts donne parfois des conseils trompeurs. C'est pourquoi j'ai tendance à ne pas le regarder.