Organiser une page web en blocs

Transcription

Organiser une page web en blocs
Organiser une page web en blocs
L’utilisation conjointe de la balise <div> et de CSS permet de définir l’organisation géographique
d’une page web en différents blocs.
Du côté HTML, un bloc est défini par une balise <div> que l’on peut nommer à l’aide de l’attribut
id ou class :
• <div id= "nom"> si la balise n’est utilisée qu’une fois dans le fichier,
ou
• <div class= "nom"> si la balise est utilisée plusieurs fois dans le fichier.
Le nommage des balises <div> permet de définir différents blocs grâce aux propriétés CSS. Pour une
balise nommée par l’attribut id, on défini les propriétés CSS de la façon suivante :
#nom {
propriete1: valeur1 ;
propriete2 : valeur2 ;
…
}
Pour une balise nommée par l’attribut class, on défini les propriétés CSS de la façon suivante :
.nom {
propriete1: valeur1 ;
propriete2 : valeur2 ;
…
}
Pour illustrer ces notions délicates nous allons considérer un exemple classique d’organisation
géographique d’une page. Le but est d’obtenir le résultat ci-dessous :
L’organisation de cette page est la suivante :
• une barre de titre (en jaune)
• un menu (en vert)
• un contenu (en blanc)
• un pied de page (en rouge)
Dans le code HTML, ces différents blocs sont définis par autant de balises <div> différentiées par
leurs noms (attribut id ou class). Leurs propriétés (taille, position etc …) sont définies par des
propriétés CSS. Dans cet exemple, nous nommerons les balises <div> par l’attribut id.
Créez une nouvelle page html liée à une nouvelle feuille CSS (voir polycopHTMLCSS.doc).
N’oubliez pas la structure de base (balises <html>, <head> et <body>) ni la balise <link>
pour lier la feuille CSS à la page HTML.
Dans la feuille CSS, commençons par définir un bloc qui contiendra tous les autres, que nous
nommons conteneur. Dans cet exemple, il s’agit uniquement de définir la largeur de notre page
web (vous pourrez éventuellement le raffiner par la suite). Nous fixons cette largeur à 1200 pixels par
la déclaration CSS suivante :
#conteneur {
width:1200px;
}
Dans la page HTML, nous « activons » ce bloc par la balise <div> :
<div id="conteneur">
</div>
Tout le code compris dans ce bloc conteneur (entre <div> et </div>) sera formaté pour être
contenu dans une largeur de page de 1200 pixels. C’est dans ce bloc que nous placerons tous les
prochains éléments (barre de titre, menu, pied de page, et contenu). Les dimensions exprimées ici en
pixels peuvent également l’être en centimètre ou en pourcentage de la taille de l’écran (voir
proprietecss.doc).
Nous définissons la barre de titre, que nous nommons barre_titre, dans la feuille CSS par la
déclaration suivante :
#barre_titre {
background-color:yellow
text-align:center
border-style:solid;
border-width:4px;
}
Par cette déclaration, nous définissons un bloc de couleur jaune, dont le texte est centré, avec une
bordure de 4 pixels de type solid.
Dans la page HTML, nous plaçons ce bloc barre_titre à l’intérieur du précédent bloc
conteneur. Le code devient :
<div id="conteneur">
<div id="barre_titre">
</div>
</div>
Dans ce bloc barre_titre, écrivez le titre de votre page (utilisez la balise <h1>, comme pour tout
titre de page). Observez le résultat dans un navigateur.
La barre de menu est déclarée dans la feuille CSS par la déclaration suivante :
#menu {
width:170px;
height:400px;
background-color:green;
float:left;
}
Le menu correspond à un bloc de 170 pixels de largeur par 400 pixels de hauteur, de couleur vert.
La propriété float force le bloc menu à se placer à gauche du bloc qui le contient, dans notre
exemple : conteneur. Cette propriété force les blocs qui suivront menu dans le flux HTML à se
positionner à sa suite dans la limite du conteneur, dans notre exemple une largeur de 1200 pixels.
La page HTML intégrant le bloc de menu devient :
<div id="conteneur">
<div id="barre_titre">
</div>
<div id="menu">
</div>
</div>
Dans la page HTML, insérez le menu de votre page web dans le bloc menu. Un menu utilise
généralement les balises <ul> (liste non numérotée) et <a> (lien hypertexte).
Le bloc suivant menu étant automatiquement placé à sa suite par la propriété float, le bloc
contenant le contenu de la page (le bloc blanc sur la figure) est simplement défini par la déclaration
CSS suivante :
#contenu {
text-align:justify;
}
Le texte sera donc justifié dans ce bloc.
Insérez dans la page HTML la balise <div> correspondante à la suite du bloc menu. Insérez un
paragraphe de texte dans le bloc contenu (balise <p>). Observez le résultat.
Il ne reste plus qu’à définir le pied de page par la déclaration CSS suivante :
#pied_de_page{
text-align: center;
clear:left;
background-color:red;
}
Le texte du pied de page sera centré sur un fond rouge. La propriété clear annule la contrainte
imposée par la propriété float du bloc menu en le plaçant en dessous de celui-ci. Sans la propriété
clear, le pied de page se serait placé à la suite de menu, comme l’avait été contenu.
Insérez dans le code HTML le bloc pied de page à la suite du bloc contenu et insérez du texte (par
exemple votre nom et la date). Observez le résultat. Observez la différence sans la propriété clear
dans la déclaration du bloc pied_de_page.

Documents pareils