Initiation HTML CSS
Initiation HTML CSS
4
Programme initiation au HTML
3
Programme initiation au HTML
4
Programme initiation au CSS
5
Programme initiation au CSS
– Décoration de texte (soulignement, etc.) • Positionnement CSS : les flottants pour placer des
images
– Changer les icônes d'une liste à puce
– Les flottants et le flux
• Bordures et arrières plans – Ferrer les images à gauche et à droite
– Nettoyer les flottants avec clear
– Bordures et styles, bords arrondis CSS3 – Notion de contexte de formatage de bloc et gestion des
conflits de flottants
– Arrière-plan et propriétés background
6
Programme initiation au CSS
absolute et fixed
– Position relative pour déplacer des
éléments
– Position fixe et barre de navigation
fixée en haut
– Position absolue et déplacement
d'élément dans bloc
7
Les bases d’un site web
8
Une page Web c’est …
11
Un site Web c’est ...
12
Mettre son site en ligne
11
Le HTML - généralités
20
HTML : définition
– HTML5
17
Le W3C
18
Brackets.io
• http://brackets.io/
• Éditeur spécialisé
• Auto-complétion, retour à la ligne, coloration syntaxique, plugins etc.
• Gratuit pour Mac et Windows – open source
2
5
Atom
• https://atom.io/
• Éditeur spécialisé
• Auto-complétion, retour à la ligne, coloration syntaxique, plugins etc.
• Gratuit pour Mac et Windows – open source
2
6
Les éditeurs de texte plus avancés et spécialisés
• http://www.sublimetext.com/
• Éditeur spécialisé
• Auto-complétion, retour à la ligne,
colorisation syntaxique
• Plugins, snippets, mode « sans
distraction »
• 30 jours essai Windows/Mac/ Linux
puis payant
23
D’autres éditeurs
24
La syntaxe HTML : balises,
éléments et attributs
33
Le principe de balise
<
> *
o
n
a o t a
34
Le principe de balise
• On peut imbriquer les balises (on y reviendra) les unes dans les
autres
31
Le principe de balise
32
Le principe de balise
37
Attributs et valeurs
34
Attributs et valeurs
35
Exemples d’attributs
36
Exemples d’attributs
! class=" " : donner une classe à l’élément que l’on pourra utiliser en
CSS.
Les classes peuvent être dupliquées sur la page
– <p class="maclasse"> contenu </p>
37
Doctype, html, body : structure
d'un document valide
42
Structure d’un document HTML simplifié
39
La notion de doctype
<!doctype html>
40
Le doctype HTML5
41
La balise <html>
42
L'attribut lang
– Synthèse vocale
<html lang="fr">
lang=
43
La balise <head>
44
La balise <title>
45
La balise <head> : les balises meta
46
La balise <head> : les balises meta
47
La balise <body>
<body>
Contenu de la page
</body>
48
En résumé
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title> Titre de ma page </title>
</head>
<body>
Contenu de la page
</body>
</html>
53
C’est valide !
Il est possible d’écrire du texte qui ne sera visible que dans le code source et non sur le site : un
commentaire
51
Les éléments de structuration
du contenu
52
La balise « division » <div>
53
La balise « division » <div>
54
Grille en div
55
La balise paragraphe <p>
56
La balise paragraphe <p>
57
Espaces insécables
58
Espaces insécables
59
D'autres entités HTML
copypastecharacter.com
60
Les titres h1 – h6
61
Les titres h1 – h6
62
Blockquote, une citation
63
Blockquote, une citation
64
Exemple de blockquote stylée
https://css-tricks.com/snippets/css/simple
tricks.com/snippets/css/simple-and-nice-blockquote-styling/
65
Les éléments de « mise en
forme » de texte
66
Éléments en ligne « inline »
67
L’ élément <strong>
68
L’ élément <strong>
69
L’ élément <em>
70
L’ élément <em>
71
L’ élément <span>
72
L’ élément <span>
73
D’autres éléments
74
Les liens dans les documents
HTML
75
Fonction d'un lien
76
La balise <a>
77
La balise <a> pour les liens
78
Lien externe vers un autre site
<a href="http://www.google.fr
http://www.google.fr" title="Moteur de recherche
google"> lien externe vers google </a>
79
Liens internes et hiérarchisation du site
80
Liens internes et hiérarchisation du site
81
Exercice !
8
6
Lien vers un fichier du même répertoire
83
Mon premier site
84
Exercice !
85
Exercice !
86
Exercice !
87
Liens vers un autre répertoire
88
Descendre dans un sous répertoire
89
Remonter d’un répertoire
90
Mon premier site
91
Exercice !
92
Exercice !
93
Ouvrir un lien dans un nouvel onglet
94
Des liens « internes » ou ancres internes
https://fr.wikipedia.org/wiki/
Hypertext_Markup_Language#Description_de_HTML
95
http://www.visuodesign.com/
100
Un lien vers une adresse mail
! <a href="mailto:[email protected]">
[email protected]"> permet
de créer un lien qui ouvrira automatiquement le
client mail de la personne (à éviter car mail en
dur donc récupérable pour spam => formulaire
de contact )
101
Les éléments de liste
102
Les listes non ordonnées <ul>
99
Les listes non ordonnées <ul>
100
Les listes ordonnées <ol>
101
Les listes ordonnées <ol>
102
Contenu d’une liste
103
Exemple d’imbrication
104
Exemple d’imbrication
http://getbootstrap.com/javascript/#tabs
106
Les listes en pratique – les navigations
http://www.mobify.com/
107
Les listes en pratique – • http://
les navigations flexslider.woothemes.com/
113
Le format JPEG- Joint Photographic Experts Group
=> Pour la compression avec pertes très efficace pour des images
photographiques
110
Le format GIF - Graphics Interchange Format
http://lesjoiesducode.tumblr.com/
111
Quelques jolis GIFs
http://bisouslescopains.tumblr.com/
112
Le format PNG - Portable Network Graphics
113
En résumé
114
Compresser une image JPEG outils
• En ligne :
– https://imagify.io/ outil en ligne avec traitement par lots
• En Local :
– https://imageoptim.com/fr.html sur mac PNG et JPG
115
La balise <img>
• Balise auto-fermante
116
La balise <img> et source de l'image
– url de stockage
117
La balise <img> et attribut « alt »
118
La balise <img> et attribut « alt »
• L'attribut est obligatoire, mais il peut être vide pour les images
décoratives
119
Attributs width et height
• Les attributs width et height peuvent être ajoutés pour donner une
taille à l’image
• Sans width/height le navigateur « devine » la taille ce qui crée des
sauts de page quand l’image se charge
• En général, il vaut mieux la redimensionner avant dans un logiciel,
plutôt que charger une grande image et la rétrécir (performance)
120
Exemple
121
L'attribut title
123
Bonus : intégrer une vidéo
124
Bonus : intégrer du son
125
Bonus : intégrer du son
130
D’autres types d’iframe
131
Les tableaux HTML
128
Les tableaux, introduction
129
Créer un tableau : <table>
130
Exemple de tableau simple
131
Exemple de tableau simple
132
Un avant-goût
goût de CSS
• Pour la suite et y voir plus clair, nous allons ajouter une bordure à
notre tableau avec la propriété CSS
133
Ajouter une entête avec ! <th> peut remplacer <td>
<th> pour créer une cellule
d’entête au tableau
134
Ajouter un titre au ! On utilise <caption> pour
tableau donner un titre au tableau
! La balise se place au
début du tableau
135
Bonus - Fusion de ! Il est possible de fusionner
cellules certaines cellules entre elles avec
l’attribut colspan="
nombredecellules" qui se place
sur la cellule (th ou td)
140
Bonus - Fusion de • Il est possible de fusionner
lignes des lignes avec l’attribut
rowspan="
nombredelignes" qui se
place sur la cellule (th ou td)
141
Les formulaires
142
Les formulaires sont partout autour de nous
139
La balise <form>
Par défaut si elle est vide, c’est comme n’importe quel élément, rien n’est affiché
145
La zone de texte monoligne <input>
142
Le label
143
Associer le label au champ
144
L'attribut « value »
145
L'attribut « value »
150
En résumé pour n'importe quel champ il faut toujours au
moins
147
Attributs supplémentaires
148
Les placeholder (ne sont pas des labels ! )
! placeholder=" " : attribut HTML5, donne une indication de ce que devrait contenir le champ.
Attention, ne remplace PAS le label
! Pas supportés partout (IE10+) => ne PAS utiliser sans label visuel pour l'utilisateur (ou un polyfill)
153
Zone de texte multiligne <textarea>
150
Attributs utiles pour textarea
• PAS de value= " ", le texte par défaut se met entre les deux balises
ouvrante et fermante
151
Les cases à cocher <input type="checkbox">
152
Les cases à cocher <input type="checkbox">
153
Les cases à cocher <input type="checkbox">
159
Les boutons radio <input type="radio">
169
Groupe de boutons radio
! Pour que le navigateur comprenne que des éléments forment un groupe, il faut leur donner le
même attribut name
! On peut pré-cocher
cocher un bouton radio avec checked="checked"
161
Les listes déroulantes <select>
158
Les listes déroulantes <select>
159
Bouton d’envoi input type="submit"
160
Petit résumé des
champs
select + option
textarea
165
Bouton de reset, input type="reset"
162
Bouton <button type="button">
163
Bouton <button type="button">
http://getbootstrap.com/javascript/#modals
164
Désactiver un champ : disabled="disabled"
165
Désactiver un champ : disabled
170
Les champs de mot de passe <input type="password">
167
Uploader un fichier : type = file
168
Cacher un champ type="hidden"
169
Liste non exhaustive de quelques balises
! body ! form
! div ! table
! p ! iframe
! h1- h6 etc.
!
! ul
! ol
! li
!
blockquote
170
CSS : Introduction et notions
de base
175
CSS : Cascading Style Sheets
172
Un peu d’histoire
175
Différents rendus entre les navigateurs
180
Appliquer un style, oui
mais où ?
183
Le CSS “en ligne” dans la balise HTML
! Attribut style = …;
! « Je veux des titres roses » :
<h1 style="color:pink;" >
184
Problèmes de maintenabilité
185
Le CSS « interne» dans l’entête du HTML
<style type="text/css">
h2{
color: #fff;
}
</style>
190
Le CSS « interne» dans l’entête du HTML
! Avantage :
– Possibilité d’appliquer une règle sur tous les mêmes éléments d’un
même document
! Inconvénient :
– Ne s’applique qu’à ce document, et non au site en entier
– Il faut donc modifier le CSS sur chaque page (ex : si on a 10 pages,
modifier les styles sur les 10 fichiers)
187
La/les feuille(s) de style externe(s)
188
La feuille de style externe
index.html
styles.css
189
La feuille de style externe
• Avantages :
– Séparation totale de la structure
et de la présentation : possibilité
d’avoir des présentations
alternatives
– Possibilité d’appliquer la même
feuille de style sur plusieurs
pages (donc le site en entier)
sans devoir la dupliquer
– Cohérence de la présentation sur
tout le site et les pages futures.
190
Récapitulatif
! index.html : pour le
contenu
! styles.css : pour la mise
en page / présentation
191
La syntaxe CSS
192
La syntaxe de base
– La propriété est l’effet que l’on va vouloir donner (ex couleur de texte,
positionnement, couleur de fond, etc.)
selecteur {
propriete valeur
propriete:
propriete valeur
propriete:
...
}
197
La déclaration CSS
s
e
l
e
c
t
e
198
u
r
Les commentaires CSS
199
Généalogie et différents
types de sélecteurs
200
Le sélecteur usuel d'élément HTML
p{
color : blue;
}
201
Hiérarchie et généalogie
198
Hiérarchie et généalogie
199
Notion d’enfant et de descendance
200
Notion de parent et d'ancêtre
201
Sélecteur de hiérarchie
! Pour sélectionner le a
descendant de p, nous allons
pouvoir écrire :
pa{…}
(notez l’espace entre le p et le
a)
202
Sélecteur de groupe
203
Les sélecteurs de classe
! class=" " est un attribut qui peut se mettre sur n’importe quelle
balise
204
Les sélecteurs de classe
205
Classes multiples
<p class="remarque
remarque important">
important Une remarque mis en avant </
p>
210
Classes multiples
207
Classes multiples
! Une même classe peut être utilisée sur plusieurs balises dans le
même document
<blockquote class="remarque
remarque "> une remarque citation</
blockquote>
208
Classes multiples
209
Cibler une classe indépendamment de la balise
.nomdeclasse { }
210
Cibler une classe indépendamment de la balise
<blockquote class="remarque">
"> …. </blockquote>
Une même classe peut être utilisée sur plusieurs balises HTML
211
Cibler une balise HTML avec une classe
element.maclasse { }
212
Cibler une balise HTML avec une classe
! Et button.btn.btn-default{ } va cibler
http://getbootstrap.com/css/#buttons
213
L’id (identifiant)
! Il a le même rôle qu’une classe, mais doit être unique sur la page
(donc on va moins l’utiliser)
! Un seul attribut id par balise est possible
! On le note <element id="monid">
! On le cible en CSS avec #monid { }
214
Un joyeux mélange !
215
Espace ou pas ?
220
Espace ou pas ?
217
Convention de nommage
218
En résumé
219
Qui est ciblé ?
div {
...
}
.first {
...
}
p.first {
...
}
220
Qui est ciblé ?
.sugar {
...
}
.sugar p {
...
}
p.sugar {
...
}
221
Qui est ciblé ?
h1 #hautpage {
...
}
h1#hautpage {
...
}
222
Qui est ciblé ?
.first a {
...
}
.first .sugar {
...
}
.important, #toffee {
...
}
223
flukeout.github.io
229
Démonstration de :hover sur du bouton
http://tympanus.net/Development/CreativeButtons/
230
Les autres pseudo-classes
pseudo
! :hover peut être appliqué sur d’autres éléments que des liens (à
partir de IE6).
! On peut écrire p:hover pour créer un effet au survol d’un
paragraphe par exemple
227
Subtle Hover effects
228
:focus sur les liens et inputs
229
Couleurs et unités CSS
230
La synthèse additive des couleurs
231
Les couleurs en CSS
237
http://colours.neilorangepeel.com/
238
Les couleurs en CSS
– background
– border
– …
• Colozilla ou Rainbow
249
Le Pixel - px
• Unité « fixe »
• Dépendance à la résolution du périphérique
• Valeur « compilée » finale en CSS
237
Le cadratin - em
238
Le cadratin - em
239
Conversion d'em
http://pxtoem.com/
244
Le pourcentage : %
245
En web, quelle unité utiliser ?
246
Propriétés de typographie,
polices et puces
247
Font-family
body {
font-family: Arial, Helvetica, sans-
serif;
249
Polices utilisables
259
Police utilisables
251
Polices utilisables
252
Polices utilisables
• http://www.fontsquirrel.com
• Autre outil : https://
everythingfonts.com/font-face
253
Font-size
body {
font-size: 18px;
}
254
Font
Font-size
255
Mettre un
paragraphe en gras
p{
font-weight: bold;
}
256
Font weight
257
Mettre le paragraphe
en italique
p{
font-style: italic;
}
258
Font--style
259
Augmenter
l’interlignage
body {
line-height: 1.5;
}
260
Line-height
height
261
Color
h1 {
color: #008499;
}
262
Color
259
Text--align
260
Text--align
p{ p{
} }
261
Text--align
p{ p{
} }
262
Astuce : centrer une image
263
Text-transform
transform
! uppercase
! lowercase
264
Text-transform
transform
h2 { h2 {
} }
265
Text-transform
transform
h2 { h2 {
} }
270
Font-variant
variant
! normal
! small-caps
267
Font-variant
variant
h2 { h2 {
} }
268
Text-decoration
decoration
! Valeurs possibles :
– none: permet d'empêcher l'héritage de la propriété et plus
particulièrement de supprimer le soulignement par défaut des liens
– overline : surlignement
– underline : soulignement
269
Enlever le soulignement des liens et le remettre au survol
a{ a:hover {
} }
/* enlever le soulignement des liens par défaut */ /* remettre le soulignement pour les liens survolés */
270
Text-indent
indent
271
Indentation de 10px
p{
text-indent: 10 px;
}
276
Listes à puces
• Valeurs possibles
– none (pas de puce), disc, circle, square
273
Listes ordonnées
• Valeurs possibles
– decimal (1.), decimal-leading-zero (01.), lower-roman (vii), upper-roman (VII),
etc.
274
Retirer les puces
ul {
list-style-type: none;
}
279
Utiliser une image comme puce
ul {
list-style-image: url("img/liste.png");
}
276
Utiliser une image comme puce
277
Bordures et arrières plans
278
Les bordures
279
Les bordures
h2 {
border: 2px solid #009860 ;
}
280
Les bordures
border-left: …;
border-right: …;
border-bottom: …;
281
Les bordures
h2 {
border-top: 1px solid gray;
}
282
Style de bordure
! dashed : tirets;
! groove : en relief;
283
Des bords arrondis : CSS3 !
284
Des bords arrondis : CSS3 !
div { div {
285
Background
Background-color
! background-color : valeur permet de donner une couleur de
fond.
! Valeurs : n’importe quelle couleur CSS
! Sur un élément bloc (prend toute la largeur) ou inline (prend la
largeur du contenu)
290
Background
Background-color
body {
background-color: #E6E6E6;
}
287
Background
Background-image
288
Background
Background-image
body {
background-image: url("img/bg.png");
}
289
Background
Background-repeat
! background-repeat permet de définir la façon dont l’image va se
répéter.
290
Background
Background-repeat
! Valeurs possibles :
– no-repeat : l’image ne sera pas répétée
– repeat-x : l’image sera répétée horizontalement
n repeat
repeat-x repeat-y
o
-
295
r
Background-repeat
repeat en pratique
! Quelques exemples
– http://kellianderson.com/blog/
– http://launchfactory.org/
294
Une étoile alignée en
bas à droite
.backgroundposition {
background-color: #A4D0F2;
background-image: url('img/
etoile.png');
background-repeat: no-repeat;
background-position: right bottom;
299
Background
Background-attachment
296
Background
Background-attachment
297
Tout dans une ligne !
Il est possible de combiner toutes ces propriétés dans une seule et même ligne :
background : propriete1 propriete2 propriete3;
h2 {
background:#7AAAAF url("img/etoile.png") no-repeat
no center left;
}
298
Dimensions, margin et
padding
299
Petit rappel inline et block
300
Largeur et hauteur d'un élément : width et height
301
Max et min
! Valeurs : numériques
! Permet par exemple de gérer un débordement d’image :
img { max-width: 100%; } : les images sont limitées à la taille de leur
parent
302
Marges
! Il existe deux types de marges : intérieure appelée padding, et extérieure appelée margin
(s'il y a une bordure elle est elle aussi ajoutée à la largeur effective des éléments)
303
Marge extérieure « margin »
304
Marge extérieure « margin »
305
Ajouter une marge
sous un paragraphe
p{
margin-bottom: 30px;
}
306
Ajouter une marge
sous un titre
h2 {
margin: 50px 0;
}
307
Centrer horizontalement à l’aide de margin
308
Margin et éléments inline
309
Padding : la marge « intérieure »
310
Padding : la marge « intérieure »
311
Ajouter du padding au body
body {
padding: 10px 15px;
}
31
6
Ajouter du padding à
un titre pour décoller la
bordure
h2 {
padding-bottom: 10px
15px;
317
Padding sur élément en inline
314
Retirer les marges et padding par défaut du navigateur
315
Retirer les marges et padding par défaut du navigateur
320
Padding et calcul de dimension d’élément
321
Padding et calcul de dimension d’élément
318
Box-sizing:border-box - changer le modèle de boîte
.element {
box-sizing: border-box;
box;
}
319
Box-sizing:border-box - changer le modèle de boîte
body { Valeur affichée de body :
width: 800px; 800px
padding: 10px 15px;
box-sizing: border-box;
320
Overflow : pour éviter que ça dépasse
321
Overflow: hidden - cacher ce qui dépasse
322
Overflow: auto - afficher une barre de défilement
323
Positionnements CSS
324
Les « flottants » et le flux
325
Float:left
326
Float right;
327
Problème des flottants
328
Clear : bloquer le dépassement des flottants
! Valeurs possibles :
– clear: left permet d’empêcher le contournement des blocs flottants à gauche
– clear: right permet d’empêcher le contournement des blocs flottants à droite
– clear : both permet d’empêcher le contournement des blocs flottants à
gauche et à droite
329
Clear : bloquer le dépassement des flottants
330
Problème des flottants
331
BFC et contenir les flottants dans un bloc
332
BFC et contenir les flottants dans un bloc
333
Overflow : hidden
! Ajouter overflow:hidden au
parent des flottants permet
de créer un « contexte de
formatage de bloc » et
résoudre notre problème
334
Overflow : hidden
.parent {
overflow : hidden;
}
339
Les flottants appliqués à la mise en page
• Il est possible d'utiliser des flottants pour créer une mise en page en
colonnes. C’est notamment utilisé dans d’anciennes versions de
bootstrap et ressemble à ça. On privilégie cependant flexbox
aujourd’hui pour une mise en page de site web.
340
Positionnements CSS
337
La propriété « display » pour mise en page
338
Display:block
! Il est possible de transformer un élément inline en élément de bloc
avec display: block
! Il a alors toutes les propriétés d’un élément de bloc : par défaut, il
prend toute la largeur de son parent, on peut en changer la
dimension ET est suivi d’un retour à la ligne. On peut alors lui
appliquer des marges.
339
Display:block
340
Display:block
Exemple : transformer les liens de la
navigation en éléments de bloc
.header a,
.header li {
display: block;
}
.header a {
background: #98C9E2;
margin-bottom: 5px;
width: 150px;
345
Display:inline
342
Display:inline
343
Display:inline
Display:inline-block
Display inline-block,
block, une valeur trop peu utilisée >>
344
Display:inline-block et
navigation horizontale display: inline-block
inline sur une liste de liens
permet par exemple de créer une
navigation horizontale
.header li {
display: inline-block;
}
.header li a{
display: block;
padding: 5px;
349
Display:inline-block
block et bugs connus
• La propriété crée une colonne blanche entre les éléments. Plus sur
ce problème ici
346
Display:none
347
Positionnement CSS
348
Positionnement CSS
349
Position:static;
350
Position:relative;
351
Position:relative;
position:relative;
top:-15px;
}
352
Position:relative;
.picto {
position: relative;
top:5px;
357
Position:relative;
354
Position: fixed
355
Position :fixed
360
Position :fixed
.nav {
Sortir la navigation du flux
position: fixed;
}
357
Position :fixed
.nav {
La positionner en haut à 0px des 3 coins
position: fixed;
pour qu’elle s’affiche toujours
top: 0;
left: 0;
right: 0;
}
358
Position: fixed dans la vraie vie
– http://www.lesechos.fr/
http://www.marketingmag.stfi.re/hubs-c/smartphone
c/smartphone-addiction-nomophobia/ ?sf=ozpplo
364
Position: absolute;
! Par défaut, si aucun ancêtre n’est positionné (et qu’on a modifié top, left,
right ou bottom) il se positionne par rapport à l'élément racine <html>.
362
Centrer une légende d’image
363
Position: absolute;
364
Position: absolute;
.caption {
Préparer le positionnement de l’image
position: absolute;
bottom: 150px;
left: 0;
right: 0;
}
365
Position: absolute;
370
CSS et mise en page
• Pendant longtemps nous avons utilisé des fottants pour faire des
mises en page. Vous retrouvez encore cette technique sur
beaucoup de sites développés jusqu’il y a encore quelques années.
• Aujourd’hui, la mise en page de sites web moderne se fait avec
deux techniques : flexbox (pour des mises en page fluides) et grid-
layout (plus récent et moins bien supporté mais qui permet de créer
facilement des sites sur des principes de grilles.
367
CSS et mise en page avancée : Flexbox
– https://developer.mozilla.org/fr/docs/Web/CSS/
Disposition_des_bo%C3%AEtes_flexibles_CSS/
Utilisation_des_flexbox_en_CSS
– https://www.alsacreations.com/tuto/lire/1493
.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-
module.html
368
CSS et mise en page avancée : Grid Layout
– https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Grid_Layout
– https://css-tricks.com/snippets/css/complete
tricks.com/snippets/css/complete-guide-grid/
369
Adapter son site au mobile : le responsive webdesign
• http://mediaqueri.es/
370
Rapide aperçu de la syntaxe
display:block;
371
Liens utiles pour aller plus loin
372