On va appliquer les premières règles aux éléments de la page
Body, header et nav
Body
Choix d'une famille de police avec une graisse légère. Un fond gris
clair.
body {
font-family: Roboto;
font-weight: 300;
background: #dfdfdf;
}
Header
Un header qui couvre toute la largeur de la fenêtre de navigation, en
noir, avec une hauteur de 50px et une position fixe qui le place en haut à
gauche de la fenêtre.
Une media query (ou requête média) consiste en un type de média,
et au moins une expression limitant la portée des déclarations CSS, en mettant à profit les
particularités des supports multimédias comme leur largeur, leur hauteur ou leur affichage
des couleurs. Ajouté dans CSS3, les media queries permettent d'adapter la présentation du
contenu à une large gamme d'appareils sans changer le contenu lui-même.
Dans le fichier CSS version bureau, on va déclencher une Media query pour le
comportement du menu principal sur la version bureau.
Création d'une Media query
Note: La règle Media query doit être écrite et comporte deux accolades dans
lesquelles toutes les règles CSS vont être écrites.
Composer la règle
Dans le code ci-dessous, on indique la taille des écrans qui vont
respecter les styles. Il s'agit d'écrans dont la largeur minimale est de 769px.
Donc les phablettes et les écrans de bureau.
Ils sont de type bloc donc les uns sous les autres. On les fait passer
en ligne tout en gardant leur propriété de bloc. Ainsi, on donne une hauteur de
ligne égale à la hauteur du header (50px) pour qu'il soient au centre
verticalement.
ul#menu li {
display: inline-block;
line-height: 50px;
}
Les liens
Les liens sont tranformés en élément bloc afin de pouvoir par la suite
les remplir d'une couleur de fond. On les sépare avec une marge intérieure, on
les passe en blanc et on enlève le soulignement.
ul#menu li a {
display: block;
padding: 0 20px;
color: #FFF;
text-decoration: none;
}
Les liens des menus survolés
On veut qu'un lien survolé ait un fond blanc et que le texte soit
bleu.
Pour rappel, dans notre menu, un élément de liste correspond forcément
à la page où l'internaute sera. Il faut que dans le code HTML on reconnaisse cet
item en lui donnant un nom de classe "active" par exemple. on peut créer une
règle pour le cibler?
ul#menu li.active a {
background: #FFF;
color: #00a1f2;
}