2. On passe à la navigation en ligne :Pour mettre ce menu en ligne à présent nous avons deux options:
A. Old school:On va utiliser la propriété
float.
Les éléments vont donc flotter les uns à côté des autres.
On peut dire que les éléments flottent sur la droite ou sur la gauche. Cela va juste jouer sur la manières dont ils positionnent les uns par rapport aux autres.
On doit donner cette propriété à tous les éléments qui doivent flotter.
On va également créer une division qui sera une sorte de barrière, afin que les éléments qui ne doivent pas flotter ne soient pas influencé par les autres. Pour cela on va utiliser la propriété
clearCe qui donne donc au niveau du code HTML :
(je ne reprends que la partie modifiée et le code à ajouter)
- Code:
-
<div id="cosmo">
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Les familles</a></li>
<li><a href="#">Les quartiers</a></li>
<li><a href="#">Les histoires</a></li>
<li><a href="#">Contact</a></li>
</ul>
<div class="clear"></div>
</div>
et pour ce qui est du CSS :
- Code:
-
#cosmo li
{
background-color: #E0ECEF;
width: 100px;
padding: 5px;
margin-right: 5px; /*Pour que vous visualisiez mieux lors de cette première phase; je met une marge extérieure en haut*/
float: left;
}
.clear
{
clear: both;
}
Je vous invite à tester
float: right; pour voir ce que ça donne.
B. Nouvelle pratiqueC'est la solution que j'utilise, pour certain avoir deux feuilles de style à utiliser semble plus compliqué de même le fait d'avoir à utiliser des "
hacks"
Pour ma part je trouve ça plus net, car je n'ai pas besoin de mettre une barrière pour éviter que les divisions ne soient influencer par la propriété "
float".
Ce sont donc trois lignes de codes à rajouter. Pour ma part comme ces lignes sont des éléments que j'utilise plusieurs fois dans ma feuille de style, je les met à part. Ainsi à chaque fois que je veux avoir des éléments qui s'appose, je n'ai qu'à rajouter le nom de la class ou de id séparé par une virgule.
Donc à vous de voir si vous voulez réecrire ces lignes à chaque fois ou tout regrouper, cela dépendra de ce qui vous semble le plus clair.
Donc pour le HTML, on ne va rien changer dans ce cas là.
Dans la feuille de style
principale on va avoir (style.css):
- Code:
-
#cosmo li
{
background-color: #E0ECEF;
width: 100px;
padding: 5px;
margin-right: 5px; /*Pour que vous visualisiez mieux lors de cette première phase; je met une marge extérieure en haut*/
}
#cosmo li
{
vertical-align: top;
display:-moz-inline-stack; /* code pour Firefox 1 et 2 */
display:inline-block; /* efface la ligne précédente si le navigateur connait la fonction inline */
}
Dans la feuille de style dédiée à
Internet Explorer :
- Code:
-
#cosmo li
{
display:inline;
}