đïž CSS#

Cascading Style Sheets
Littéralement « Feuilles de style en cascade », utilisé pour la présentation des document HTML et XML. Elles furent introduites en 1990 et réellement prises en charge en 2000. HTML ne décrit que la structure logique (le fond) des documents, la structure physique (la forme) est spécifiée par une feuille de style en CSS.
Les avantages de leurs utilisations, en plus de respecter le standard, sont la cohĂ©rence au sein du document, au sein dâun ensemble de documents (charte graphique), la mutualisation de la feuille de style et la sĂ©paration des tĂąches (dĂ©veloppeur web / graphiste).
1989-1993 Feuille de style dĂ©fini par lâutilisateur
1994 -1995 Netscape apporte le support des CSS
2000 Support croissant au sein des navigateurs
Ajouter une feuille de style au document#
Il suffit dâajouter dans lâĂ©lĂ©ment <head>
dâune balise <link>
.
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
Les valeurs des attributs rel et type sont fixes pour une feulle de style css. Lâattribut href contient lâURL de la feuille de style. On peut avoir plusieurs feuilles de style (leurs effets se cumulent) au sein dâun mĂȘme document.
Important
Comme pour le HTML, le W3C fournit un service en ligne de validation de CSS http://jigsaw.w3.org/css-validator/, son utilisation vous est vivement recommandée.
RĂšgle#
En CSS, la mise en forme est spécifiée par un ensemble de rÚgles. Une rÚgle typique est composée de trois parties :
un sélecteur,
une propriété,
une valeur

p {
font-size: 14px;
}
Sélecteur#
Note
Les sĂ©lecteurs dĂ©finissent les Ă©lĂ©ments sur lesquelles sâapplique un ensemble de rĂšgles CSS.
Les sélecteurs de type#
Ce sélecteur simple permet de cibler les éléments qui correspondent au nom indiqué.
Syntaxe
élément { style: propriétés; }
Sélecteur |
Cibles |
p {}
|
<h1>Quotes</h1>
<p>May the Force be with you.</p>
<img src=".." alt=".." />
<p>I'm in it for the money.</p>
<p>I find your lack of faith disturbing.</p>
|
img {}
|
<section>
<h2>I find your lack of faith disturbing.</h2>
<img src=".." alt=".." />
</section>
<section>
<h2>May the Force be with you.</h2>
<img src=".." alt=".." />
</section>
|
Classe et identifiant#
HTML autorise les attributs suivant dans nâimporte quelle balise :
id
accepte comme valeur un nom unique (interdiction dâutiliser le mĂȘme id dans un mĂȘme document) ;class
accepte comme valeur une liste de noms sĂ©parĂ©s par des espaces (le mĂȘme nom de classe peut ĂȘtre prĂ©sent dans plusieurs balises).
<ol id="contents">...</ol>
<article class="post funny">...</article>
<p class="funny">...</p>
Les sélecteurs de classe#
Ce sélecteur simple permet de cibler les éléments en fonction de la valeur de leur attribut class.
Syntaxe
.nomclasse { style: propriétés; }
Sélecteur |
Cibles |
.red {}
|
<section>
<h2 class="red">I find your lack of faith disturbing.</h2>
<img src=".." alt=".." />
</section>
<section>
<h2>May the Force be with you.</h2>
<img class="red" src=".." alt=".." />
</section>
|
Les sĂ©lecteurs dâidentifiants#
Ce sĂ©lecteur simple permet de cibler un Ă©lĂ©ment dâun document en fonction de la valeur de son attribut id. Dans un document, il ne doit y avoir quâun seul Ă©lĂ©ment pour un identifiant donnĂ©
Syntaxe
#identifiant { style: propriétés; }
Sélecteur |
Cibles |
#logo {}
|
<h1 id="logo">Star Wars</h1>
<p>May the Force be with you!</p>
<img src=".." alt=".." />
|
Le sélecteur universel#
Ce sĂ©lecteur permet de cibler tous les nĆuds dâun document.
Syntaxe
* { style: propriétés; }
Sélecteur |
Cibles |
* {}
|
<h1 id="logo">Star Wars</h1>
<p>May the Force be with you!</p>
<img src=".." alt=".." />
|
Combinaison de rĂšgles#
Plusieurs rĂšgles similaires peuvent coexister :
p { font-style: italic }
p { color: blue }
h2 { font-style: italic }
h2 { color: blue }
On peut regrouper les rĂšgles ayant le mĂȘme sĂ©lecteur, en sĂ©parant les couples propriĂ©tĂ©-valeur par un point-virgule (;
).
p { font-style: italic ; color: blue }
h2 { font-style: italic ; color: blue }
On peut regrouper des rĂšgles ayant le mĂȘme contenu, en sĂ©parant les sĂ©lecteurs par une virgule (,
).
p, h2 { font-style: italic ; color: blue }
Multi sélecteurs#
Sélecteur |
Cibles |
h1, p {}
|
<h1 id="logo">Star Wars</h1>
<p>May the Force be with you!</p>
<img src=".." alt=".." />
|
Longueur en CSS#
Il existe différentes unités pour les tailles (police et boßte) en css, en voici quelques une:
Unité |
Description |
---|---|
cm |
centimĂštre |
mm |
millimĂštre |
in |
pouce (inch) |
em |
taille de la police courante |
px |
pixel CSS |
vw |
1% de la largeur de la fenĂȘtre |
vh |
1% de la hauteur de la fenĂȘtre |
Taille en CSS#
La taille dâun Ă©lĂ©ment peut ĂȘtre fixĂ©e grĂące aux propriĂ©tĂ©s width et height. Ces propriĂ©tĂ©s acceptent des longueurs absolues, ou en pourcentage (par rapport Ă lâĂ©lĂ©ment englobant).
Par exemple, ce paragraphe a la propriété width: 50%, il occupe donc la moitié de la largeur de la page.
p {
width: 50%;
}
Intervalles de taille#
On peut également contraindre un élément de maniÚre plus souple avec les propriétés min-width
, max-width
, min-height
et max-height
.
Câest utile lorsquâon ne connaĂźt pas Ă lâavance le contenu des Ă©lĂ©ments concernĂ©s :
feuille de style mutualisée,
contenu dynamique,
reponsive design.
Débordement#
Si on contraint la taille dâun Ă©lement il est possible que le contenu dĂ©passe de celui-ci.
La propriété overflow
permet de paramĂ©trer le comportement de lâĂ©lĂ©ment dans cette circonstance:
visible
le contenu sâaffichera entiĂšrement.hidden
ne sâaffiche quâĂ lâintĂ©rieur de lâĂ©lĂ©ment, peut ĂȘtre tronquĂ©.scroll
ne sâaffiche quâĂ lâintĂ©rieur de lâĂ©lĂ©ment, apparition dâascenseurs au besoin.
Propriétés des textes#
font-style: normal|italic|oblique
font-weight: normal|bold|bolder|lighter| ou une valeur entre 100 et 900 (400 = normal)
font-variant: normal|small-caps
font-family: <police>
font-size: taille et unités
Police dâĂ©criture#
CSS définit des polices génériques : serif, sans-serif, cursive, fantasy, monospace
InconvĂ©nient : leur apparence varie dâun systĂšme Ă lâautre (et dâun navigateur Ă lâautre).
Avantage : elles garantissent un affichage pas trop diffĂ©rent des intentions de lâauteur.
Il convient de spĂ©cifier une liste de polices, par ordre croissant de probabilitĂ© quâelle soit disponible, et en terminant toujours pas une police gĂ©nĂ©rique.
font-family: MyNiftyFont, "Times New Roman", serif
Taille de police#
La taille de police est généralement exprimée en points px :
body { font-size: 12px; }
ou relativement Ă la taille de la police dans lâĂ©lĂ©ment englobant.
h1 { font-size: 150%; }
Mais toutes les unités de mesures reconnues par CSS sont en théorie utilisables.
Autres propriétés des textes#
text-decoration: none|underline|overline|line-through|blink
text-transform: none|capitalize|uppercase|lowercase
text-align: left|center|right|justify
color: <color>
background-color: <color>
Couleur en CSS#
p { color: #f00 } /* #rgb */
p { color: #ff0000 } /* #rrggbb */
p { color: rgb(255,0,0) }
p { color: rgb(100%, 0%, 0%) }
p { color: rgba(255, 0, 0, 0.5) }
body { background-color: #000;}
Attention
Les couleurs doivent toujours ĂȘtre exprimĂ©es en hexadĂ©cimal, RGB ou RGBA ! Nâutilisez pas les noms des couleurs.
Des sélecteurs un peu plus complexe#
Les sélecteurs de voisin direct#
Le combinateur +
permet de sélectionner les noeuds qui suivent immédiatement un élément donné.
Syntaxe
A + B { style: propriétés; }
Sélecteur |
Cibles |
h1 + p {}
|
<h1 id="logo">Star Wars</h1>
<p>May the Force be with you!</p>
<img src=".." alt=".." />
|
Les sĂ©lecteurs dâĂ©lĂ©ments descendants#
Le combinateur :code:` ` (espace) permet de sĂ©lectionner les nĆuds qui sont des descendants (pas nĂ©cessairement des fils directs) dâun Ă©lĂ©ment donnĂ©.
Syntaxe
A B { style: propriétés; }
Sélecteur |
Cibles |
section p {}
|
<section>
<p>May the Force be with you!</p>
</section>
<section>
<p>May the Force be with you!</p>
</section>
|
Les sĂ©lecteurs dâĂ©lĂ©ments fils#
Le combinateur :code`>` permet de sĂ©lectionner les noeuds qui sont des fils directs dâun Ă©lĂ©ment donnĂ©
Syntaxe
A > B { style: propriétés; }
Sélecteur |
Cibles |
ul > li
|
<ul>
<li>Sucre</li>
<li>Miel</li>
<li>Lait</li>
</ul>
<ol>
<li>Sucre</li>
<li>Miel</li>
<li>Lait</li>
</ol>
|
Encore et toujours des boĂźtes#
En CSS, tout tourne autour de boĂźtes dĂ©finir leurs tailles, leurs couleurs, leurs positions, ⊠Les Ă©lĂ©ments HTML dâune page peuvent, pour la plupart, ĂȘtre vus comme des boĂźtes placĂ©es les unes sur les autres. Câest pour cette raison que lâarchitecture de CSS est principalement basĂ©e sur un modĂšle de boĂźtes.
ModĂšle de boĂźtes#
Chacun de ces blocs prend un certain espace sur la page, de cette façon :
padding
lâespace autour, proche du contenuborder
la ligne qui est juste autour du paddingmargin
lâespace extĂ©rieur, autour de lâĂ©lĂ©ment

Marge externe#
La propriĂ©tĂ© margin dĂ©finit la taille des marges sur les quatre cĂŽtĂ©s de lâĂ©lĂ©ment. Câest une propriĂ©tĂ© raccourcie qui permet de manipuler les autres propriĂ©tĂ©s de marges : margin-top
, margin-right
, margin-bottom
et margin-left
.
Syntaxe
/* La propriété s'applique aux quatre cÎtés */
margin: 1em;
/* vertical | horizontal */
margin: 5% auto;
/* haut | horizontal | bas */
margin: 1em auto 2em;
/* haut | droit | bas | gauche */
margin: 2px 1em 0 auto;
Bordure#
La propriĂ©tĂ© CSS border est une propriĂ©tĂ© raccourcie qui permet de dĂ©finir les propriĂ©tĂ©s liĂ©es Ă la bordure. border peut ĂȘtre utilisĂ©e pour dĂ©finir les valeurs de border-width
, border-style
et border-color
.
Syntaxe
/* style */
border: solid;
/* largeur | style */
border: 2px dotted;
/* style | couleur */
border: outset #f33;
/* largeur | style | couleur */
border: medium dashed green;
Marge interne#
La propriĂ©tĂ© padding est une propriĂ©tĂ© raccourcie qui permet de dĂ©finir les diffĂ©rents Ă©carts de remplissage sur les quatre cĂŽtĂ©s dâun Ă©lĂ©ment (cf. les boĂźtes CSS). Elle synthĂ©tise padding-top
, padding-right
, padding-bottom
, padding-left
.
Syntaxe
/* On applique la mĂȘme valeur aux quatre cĂŽtĂ©s */
padding: 1em;
/* vertical | horizontal */
padding: 5% 10%;
/* haut | horizontal | bas */
padding: 1em 2em 2em;
/* haut | droit | bas | gauche */
padding: 5px 1em 0 2em;
Block et Inline#
Pou rappel, il existe deux grands types dâĂ©lĂ©ments :
Les Ă©lĂ©ments de type inline, ils sâinscrivent dans le flux du texte, leur taille est dĂ©terminĂ©e par leur contenu, les propriĂ©tĂ©s
width
etheight
sont sans effet sur eux. Exemples :a
,em
,strong
, âŠLes Ă©lĂ©ments de type block, ils sont prĂ©cĂ©dĂ©s et suivis dâune sĂ©paration verticale, ils prennent toute la largeur disponible, et uniquement la hauteur nĂ©cessaire mais on peut changer leur taille avec les propriĂ©tĂ©s
width
etheight
. Exemples :p
,section
,h1
, âŠ
Changer le mode dâaffichage#
display : inline | block | inline-block | none;
Un élément inline-block se comporte comme un élément inline avec ses voisins (pas de séparation verticale), mais comme un élément block pour son contenu (taille ajustable).
Un élément none ne sera pas affiché. Ce mode est utile en conjonction avec la directive @media
.
Coins arrondis#
Il est possible dâarrondir les coins du bord grĂące aux propriĂ©tĂ©s suivante :
border-top-left-radius (rayon)
border-top-right-radius (rayon)
border-bottom-right-radius (rayon)
border-bottom-left-radius (rayon)
ou par une propriété synthétique acceptant 1 à 4 valeurs :
border-radius (tl) (tr) (br) (bl)
Images de fond#
PlutĂŽt quâune couleur de fond (background-color), on peut spĂ©cifier une image de fond pour certains Ă©lĂ©ments.
background-image : (url)
background-image: url("img/starnest.png")
ParamĂ©trage de lâimage de fond:
background-position
: (position gauche) (position haut), en pixel ou en anglais (left, right, center, top, bottom)background-attachment
:scroll
: lâimage dĂ©file avec la page (par dĂ©faut)fixed
: lâimage reste fixe quand la page dĂ©file
background-repeat
:repeat
: lâimage se rĂ©pĂšte en mosaĂŻque (par dĂ©faut)repeat-x
: lâimage se rĂ©pĂšte horizontalement
Bonne pratique#
Rappel sur les URLs#
Le nom local a une structure hiérarchique (similaire à la structure des fichiers). Comme pour les fichiers, on peut spécifier une URL relativement à une autre.
<!-- url de base -->
src=""
<!-- la ressource kenobi dans le "répertoire" courant -->
src="kenobi"
<!-- le "répertoire" courant -->
src="."
<!-- le "répertoire" parent du "répertoire" courant
src=".."
<!-- le "répertoire" racine du serveur -->
src="/"
On peut ensuite combiner ces éléments en les séparant par un /
.
Liens#
La balise <a>
transforme son contenu en lien hypertexte. Elle doit contenir un attribut href, qui contient lâURL (absolue ou relative) vers lequel dirige ce lien.
Contenu de la balise a#
Rien nâempĂȘche bien sĂ»r la balise <a>
de contenir dâautres balises.
Bienvenue sur
<a href="https://www.ugaritic.fr/">
<strong>Ugaritic</strong>.info
<img src="img/logo.png" alt="Logo de Ugaritic.fr" />
</a>
Lien interne#
Il peut ĂȘtre utile de faire pointer un lien vers un fragment particulier dâun document plutĂŽt que vers son intĂ©gralitĂ©. Toute balise dĂ©limite une partie du document. GrĂące Ă lâattribut id on peut cibler un Ă©lĂ©ment. LâURL du fragment est constituĂ©e en concatĂ©nant : lâURL du document, le caractĂšre #
, et lâidentifiant du fragment.
<a href="#sec1">Pointe vers le fragment #sec1 du document courant</a>
<a href="other.html#sec2">Pointe vers le fragment #sec2 d'un autre document</a>
<a href="https://fr.wikipedia.org/wiki/Amiens#Histoire">Pointe vers la section "Histoire" d'un article
Wikipedia</a>
<section id="sec1">
La section vers laquelle pointe le 1er lien ci-dessus.
...
</section>
Organisation des fichiers dâun site web#
Lorsque le nombre de fichiers constituant un site croĂźt, il devient important de penser leur organisation. Quelques conseils :
Séparer les pages HTML des fichiers « utilitaires » (feuilles de styles, images) en plaçant ces derniers dans un sous-répertoire,
Calquer la hiérarchie des répertoires sur la structure logique du site.
.
|-- dark_crystal
| |-- img
| | `-- logo.png
| |-- index.html
| |-- page
| | |-- about.html
| | `-- skesis.html
| `-- style
| `-- style.css
`-- jurassic_park
|-- img
| `-- logo.png
|-- index.html
|-- page
| |-- about.html
| `-- dinosaurs.html
`-- style
`-- style.css
Formulaires et interactivité#
Les formulaires HTML sont un des vecteurs principaux dâinteraction entre un utilisateur et un site web ou une application. Ils permettent Ă lâutilisateur dâenvoyer des donnĂ©es au site web. La plupart du temps, ces donnĂ©es sont envoyĂ©es Ă des serveurs web.
Un formulaire HTML est composĂ© dâun ou plusieurs widgets. Ceux-ci peuvent ĂȘtre des zones de texte (sur une seule ligne ou plusieurs lignes), des boĂźtes Ă sĂ©lection, des boutons, des cases Ă cocher ou des boutons radio. La plupart du temps, ces items sont associĂ©s Ă un libellĂ© qui dĂ©crit leur rĂŽle.
Champs de saisie#
Certaines pages HTML comportent des champs permettant Ă lâutilisateur de saisir de lâinformation. La balise offrant cette possibilitĂ© est la balise <input>
.
<input />
Types de champs#
HTML offre un certain nombre de types de champs, les plus utilisés étant:
<input type="text" />
<input type="password" />
<input type="checkbox" />
<input type="radio" />
<input type="file" />
<input type="number" />
<input type="range" />
HTML5 dĂ©finit dâautres types de champs (date
, color
, âŠ).
Libellé#
Les champs de saisie sont le plus souvent associés à un libellé. Ceci est représenté en ajoutant un libellé via une balise <label>
avant la balise <input>
.
<label>Nom : </label>
<input type="text" />
<label>Tarif réduit</label>
<input type=checkbox />
La convention consiste Ă :
nommer le
<input>
avec lâattributid
, etlui lier le
<label>
avec lâattributfor
.
<label for="name">Nom :</label>
<input id="name" type="text" />
<label for="firstname">Prénom</label>
<input id="firstname" type="text" />
Importance de lier le libellé au champ
Lâassociation du libellĂ© au champ explicite la sĂ©mantique du document, ce qui permet notamment dâamĂ©liorer :
lâergonomie: lorsquâon clique sur un libellĂ©, câest le champ qui prend le focus ;
lâaccessibilitĂ©: lâadaptation du formulaire (par exemple pour un lecteur dâĂ©cran) peut se faire de maniĂšre plus pertinente.
Alternative au libellé#
Pour les champs de type text
ou password
, une alternative au libellĂ© consiste Ă utiliser lâattribut placeholder
:
<input placeholder="identifiant" />
<input type="password" placeholder="mot de passe" />
Liste dâoptions#
Un autre type de champ permet de sélectionner (ou ou plusieurs) éléments dans une liste.
<select>
<option>Luke</option>
<option>Leia</option>
<option>Han</option>
<option>Ben</option>
</select>
Lâattribut multiple
autorise la sélection de plusieurs éléments.
Zone de texte#
Le champ input
ne permet pas la saisie de texte sur plusieurs lignes. Pour cela, on utilise le champ textarea
.
<textarea placeholder="type your message">Hello world</textarea>
Contrairement Ă input, textarea attend une balise fermante (car le texte contenu dans le champ est le contenu de la balise).
Boutons#
La balise button
permet de créer des boutons.
<button>Ok</button>
<button><em>Annuler</em></button>
Formulaire en HTML#
Les champs sont généralement regroupés dans une balise form
, quâon appelle un formulaire. Cette balise requiert lâattribut action, qui contient lâURL de la ressource qui traitera les donnĂ©es du formulaire.
<form action="https://ingen.ugaritic.fr/form/process/">
</form>
Champs dâun formulaire#
Pour pouvoir ĂȘtre traitĂ©s, les champs dâun formulaire doivent tous ĂȘtre identifiĂ©s par un nom, portĂ© par lâattribut name
:
<form action="https://ingen.ugaritic.fr/form/process/">
<input name="name" placeholder="identifiant">
<input name="tel" placeholder="n de tel">
<button>Je m'inscris</button>
</form>
Cases Ă cocher et boutons radio#
Les champs ayant le type checkbox
ou radio
vont souvent par groupe. Tous les membres dâun groupe ont le mĂȘme nom, et se diffĂ©rencient par une valeur portĂ©e par un attribut value.
Pour les cases Ă cocher, le nom se voit affecter lâensemble des valeurs sĂ©lectionnĂ©es. Pour les boutons radio, une seule valeur peut-ĂȘtre affectĂ©e (lâactivation dâun bouton du groupe dĂ©sactive automatiquement les autres).
<input type="radio" id="contactChoice1"
name="contact" value="email">
<label for="contactChoice1">Email</label>
<input type="radio" id="contactChoice2"
name="contact" value="telephone">
<label for="contactChoice2">Téléphone</label>
<input type="radio" id="contactChoice3"
name="contact" value="courrier">
<label for="contactChoice3">Courrier</label>
<input type="checkbox" id="subscribeNews" name="subscribe" value="newsletter">
<label for="subscribeNews">Souhaitez-vous vous abonner Ă la newsletter ?</label>
Boutons et formulaires#
Les boutons ont trois fonctionnalitĂ©s possibles, portĂ©es par lâattribut type :
submit
envoie les données du formulaire (défaut)reset
remet tous les champs du formulaire Ă leur valeur initialebutton
aucun comportement par défaut
Les boutons du dernier type sont utiles en conjonction avec des scripts (hors-programme pour cette année).
<button type="submit">Valider</button>
<button type="reset">Remise à zéro</button>
Méthode HTTP#
La balise form
accepte un attribut method, qui peut prendre deux valeurs :
GET
les donnĂ©es sont passĂ©e via lâURL (dĂ©faut),POST
les donnĂ©es sont passĂ©es dans la requĂȘte HTTP
La méthode GET
doit ĂȘtre employĂ©e lorsque les donnĂ©es ne sont pas trop volumineuses, et surtout; lorsque le traitement des donnĂ©es nâa pas dâeffet de bord. Dans tous les autres cas, la mĂ©thode POST
doit ĂȘtre utilisĂ©e.
<form action="https://ingen.ugaritic.fr/form/process/" method="POST">
</form>
Envoi de fichier#
Lâemploi de <input type="file" />
pour envoyer le contenu dâun fichier nĂ©cessite deux prĂ©cautions au niveau du form englobant :
method="post"}
enctype="multipart/form-data"}
sans quoi câest le nom du fichier, et non son contenu, qui sera envoyĂ© au serveur.
Un peu de style#
Note
Nous avons découvert comment créer le fonds de nos documents, il est donc temps de les mettre en forme.
Un petit jeu pour commencer ?
CSS Diner Uniquement jusquâau niveau 14.
Ă faire
Ă faire
- Reprenez le fichier prĂ©cĂ©dent mettons en forme notre page dâactualitĂ©s.
Créer un fichier
style.css
IntĂ©grer le fichier style.css dans lâentĂȘte du fichier
style.html
Astuce
<link rel="stylesheet" type="text/css" href="style.css" />
/* COMMENTAIRE */
- Ajoutez la rĂšgle suivante:
p{ color: red; }
Quel est le type de sélecteur CSS utilisé ?
Quels éléments sont ciblés par ce sélecteur ?
Quelle est la mise en forme appliquée par ce code CSS ?
Pourquoi est-ce une mauvaise idĂ©e dâutiliser les noms des couleurs ?
- Découvrons désormais les propriétés margin/padding et border
Indication
Pensez Ă ajouter les codes au fur et Ă mesure dans votre fichier css. Si le mĂȘme sĂ©lecteur CSS revient plusieurs fois dans lâĂ©noncĂ© câest quâil sâagit dâune maj de notre style pour ledit sĂ©lecteur et non pas dâun ajout dans le fichier.
- Pour cette exemple pensez Ă avoir au moins deux paragraphes
<p>
dans votre fichier html. html, body{ background-color: #95a5a6; }
Quelle est la mise en forme appliquée par ce code CSS ?
p{ background-color: #2980b9; border: 1px solid #8e44ad; }
Quelle est la mise en forme appliquée par ce code CSS ?
p{ background-color: #2980b9; border: 1px solid #8e44ad; padding: 12px; }
Que constatez vous ?
Comment se comporte la propriété padding ?
p{ background-color: #2980b9; border: 1px solid #8e44ad; padding: 12px; margin: 20px; }
Que constatez vous ?
Comment se comporte la propriété margin ?
*{ font-size: 14px; }
Quels sont les éléments ciblés par ce sélecteur ?
Quelle est son utilité ?
h1{ color: red; background-color: orange; font-size: 3.4em; } a{ color: green; text-decoration: none; }
Quels sont les éléments ciblés par ces sélecteurs ?
Que signifie em ? Quelle est son utilité ?
a:hover{ color: red; text-decoration: underline; }
Quels éléments et à quel moment sont-ils ciblés ?
Quelle est lâutilitĂ© de la propriĂ©tĂ©
text-decoration
?
<h1 id="main-title">HELLO WORLD</h1>
#main-title{ color: blue; }
Quelle est lâutilitĂ© des ID HTML ?
Quel élément est ciblé par ce sélecteur ?
<p class="color-red">HELLO WORLD</p> <p class="color-red font-weight">HELLO WORLD!</p>
.font-bold{ font-weight: bold; } .color-red{ color: red; }
Quelle est lâutilitĂ© des classes CSS ?
Quels sont les éléments ciblés par chacun de ces sélecteurs ?
ul.menu{ text-align: center; list-style: none outside none; } ul.menu li{ display: inline-block; } ul.menu li a{ }
Quelle est lâutilitĂ© de ces sĂ©lecteurs ?
Quels éléments sont ciblés par celui-ci ?
Quelle est lâutilitĂ© de la propriĂ©tĂ©
list-style
? De la propriétédisplay
? Ettext-align
?
Dans votre fichier HTML complĂ©tez afin dâobtenir ceci#<main> <div class="container"> <div class="col-70"> <div>..</div> </div> <div class="col-30"> <div>..</div> </div> </div> </main>
style.css#.container{ } .col{ float: left; } .col-70{ width: 70%; } .col-30{ width: 30%; }
Quel est lâintĂ©rĂȘt de la propriĂ©tĂ© float ?
Ajouter une couleur de fond aux colonnes col-70 et col-30
Que constatez-vous ?
Quel est le souci lié au footer ?
.container:after{ clear: both; display: block; content: ""; }
Quelle est lâutilitĂ© du sĂ©lecteur
:after
Quelle est lâutilitĂ© de ce code css ?
- Pour cette exemple pensez Ă avoir au moins deux paragraphes
Mise en forme dâun document#
Note
Cet exercice a pour but de rĂ©capituler lâensemble des premiers tps vus ensemble. Nous allons ainsi revoir HTML et CSS.
Avant de poursuivre notre dĂ©couverte du monde du web, il convient de sâattarder quelque peu sur la structuration de nos projets.
CrĂ©ons ensemble une structure squelette pour lâensemble de nos projets web:
index.html
, ce fichier contient comme vous le savez dĂ©jĂ le contenu de la page dâaccueil de notre site,un dossier
imgs/
, ce dossier contiendra lâensemble des images utilisĂ©es sur notre site,un dossier
styles/
, ce dossier contiendra le code CSS utilisé pour la mise en forme du contenu.
Ă faire
Nous allons créer plusieurs éléments HTML au sein de notre document:
Est-il utile de rappeler quâil faut toujours commencer par le squelette HTML5 ?
- Créer une section contenant:
Un titre de niveau 1 avec le texte suivant:
Jurassic World Evolution
Une image avec cette ressource
Un titre de niveau 2 avec le texte suivant:
Imaginez votre propre Jurassic World
Un titre de niveau 3 avec le texte suivant:
Caractéristiques
Une liste non ordonnĂ©e contenant les Ă©lĂ©ments suivants: Vos dinosaures, Vos choix, Vos rĂȘves.
- Créer trois titre de niveau 3 et 3 paragraphes qui les suivent avec les contenus respectifs suivant:
Ramenez les dinosaures à la vie Créez par bio-ingénierie des dinosaures qui pensent, ont des émotions et interagissent intelligemment avec le monde que vous construisez.
Choisissez votre propre voie Travaillez dans lâintĂ©rĂȘt de la science, des loisirs ou de la sĂ©curitĂ© dans un univers incertain oĂč la vie trouve toujours son chemin.
Une nouvelle légende Jurassic Plongez dans un tout nouveau scénario qui place au bout de vos doigts des personnages emblématiques et des décennies de tradition Jurassic.
Enfin créer un lien qui renvoie vers le site officiel du jeu avec en intitulé de lien
En savoir plus
Mettez en forme votre document HTML via CSS pour obtenir un résultat équivalent: