SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
17/02/2023
1
Programmation Web
Apprendre à créer des sites web
HTML/CSS/JS/PHP/MySQL
Réalisé Par :
OULAD SAYAD YOUNES
1
C’est Quoi CSS ?
• Les feuilles de styles (en anglais "Cascading Style Sheets",
abrégé CSS) sont un langage qui permet de gérer la
présentation d'une page Web.
• Les styles permettent de définir des règles appliquées à
un ou plusieurs documents HTML.
• Le but de CSS est séparer la structure d'un document
HTML et sa présentation.
• Avec CSS on peut par exemple définir un ensemble de
règles stylistiques communes à toutes les pages d'un
site internet.
• CSS ajoute des fonctionnalités nouvelles par rapport à
HTML au point de vue du style.
2
3
Mettre en place le CSS
On peut écrire du code en langage CSS à trois
endroits différents :
1. dans un fichier « fichier.css » (méthode la plus
recommandée).
2. dans l'en-tête <head> </head> du fichier HTML
3. directement dans les balises du fichier
HTML via un attribut style (méthode la moins
recommandée).
4
17/02/2023
2
Mettre en place le CSS
Dans un fichier .css (recommandé): Nous allons partir du fichier HTML
suivant :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p>Bonjour et bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>. Patientez
encore</p>
</body>
</html>
• Ce fichier HTML est associé à un fichier appelé style.css et chargé de la mise en
forme.
5
Mettre en place le CSS
Créez un nouveau fichier vide dans votre éditeur de texte et saisissez-y
ce bout de code CSS :
Enregistrez le fichier en lui donnant un nom
qui se termine par .css, comme style.css.
Placez ce fichier.css dans le même dossier
que votre fichier .html, comme à la figure
suivante.
p
{
color: blue;
}
6
Mettre en place le CSS
Résultat
7
Mettre en place le CSS
Dans l'en-tête <head> du fichier HTML:
Cela consiste à insérer le code CSS directement dans une balise <style> à l'intérieur de
l'en-tête <head>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
p
{
color: blue;
}
</style>
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p>Bonjour et bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p>
</body>
</html>
8
17/02/2023
3
Mettre en place le CSS
Directement dans les balises (non recommandé)
Dernière méthode, à manipuler avec précaution : vous pouvez ajouter un attribut style à
n'importe quelle balise. Vous insérerez votre code CSS directement dans cet attribut :
Cette fois, seul le texte du premier paragraphe (ligne 11), dont la balise contient le code CSS,
sera coloré en bleu (figure suivante)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p style="color: blue;">Bonjouret bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p>
</body>
</html>
9
Mettre en place le CSS
Résultat
10
Mettre en place le CSS
Essayez de changer le nom de la balise affectée par le code CSS. Par exemple, si j'écris h1,
c'est le titre qui sera écrit en bleu. Modifiez votre fichier style.css comme ceci :
h1
{
color: blue;
}
Appliquer un style à plusieurs balises
h1
{
color: blue;
}
em
{
color: blue;
}
Il signifie que nos titres <h1> et nos
textes importants <em> doivent
s'afficher en bleu.
Si les deux balises doivent avoir la
même présentation. Il suffit de
combiner la déclaration en séparant
les noms des balises par une virgule,
comme ceci :
h1, em
{
color: blue;
}
11
Mettre en place le CSS
Commentaires dans du CSS
Comme en HTML, il est possible de mettre des commentaires. Les commentaires ne
seront pas affichés, ils servent simplement à indiquer des informations pour vous
p
{
color: blue; /* Les paragraphes seront en bleu */
}
12
17/02/2023
4
Mettre en place le CSS
Appliquer un style : class et id
Ce qu’on a montré jusqu'ici a quand même un défaut : cela implique que TOUS les
paragraphes possèdent la même présentation (ici, ils seront donc tous écrits en bleu).
Comment faire pour que certains paragraphes seulement soient écrits d'une manière
différente ?
Pour résoudre le problème, on peut utiliser ces attributs spéciaux qui fonctionnent sur
toutes les balises :
• l'attribut class ;
• l'attribut id.
Pour que les choses soient claires dès le début : les attributs class et id sont quasiment
identiques. Il y a seulement une petite différence.
Class: est un attribut que l'on peut mettre sur n'importe quelle balise, aussi bien titre que
paragraphe, image, etc.
Id: il fonctionne exactement de la même manière que class, à un détail près : il ne peut
être utilisé qu'une fois dans le code.
<h1 class=""> </h1>
<img id="" />
13
Mettre en place le CSS
Appliquer un style : class et id
En fait, vous devez écrire un nom qui sert à identifier la balise.
Par exemple, je vais associer la classe introduction à mon premier paragraphe:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p class="introduction">Bonjour et bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p>
</body>
</html> 14
Mettre en place le CSS
Appliquer un style : class et id
Pour faire cela en CSS, indiquez le nom de votre classe en commençant par un point,
comme ci-dessous :
Id : Nous avons déjà vu l'attribut id dans le chapitre sur les liens (pour réaliser des
ancres). En pratique, nous ne mettrons des id que sur des éléments qui sont uniques dans
la page, comme par exemple le logo :
<img src="images/logo.png" alt="Logo du site" id="logo" />
Si vous utilisez des id, lorsque vous définirez leurs propriétés dans le fichier CSS, il faudra
faire précéder le nom de l'id par un dièse (#) :
#logo
{
/* Indiquez les propriétés CSS ici */
}
.introduction
{
color: blue;
}
15
Mettre en place le CSS
Les balises universelles
• <span> </span> : c'est une balise de type inline, c'est-à-dire une balise que l'on place au
sein d'un paragraphe de texte, pour sélectionner certains mots uniquement.
• <div> </div> : c'est une balise de type block, qui entoure un bloc de texte. Les
balises <p>, <h1>, etc. sont de la même famille. Ces balises ont quelque chose en
commun : elles créent un nouveau « bloc » dans la page et provoquent donc
obligatoirement un retour à la ligne. <div> est une balise fréquemment utilisée dans la
construction d'un design, comme nous le verrons plus tard.
Pour le moment donc, nous allons utiliser plutôt la balise <span>
Fichier.html:
<p>
Bonjour et <span class="salutations">bienvenue</span> sur mon site
!</p>
Style.css:
.salutations
{
color: blue;
}
16
17/02/2023
5
Mettre en place le CSS
Vous pouvez voir le résultat à la figure suivante.
17
Mettre en place le CSS
Les sélecteurs avancés:
En CSS, le plus difficile est de savoir cibler le texte dont on veut changer la forme. Pour cibler (on dit «
sélectionner ») les éléments de la page à modifier, on utilise ce qu'on appelle des sélecteurs.
Ces sélecteurs, que nous avons vus précédemment, sont de loin les plus couramment utilisés:
p
{
}
H1,em
{
}
.class
{
}
#id
{
}
signifie « Je veux toucher tous les paragraphes
signifie « Tous les titres et tous les textes importants »
Et enfin, nous avons vu comment sélectionner des balises précises à qui nous
avons donné un nom grâce aux attributs class et id :
18
Mettre en place le CSS
Les sélecteurs avancés:
*
{
}
H3 em
{
}
h3 + p
{
}
a[title]
{
}
Sélectionne toutes les balises sans exception. On l'appelle le sélecteur universel.
Sélectionne toutes les balises <em> situées à l'intérieur d'une balise <h3>
Exemple: <h3>Titre avec <em>texte important</em></h3>
Sélectionne la première balise <p> située après un titre <h3>
<h3>Titre</h3>
<p>Paragraphe</p>
Sélectionne tous les liens <a> qui possèdent un attribut title
Exemple: <a href="http://site.com" title="Infobulle">
19
20
01:42:01
Progr
amm
ation
Web
2012
-
2013
Exemples de propriétés
color : blue ;
font-size : 12pt ;
font-family : calibri;
font-weight : bold ;
text-align : right;
float : left;
text-decoration : underline;
font-style : italic;
background-color : black;
background-image : url("neige.png");
background-attachment : fixed;
opacity : 0.6;
17/02/2023
6
LES BORDURES ET LES OMBRES
• Le CSS vous offre un large choix de bordures pour décorer
votre page. De nombreuses propriétés CSS vous permettent
de modifier l'apparence de vos bordures : border
• Pour border on peut utiliser jusqu'à trois valeurs pour
modifier l'apparence de la bordure :
• La largeur : indiquez la largeur de votre bordure. Mettez
une valeur en pixels (comme 2px).
• La couleur : c'est la couleur de votre bordure. Utilisez,
comme on l'a appris, soit un nom de couleur
(black, red,…), soit une valeur hexadécimale (#FF0000), soit
une valeur RGB (rgb(198, 212, 37)).
21
LES BORDURES ET LES OMBRES
• Le type de bordure : là, vous avez le choix. Votre bordure
peut être un simple trait, ou des pointillés, ou encore des
tirets, etc. Voici les différentes valeurs disponibles :
22
LES BORDURES ET LES OMBRES
23
p { Border : 3px blue dashed; }
LES BORDURES ET LES OMBRES
• Si on veut que les bordures des quartes cotés soient
différentes on utilise des propriétés supplémentaires :
• border-top : bordure du haut ;
• border-bottom : bordure du bas ;
• border-left : bordure de gauche ;
• border-right : bordure de droite.
24
P
{
border-left: 2px solid red;
border-right: 4px dotted green;
}
17/02/2023
7
Bordures arrondies
• La propriété border-radius va nous permettre d'arrondir
facilement les angles de n'importe quel élément. Il suffit
d'indiquer la taille (« l'importance ») de l'arrondi en pixels :
25
P
{
border-radius: 10px;
}
Les ombres
• Les ombres font partie des nouveautés récentes proposées
par CSS3. Aujourd'hui, il suffit d'une seule ligne de CSS pour
ajouter des ombres dans une page
• les ombres des boîtes : box-shadow
• le décalage horizontal de l'ombre ;
• le décalage vertical de l'ombre ;
• l'adoucissement du dégradé ;
• la couleur de l'ombre.
box-shadow: 6px 6px 0px black;
26
Les ombres
• text-shadow : l'ombre du texte
• Avec text-shadow, vous pouvez ajouter une ombre
directement sur les lettres de votre texte ! Les valeurs
fonctionnent exactement de la même façon que box-shadow :
décalage, adoucissement et couleur
p
{
text-shadow: 2px 2px 4px black;
}
27
Exercice :
28
17/02/2023
8
Création D'apparences Dynamiques
• le CSS nous permet aussi de modifier l'apparence des
éléments de façon dynamique, c'est-à-dire que des éléments
peuvent changer de forme une fois que la page a été chargée.
• Nous allons faire appel à une fonctionnalité du CSS : les
pseudo-formats.
• Nous verrons dans ce chapitre comment changer l'apparence :
• au survol ;
• lors du clic ;
• lorsqu'un lien a été consulté.
29
Création D'apparences Dynamiques
1. Au survol
• :hover Comme tous les autres pseudo-formats
que nous allons voir, c'est une information que
l'on rajoute après le nom de la balise (ou de la
classe) dans le CSS, comme ceci :
a:hover
{
color: red;
font-style: italic;
} 30
Création D'apparences Dynamiques
2. Au clic
• nous pouvons changer l'apparence des éléments
lorsque l'on clique dessus
• :active : au moment du clic
• Le pseudo-format :active permet d'appliquer un style
particulier au moment du clic. En pratique, il n'est
utilisé que sur les liens.
a:active
{
background-color: #FFCC66;
} 31
Création D'apparences Dynamiques
3. Lorsque le lien a déjà été consulté
• Il est possible d'appliquer un style à un lien vers une
page qui a déjà été vue. Par défaut, le navigateur
colore le lien en un violet
a:visited
{
color: green;
}
32
17/02/2023
9
Exercice
<a href="#aa"> Google </a> <br>
<a href="#bb"> FaceBook </a> <br>
<a href="#cc"> Twitter </a> <br>
Etat Normale:
couleur : jaune, non souligné, taille 30px
Au survole : a:hover
couleur : rouge, italic, gras, souligné, taille 40px
Lors du clique : a:active
couleur: vert taille 50px
Visité: a:visited
couleur: gris taille 20px 33
Les marges
• Il faut savoir que tous les blocs possèdent des marges. Il
existe deux types de marges :
• les marges intérieures ;
• les marges extérieures.
34
Les marges
• En CSS, on peut modifier la taille des marges avec les
deux propriétés suivantes :
• padding : indique la taille de la marge intérieure. À
exprimer en général en pixels (px).
• margin : indique la taille de la marge extérieure. Là
encore, on utilise le plus souvent des pixels.
35
Les marges
P
{
width: 350px;
border: 1px solid black;
text-align: justify;
padding: 12px;
}
36
17/02/2023
10
Les marges
• Pour rendre les paragraphes soient plus espacés entre eux. Je
rajoute la propriété margin pour demander à ce qu'il y ait 50
px de marge entre deux paragraphes :
p
{
width: 350px;
border: 1px solid black;
text-align: justify;
padding: 12px;
margin: 50px;
}
37
Les marges
• Si on veut spécifier des marges différentes en haut, en bas, à
gauche et à droite, il va falloir utiliser des propriétés plus
précises… Le principe est le même que pour la
propriété border.
• Marges externes :
• margin-top : marge extérieure en haut ;
• margin-bottom : marge extérieure en bas ;
• margin-left : marge extérieure à gauche ;
• margin-right : marge extérieure à droite
• Marges internes :
• padding-top : marge intérieure en haut ;
• padding-bottom : marge intérieure en bas ;
• padding-left : marge intérieure à gauche ;
• padding-right : marge intérieure à droite.
38
La Gestion des blocks
• Lorsqu'on commence à définir des dimensions précises pour
nos blocs, comme on vient de le faire, il arrive qu'ils
deviennent trop petits pour le texte qu'ils contiennent.
• overflow : couper un bloc
39
p{
width: 250px;
height: 110px;
text-align: justify;
border: 1px solid black;
}
La Gestion des blocks
• visible (par défaut) : si le texte dépasse les limites de taille, il
reste visible et sort volontairement du bloc.
• hidden : si le texte dépasse les limites, il sera tout simplement
coupé. On ne pourra pas voir tout le texte.
• scroll : là encore, le texte sera coupé s'il dépasse les limites.
Sauf que cette fois, le navigateur mettra en place des barres
de défilement pour qu'on puisse lire l'ensemble du texte. C'est
un peu comme un cadre à l'intérieur de la page.
• auto : c'est le mode « pilote automatique ». En gros, c'est le
navigateur qui décide de mettre ou non des barres de
défilement (il n'en mettra que si c'est nécessaire). C'est la
valeur que je conseille d'utiliser le plus souvent.
40
17/02/2023
11
La Gestion des blocks
41
overflow: scroll;
overflow: hidden;
Le Positionnement
42
Le Positionnement
43
Le Positionnement
44
17/02/2023
12
Le Positionnement
45
• Le positionnement flottant
Le Positionnement
46
• Le positionnement flottant
<nav>
<h2> Menu </h2>
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">CV</a></li>
</ul>
</nav>
<section>
<aside>
<h1>À propos de l'auteur</h1>
<p>Je m'appelle younes je suis née a marrakech</p>
</aside>
<article>
<h1>Je suis un doctorant et enseignant d'informatique</h1>
<p>Bla bla bla bla (texte de l'article)</p>
</article>
</section>
Le Positionnement
47
• Le positionnement flottant
Le Positionnement
48
• Le positionnement flottant
nav
{
border: 1px solid black;
float: left;
}
section
{
border: 1px solid blue;
}
• Il y a deux défauts (mis à part le fait que c'est encore bien moche) :
 Le texte du corps de la page touche la bordure du menu. Il manque une
petite marge…
 Plus embêtant encore : la suite du texte passe… sous le menu !
17/02/2023
13
Le Positionnement
49
• Le positionnement flottant
nav
{
border: 1px solid black;
float: left;
width: 150px;
}
section
{
border: 1px solid blue;
margin-left: 170px;
}
• Pour résoudre ces 2 problèmes, il faut ajouter une marge extérieure à gauche de
notre « margin-left » <section>, marge qui doit être par ailleurs supérieure à la
largeur du menu. Si notre menu fait 150 px, nous allons par exemple donner une
marge extérieure gauche de 170 px à notre section de page
Le Positionnement
50
• Le positionnement flottant
nav
{
border: 1px solid black;
float: left;
width: 150px;
margin-bottom: 20px;
}
section
{
border: 1px solid blue;
clear: both;
width:500px;
}
• Si on veut qu’un élément se place obligatoirement sous le menu. il faudra
utiliser l’option clear: both;
• Cette option qui oblige la suite du texte à se positionner sous l'élément flottant.
Transformation d’éléments
51
• Le propriété Display
• Il existe en CSS une propriété nommée : display. Elle est capable
de transformer n'importe quel élément de votre page d'un type vers un autre.
• Avec cette propriété, je peux par exemple imposer à mes liens (originellement
de type inline) d'apparaître sous forme de blocs :
a
{
display: block;
}
• À ce moment-là, les liens vont se positionner les uns en-dessous des autres
(comme des blocs normaux) et il devient possible de modifier leurs dimensions !
Transformation d’éléments
52
• Le propriété Display
17/02/2023
14
Transformation d’éléments
53
• Le propriété Display
• On peut donc décider de masquer complètement un élément de la
page avec cette propriété. Par exemple, si je veux masquer les
éléments qui ont la classe « secret », je vais écrire :
.secret
{
display: none;
}
• Pour faire apparaître ces éléments par la suite, vous devrez
faire appel à JavaScript.
• Certains sites web utilisent cette technique pour, par défaut,
masquer les sous-menus qui ne s'affichent que lorsqu'on
parcourt les menus.
Transformation d’éléments
54
• Le propriété Display
• C’est quoi inline-block ?
• ce type d'élément est en fait une combinaison des
inlines et des blocs. C'est un peu le meilleur des deux
mondes : les éléments s'affichent côte à côte et
peuvent être redimensionnés.
• avec la propriété display, nous allons pouvoir
transformer d'autres balises en inline-block, ce qui va
nous aider à réaliser notre design.
Transformation d’éléments
55
• Le propriété Display
Le positionnement inline-block
• les éléments de type inline-block :
 Ils se positionnent les uns à côté des autres
(exactement ce qu'on veut pour placer notre menu et
le corps de notre page !).
 On peut leur donner des dimensions précises (là
encore, exactement ce qu'on veut !).
Transformation d’éléments
56
• Le propriété Display
Le positionnement inline-block
nav
{
border: 1px solid black;
display: inline-block;
width: 150px;
}
section
{
border: 1px solid blue;
display: inline-block;
width:500px;
}
• Nous allons transformer en
inline-block les deux
éléments que nous voulons
placer côte à côte :
• le menu de navigation et la
section du centre de la
page.
17/02/2023
15
Transformation d’éléments
57
• Le propriété Display
Le positionnement vertical-align
• le fait d'avoir transformé les éléments en inline-block nous
permet d'utiliser une nouvelle propriété, normalement
réservée aux tableaux : vertical-align.
• Cette propriété permet de modifier l'alignement vertical
des éléments. Voici quelques-unes des valeurs possibles
pour cette propriété :
 baseline : aligne de la base de l'élément avec celle de
l'élément parent (par défaut) ;
 top : aligne en haut ;
 middle : centre verticalement ;
 bottom : aligne en bas ;
Transformation d’éléments
58
• Le propriété Display
 Le positionnement inline-block
nav
{
border: 1px solid black;
display: inline-block;
width: 150px;
vertical-align: top;
}
section
{
border: 1px solid blue;
display: inline-block;
width:500px;
vertical-align: top;
}
Transformation d’éléments
59
Les positionnements absolu, fixe et relatif
 Il existe d'autres techniques un peu particulières
permettant de positionner avec précision des éléments
sur la page :
• Le positionnement absolu : il nous permet de placer
un élément n'importe où sur la page (en haut à
gauche, en bas à droite, tout au centre, etc.).
• Le positionnement fixe : identique au positionnement
absolu mais, cette fois, l'élément reste toujours visible,
même si on descend plus bas dans la page.
• Le positionnement relatif : permet de décaler
l'élément par rapport à sa position normale.
Transformation d’éléments
60
Les positionnements absolu, fixe et relatif
• Il faut d'abord faire un choix entre les trois modes de
positionnement disponibles. Pour cela, on utilise la
propriété CSS position à laquelle on donne une de ces
valeurs :
 absolute : positionnement absolu ;
 fixed : positionnement fixe ;
 relative : positionnement relatif.
17/02/2023
16
Transformation d’éléments
61
Le positionnement absolu
• le positionnement absolu permet de placer un
élément (réellement) n'importe où sur la page.
Pour effectuer un positionnement absolu, on
doit écrire :
element
{
position: absolute;
}
• Mais cela ne suffit pas ! On veut un positionnement absolu, mais
encore faut-il dire où l'on veut que le bloc soit positionné sur la
page.
Transformation d’éléments
62
Le positionnement absolu
• Pour ce faire, on va utiliser quatre propriétés CSS :
•left : position par rapport à la gauche de la page ;
•right : position par rapport à la droite de la page ;
•top : position par rapport au haut de la page ;
•bottom : position par rapport au bas de la page.
Transformation d’éléments
63
Le positionnement absolu
position: absolute;
top:10px;
left:10px;
Transformation d’éléments
64
Le positionnement absolu
position: absolute;
top: 10px;
right: 10px;
17/02/2023
17
Transformation d’éléments
65
Le positionnement absolu
position: absolute;
bottom: 10px;
left: 10px;
Transformation d’éléments
66
Le positionnement absolu
position: absolute;
bottom: 10px;
right: 10px;
Transformation d’éléments
67
Le positionnement absolu
• la propriété z-index
• Les éléments positionnés en absolu sont placés par-dessus le
reste des éléments de la page.
• si on veut placer 2 ou n éléments en absolu vers le même
endroit, ils risquent de se chevaucher.
• Dans ce cas, utilisez la propriété z-index pour indiquer quel
élément doit apparaître au-dessus des autres.
#un
{
position: absolute;
top: 10px;
left: 10px;
}
#deux
{
position: absolute;
top: 30px;
left: 120px;
}
#trois
{
position: absolute;
top: 110px;
left: 40px;
}
Transformation d’éléments
68
Le positionnement absolu
• la propriété z-index
#un
{
position: absolute;
top: 10px;
left: 10px;
z-index: 1;
}
#deux
{
position: absolute;
top: 30px;
left: 120px;
z-index: 2;
}
#trois
{
position: absolute;
top: 110px;
left: 40px;
z-index: 3;
}
3
2
1
17/02/2023
18
Transformation d’éléments
69
Le positionnement fixe
• Le principe est exactement le même que pour le
positionnement absolu sauf que, cette fois, le bloc
reste fixe à sa position, même si on descend plus bas
dans la page.
#un
{
position: absolute;
bottom: 10px;
left: 10px;
}
Transformation d’éléments
70
Le positionnement fixe
#un
{
position: absolute;
bottom: 10px;
left: 10px;
}
#un
{
position: fixed;
bottom: 10px;
left: 10px;
}
Transformation d’éléments
71
Le positionnement relatif
• le positionnement relatif permet d'effectuer des «
ajustements » :
• l'élément est décalé par rapport à sa position initiale.
• si vous faites un position: relative; et que vous appliquez une
des propriétés top, left, right ou bottom, l’image va se
déplacer par rapport à la position où il se trouve.
Transformation d’éléments
72
Le positionnement relatif
#un
{
position: relative;
left: 50px;
}
50px
17/02/2023
19
Transformation d’éléments
73
Le positionnement relatif
#un
{
position: relative;
left: 50px;
top:100 px;
}
#un
{
position: relative;
left: 50px;
top:100 px;
}
50px
100px
Transformation d’éléments
74
Exercices :
Transformation d’éléments
75
Exercices :
Transformation d’éléments
76
Exercices :

Contenu connexe

Similaire à cours Cascading style sheet developpement web

Programmation web1partie3
Programmation web1partie3Programmation web1partie3
Programmation web1partie3Annabi Gihed
 
Chapitre 3 : initiation CSS
Chapitre 3 : initiation CSSChapitre 3 : initiation CSS
Chapitre 3 : initiation CSSManel Ben Sassi
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web SémantiqueYounesOuladSayad1
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf4gnzggpfdw
 
IPW Course 3 CSS
IPW Course 3 CSSIPW Course 3 CSS
IPW Course 3 CSSVlad Posea
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.lessVISEO
 
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6Abdessattar Ettaieb
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptRihabBENLAMINE
 
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfCSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfadeljaouadi
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves Van Goethem
 

Similaire à cours Cascading style sheet developpement web (20)

Programmation web1partie3
Programmation web1partie3Programmation web1partie3
Programmation web1partie3
 
Chapitre 3 : initiation CSS
Chapitre 3 : initiation CSSChapitre 3 : initiation CSS
Chapitre 3 : initiation CSS
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantique
 
cours2-css.pdf
cours2-css.pdfcours2-css.pdf
cours2-css.pdf
 
Developpement Web.pptx
Developpement Web.pptxDeveloppement Web.pptx
Developpement Web.pptx
 
CSS
CSSCSS
CSS
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf
 
BDW-ProgWEB_P2.pdf
BDW-ProgWEB_P2.pdfBDW-ProgWEB_P2.pdf
BDW-ProgWEB_P2.pdf
 
IPW Course 3 CSS
IPW Course 3 CSSIPW Course 3 CSS
IPW Course 3 CSS
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.less
 
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6
Cours Introduction a la programmation Web ISI Ettaieb Abdessattar Chapitre 6
 
Langage CSS
Langage CSSLangage CSS
Langage CSS
 
Programmation web
Programmation webProgrammation web
Programmation web
 
SASS
SASSSASS
SASS
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.ppt
 
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfCSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
les balises HTML5.pdf
les balises HTML5.pdfles balises HTML5.pdf
les balises HTML5.pdf
 
Les base du Html5
Les base du Html5Les base du Html5
Les base du Html5
 
HTML5 & CSS3 : Jeux
HTML5 & CSS3 : Jeux HTML5 & CSS3 : Jeux
HTML5 & CSS3 : Jeux
 

Plus de YounesOuladSayad1

CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfYounesOuladSayad1
 
Machine Learning Support Vector Machines.pdf
Machine Learning Support Vector Machines.pdfMachine Learning Support Vector Machines.pdf
Machine Learning Support Vector Machines.pdfYounesOuladSayad1
 
les systemes d'exploitation la gestion des entrés sorties
les systemes d'exploitation la gestion des entrés sortiesles systemes d'exploitation la gestion des entrés sorties
les systemes d'exploitation la gestion des entrés sortiesYounesOuladSayad1
 
CHAPITRE 1 systeme d'exploitation environnement
CHAPITRE 1 systeme d'exploitation environnementCHAPITRE 1 systeme d'exploitation environnement
CHAPITRE 1 systeme d'exploitation environnementYounesOuladSayad1
 
chapitre 0 systemes d'exploitation sommaire
chapitre 0 systemes d'exploitation sommairechapitre 0 systemes d'exploitation sommaire
chapitre 0 systemes d'exploitation sommaireYounesOuladSayad1
 
initiation_a_access microsoft office access
initiation_a_access microsoft office accessinitiation_a_access microsoft office access
initiation_a_access microsoft office accessYounesOuladSayad1
 
PJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfPJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfYounesOuladSayad1
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024YounesOuladSayad1
 
cours web developpement statique AJAX 2024
cours web developpement statique AJAX  2024cours web developpement statique AJAX  2024
cours web developpement statique AJAX 2024YounesOuladSayad1
 
Gestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfGestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfYounesOuladSayad1
 
cours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accesscours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accessYounesOuladSayad1
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortYounesOuladSayad1
 
cours mysql machine learning SQL MYSQL 2024
cours mysql machine learning SQL MYSQL 2024cours mysql machine learning SQL MYSQL 2024
cours mysql machine learning SQL MYSQL 2024YounesOuladSayad1
 
javascript web developpement framework web
javascript web developpement framework webjavascript web developpement framework web
javascript web developpement framework webYounesOuladSayad1
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 

Plus de YounesOuladSayad1 (16)

CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdfCHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
 
Machine Learning Support Vector Machines.pdf
Machine Learning Support Vector Machines.pdfMachine Learning Support Vector Machines.pdf
Machine Learning Support Vector Machines.pdf
 
les systemes d'exploitation la gestion des entrés sorties
les systemes d'exploitation la gestion des entrés sortiesles systemes d'exploitation la gestion des entrés sorties
les systemes d'exploitation la gestion des entrés sorties
 
CHAPITRE 1 systeme d'exploitation environnement
CHAPITRE 1 systeme d'exploitation environnementCHAPITRE 1 systeme d'exploitation environnement
CHAPITRE 1 systeme d'exploitation environnement
 
chapitre 0 systemes d'exploitation sommaire
chapitre 0 systemes d'exploitation sommairechapitre 0 systemes d'exploitation sommaire
chapitre 0 systemes d'exploitation sommaire
 
initiation_a_access microsoft office access
initiation_a_access microsoft office accessinitiation_a_access microsoft office access
initiation_a_access microsoft office access
 
PJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfPJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdf
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
cours web developpement statique AJAX 2024
cours web developpement statique AJAX  2024cours web developpement statique AJAX  2024
cours web developpement statique AJAX 2024
 
Gestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfGestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdf
 
cours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accesscours les formulaires 2 microsoft access
cours les formulaires 2 microsoft access
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sort
 
cours mysql machine learning SQL MYSQL 2024
cours mysql machine learning SQL MYSQL 2024cours mysql machine learning SQL MYSQL 2024
cours mysql machine learning SQL MYSQL 2024
 
javascript web developpement framework web
javascript web developpement framework webjavascript web developpement framework web
javascript web developpement framework web
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 

Dernier

GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 

Dernier (20)

GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 

cours Cascading style sheet developpement web

  • 1. 17/02/2023 1 Programmation Web Apprendre à créer des sites web HTML/CSS/JS/PHP/MySQL Réalisé Par : OULAD SAYAD YOUNES 1 C’est Quoi CSS ? • Les feuilles de styles (en anglais "Cascading Style Sheets", abrégé CSS) sont un langage qui permet de gérer la présentation d'une page Web. • Les styles permettent de définir des règles appliquées à un ou plusieurs documents HTML. • Le but de CSS est séparer la structure d'un document HTML et sa présentation. • Avec CSS on peut par exemple définir un ensemble de règles stylistiques communes à toutes les pages d'un site internet. • CSS ajoute des fonctionnalités nouvelles par rapport à HTML au point de vue du style. 2 3 Mettre en place le CSS On peut écrire du code en langage CSS à trois endroits différents : 1. dans un fichier « fichier.css » (méthode la plus recommandée). 2. dans l'en-tête <head> </head> du fichier HTML 3. directement dans les balises du fichier HTML via un attribut style (méthode la moins recommandée). 4
  • 2. 17/02/2023 2 Mettre en place le CSS Dans un fichier .css (recommandé): Nous allons partir du fichier HTML suivant : <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style.css" /> <title>Premiers tests du CSS</title> </head> <body> <h1>Mon super site</h1> <p>Bonjour et bienvenue sur mon site !</p> <p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore</p> </body> </html> • Ce fichier HTML est associé à un fichier appelé style.css et chargé de la mise en forme. 5 Mettre en place le CSS Créez un nouveau fichier vide dans votre éditeur de texte et saisissez-y ce bout de code CSS : Enregistrez le fichier en lui donnant un nom qui se termine par .css, comme style.css. Placez ce fichier.css dans le même dossier que votre fichier .html, comme à la figure suivante. p { color: blue; } 6 Mettre en place le CSS Résultat 7 Mettre en place le CSS Dans l'en-tête <head> du fichier HTML: Cela consiste à insérer le code CSS directement dans une balise <style> à l'intérieur de l'en-tête <head> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> p { color: blue; } </style> <title>Premiers tests du CSS</title> </head> <body> <h1>Mon super site</h1> <p>Bonjour et bienvenue sur mon site !</p> <p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p> </body> </html> 8
  • 3. 17/02/2023 3 Mettre en place le CSS Directement dans les balises (non recommandé) Dernière méthode, à manipuler avec précaution : vous pouvez ajouter un attribut style à n'importe quelle balise. Vous insérerez votre code CSS directement dans cet attribut : Cette fois, seul le texte du premier paragraphe (ligne 11), dont la balise contient le code CSS, sera coloré en bleu (figure suivante) <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Premiers tests du CSS</title> </head> <body> <h1>Mon super site</h1> <p style="color: blue;">Bonjouret bienvenue sur mon site !</p> <p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p> </body> </html> 9 Mettre en place le CSS Résultat 10 Mettre en place le CSS Essayez de changer le nom de la balise affectée par le code CSS. Par exemple, si j'écris h1, c'est le titre qui sera écrit en bleu. Modifiez votre fichier style.css comme ceci : h1 { color: blue; } Appliquer un style à plusieurs balises h1 { color: blue; } em { color: blue; } Il signifie que nos titres <h1> et nos textes importants <em> doivent s'afficher en bleu. Si les deux balises doivent avoir la même présentation. Il suffit de combiner la déclaration en séparant les noms des balises par une virgule, comme ceci : h1, em { color: blue; } 11 Mettre en place le CSS Commentaires dans du CSS Comme en HTML, il est possible de mettre des commentaires. Les commentaires ne seront pas affichés, ils servent simplement à indiquer des informations pour vous p { color: blue; /* Les paragraphes seront en bleu */ } 12
  • 4. 17/02/2023 4 Mettre en place le CSS Appliquer un style : class et id Ce qu’on a montré jusqu'ici a quand même un défaut : cela implique que TOUS les paragraphes possèdent la même présentation (ici, ils seront donc tous écrits en bleu). Comment faire pour que certains paragraphes seulement soient écrits d'une manière différente ? Pour résoudre le problème, on peut utiliser ces attributs spéciaux qui fonctionnent sur toutes les balises : • l'attribut class ; • l'attribut id. Pour que les choses soient claires dès le début : les attributs class et id sont quasiment identiques. Il y a seulement une petite différence. Class: est un attribut que l'on peut mettre sur n'importe quelle balise, aussi bien titre que paragraphe, image, etc. Id: il fonctionne exactement de la même manière que class, à un détail près : il ne peut être utilisé qu'une fois dans le code. <h1 class=""> </h1> <img id="" /> 13 Mettre en place le CSS Appliquer un style : class et id En fait, vous devez écrire un nom qui sert à identifier la balise. Par exemple, je vais associer la classe introduction à mon premier paragraphe: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style.css" /> <title>Premiers tests du CSS</title> </head> <body> <h1>Mon super site</h1> <p class="introduction">Bonjour et bienvenue sur mon site !</p> <p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p> </body> </html> 14 Mettre en place le CSS Appliquer un style : class et id Pour faire cela en CSS, indiquez le nom de votre classe en commençant par un point, comme ci-dessous : Id : Nous avons déjà vu l'attribut id dans le chapitre sur les liens (pour réaliser des ancres). En pratique, nous ne mettrons des id que sur des éléments qui sont uniques dans la page, comme par exemple le logo : <img src="images/logo.png" alt="Logo du site" id="logo" /> Si vous utilisez des id, lorsque vous définirez leurs propriétés dans le fichier CSS, il faudra faire précéder le nom de l'id par un dièse (#) : #logo { /* Indiquez les propriétés CSS ici */ } .introduction { color: blue; } 15 Mettre en place le CSS Les balises universelles • <span> </span> : c'est une balise de type inline, c'est-à-dire une balise que l'on place au sein d'un paragraphe de texte, pour sélectionner certains mots uniquement. • <div> </div> : c'est une balise de type block, qui entoure un bloc de texte. Les balises <p>, <h1>, etc. sont de la même famille. Ces balises ont quelque chose en commun : elles créent un nouveau « bloc » dans la page et provoquent donc obligatoirement un retour à la ligne. <div> est une balise fréquemment utilisée dans la construction d'un design, comme nous le verrons plus tard. Pour le moment donc, nous allons utiliser plutôt la balise <span> Fichier.html: <p> Bonjour et <span class="salutations">bienvenue</span> sur mon site !</p> Style.css: .salutations { color: blue; } 16
  • 5. 17/02/2023 5 Mettre en place le CSS Vous pouvez voir le résultat à la figure suivante. 17 Mettre en place le CSS Les sélecteurs avancés: En CSS, le plus difficile est de savoir cibler le texte dont on veut changer la forme. Pour cibler (on dit « sélectionner ») les éléments de la page à modifier, on utilise ce qu'on appelle des sélecteurs. Ces sélecteurs, que nous avons vus précédemment, sont de loin les plus couramment utilisés: p { } H1,em { } .class { } #id { } signifie « Je veux toucher tous les paragraphes signifie « Tous les titres et tous les textes importants » Et enfin, nous avons vu comment sélectionner des balises précises à qui nous avons donné un nom grâce aux attributs class et id : 18 Mettre en place le CSS Les sélecteurs avancés: * { } H3 em { } h3 + p { } a[title] { } Sélectionne toutes les balises sans exception. On l'appelle le sélecteur universel. Sélectionne toutes les balises <em> situées à l'intérieur d'une balise <h3> Exemple: <h3>Titre avec <em>texte important</em></h3> Sélectionne la première balise <p> située après un titre <h3> <h3>Titre</h3> <p>Paragraphe</p> Sélectionne tous les liens <a> qui possèdent un attribut title Exemple: <a href="http://site.com" title="Infobulle"> 19 20 01:42:01 Progr amm ation Web 2012 - 2013 Exemples de propriétés color : blue ; font-size : 12pt ; font-family : calibri; font-weight : bold ; text-align : right; float : left; text-decoration : underline; font-style : italic; background-color : black; background-image : url("neige.png"); background-attachment : fixed; opacity : 0.6;
  • 6. 17/02/2023 6 LES BORDURES ET LES OMBRES • Le CSS vous offre un large choix de bordures pour décorer votre page. De nombreuses propriétés CSS vous permettent de modifier l'apparence de vos bordures : border • Pour border on peut utiliser jusqu'à trois valeurs pour modifier l'apparence de la bordure : • La largeur : indiquez la largeur de votre bordure. Mettez une valeur en pixels (comme 2px). • La couleur : c'est la couleur de votre bordure. Utilisez, comme on l'a appris, soit un nom de couleur (black, red,…), soit une valeur hexadécimale (#FF0000), soit une valeur RGB (rgb(198, 212, 37)). 21 LES BORDURES ET LES OMBRES • Le type de bordure : là, vous avez le choix. Votre bordure peut être un simple trait, ou des pointillés, ou encore des tirets, etc. Voici les différentes valeurs disponibles : 22 LES BORDURES ET LES OMBRES 23 p { Border : 3px blue dashed; } LES BORDURES ET LES OMBRES • Si on veut que les bordures des quartes cotés soient différentes on utilise des propriétés supplémentaires : • border-top : bordure du haut ; • border-bottom : bordure du bas ; • border-left : bordure de gauche ; • border-right : bordure de droite. 24 P { border-left: 2px solid red; border-right: 4px dotted green; }
  • 7. 17/02/2023 7 Bordures arrondies • La propriété border-radius va nous permettre d'arrondir facilement les angles de n'importe quel élément. Il suffit d'indiquer la taille (« l'importance ») de l'arrondi en pixels : 25 P { border-radius: 10px; } Les ombres • Les ombres font partie des nouveautés récentes proposées par CSS3. Aujourd'hui, il suffit d'une seule ligne de CSS pour ajouter des ombres dans une page • les ombres des boîtes : box-shadow • le décalage horizontal de l'ombre ; • le décalage vertical de l'ombre ; • l'adoucissement du dégradé ; • la couleur de l'ombre. box-shadow: 6px 6px 0px black; 26 Les ombres • text-shadow : l'ombre du texte • Avec text-shadow, vous pouvez ajouter une ombre directement sur les lettres de votre texte ! Les valeurs fonctionnent exactement de la même façon que box-shadow : décalage, adoucissement et couleur p { text-shadow: 2px 2px 4px black; } 27 Exercice : 28
  • 8. 17/02/2023 8 Création D'apparences Dynamiques • le CSS nous permet aussi de modifier l'apparence des éléments de façon dynamique, c'est-à-dire que des éléments peuvent changer de forme une fois que la page a été chargée. • Nous allons faire appel à une fonctionnalité du CSS : les pseudo-formats. • Nous verrons dans ce chapitre comment changer l'apparence : • au survol ; • lors du clic ; • lorsqu'un lien a été consulté. 29 Création D'apparences Dynamiques 1. Au survol • :hover Comme tous les autres pseudo-formats que nous allons voir, c'est une information que l'on rajoute après le nom de la balise (ou de la classe) dans le CSS, comme ceci : a:hover { color: red; font-style: italic; } 30 Création D'apparences Dynamiques 2. Au clic • nous pouvons changer l'apparence des éléments lorsque l'on clique dessus • :active : au moment du clic • Le pseudo-format :active permet d'appliquer un style particulier au moment du clic. En pratique, il n'est utilisé que sur les liens. a:active { background-color: #FFCC66; } 31 Création D'apparences Dynamiques 3. Lorsque le lien a déjà été consulté • Il est possible d'appliquer un style à un lien vers une page qui a déjà été vue. Par défaut, le navigateur colore le lien en un violet a:visited { color: green; } 32
  • 9. 17/02/2023 9 Exercice <a href="#aa"> Google </a> <br> <a href="#bb"> FaceBook </a> <br> <a href="#cc"> Twitter </a> <br> Etat Normale: couleur : jaune, non souligné, taille 30px Au survole : a:hover couleur : rouge, italic, gras, souligné, taille 40px Lors du clique : a:active couleur: vert taille 50px Visité: a:visited couleur: gris taille 20px 33 Les marges • Il faut savoir que tous les blocs possèdent des marges. Il existe deux types de marges : • les marges intérieures ; • les marges extérieures. 34 Les marges • En CSS, on peut modifier la taille des marges avec les deux propriétés suivantes : • padding : indique la taille de la marge intérieure. À exprimer en général en pixels (px). • margin : indique la taille de la marge extérieure. Là encore, on utilise le plus souvent des pixels. 35 Les marges P { width: 350px; border: 1px solid black; text-align: justify; padding: 12px; } 36
  • 10. 17/02/2023 10 Les marges • Pour rendre les paragraphes soient plus espacés entre eux. Je rajoute la propriété margin pour demander à ce qu'il y ait 50 px de marge entre deux paragraphes : p { width: 350px; border: 1px solid black; text-align: justify; padding: 12px; margin: 50px; } 37 Les marges • Si on veut spécifier des marges différentes en haut, en bas, à gauche et à droite, il va falloir utiliser des propriétés plus précises… Le principe est le même que pour la propriété border. • Marges externes : • margin-top : marge extérieure en haut ; • margin-bottom : marge extérieure en bas ; • margin-left : marge extérieure à gauche ; • margin-right : marge extérieure à droite • Marges internes : • padding-top : marge intérieure en haut ; • padding-bottom : marge intérieure en bas ; • padding-left : marge intérieure à gauche ; • padding-right : marge intérieure à droite. 38 La Gestion des blocks • Lorsqu'on commence à définir des dimensions précises pour nos blocs, comme on vient de le faire, il arrive qu'ils deviennent trop petits pour le texte qu'ils contiennent. • overflow : couper un bloc 39 p{ width: 250px; height: 110px; text-align: justify; border: 1px solid black; } La Gestion des blocks • visible (par défaut) : si le texte dépasse les limites de taille, il reste visible et sort volontairement du bloc. • hidden : si le texte dépasse les limites, il sera tout simplement coupé. On ne pourra pas voir tout le texte. • scroll : là encore, le texte sera coupé s'il dépasse les limites. Sauf que cette fois, le navigateur mettra en place des barres de défilement pour qu'on puisse lire l'ensemble du texte. C'est un peu comme un cadre à l'intérieur de la page. • auto : c'est le mode « pilote automatique ». En gros, c'est le navigateur qui décide de mettre ou non des barres de défilement (il n'en mettra que si c'est nécessaire). C'est la valeur que je conseille d'utiliser le plus souvent. 40
  • 11. 17/02/2023 11 La Gestion des blocks 41 overflow: scroll; overflow: hidden; Le Positionnement 42 Le Positionnement 43 Le Positionnement 44
  • 12. 17/02/2023 12 Le Positionnement 45 • Le positionnement flottant Le Positionnement 46 • Le positionnement flottant <nav> <h2> Menu </h2> <ul> <li><a href="#">Accueil</a></li> <li><a href="#">Blog</a></li> <li><a href="#">CV</a></li> </ul> </nav> <section> <aside> <h1>À propos de l'auteur</h1> <p>Je m'appelle younes je suis née a marrakech</p> </aside> <article> <h1>Je suis un doctorant et enseignant d'informatique</h1> <p>Bla bla bla bla (texte de l'article)</p> </article> </section> Le Positionnement 47 • Le positionnement flottant Le Positionnement 48 • Le positionnement flottant nav { border: 1px solid black; float: left; } section { border: 1px solid blue; } • Il y a deux défauts (mis à part le fait que c'est encore bien moche) :  Le texte du corps de la page touche la bordure du menu. Il manque une petite marge…  Plus embêtant encore : la suite du texte passe… sous le menu !
  • 13. 17/02/2023 13 Le Positionnement 49 • Le positionnement flottant nav { border: 1px solid black; float: left; width: 150px; } section { border: 1px solid blue; margin-left: 170px; } • Pour résoudre ces 2 problèmes, il faut ajouter une marge extérieure à gauche de notre « margin-left » <section>, marge qui doit être par ailleurs supérieure à la largeur du menu. Si notre menu fait 150 px, nous allons par exemple donner une marge extérieure gauche de 170 px à notre section de page Le Positionnement 50 • Le positionnement flottant nav { border: 1px solid black; float: left; width: 150px; margin-bottom: 20px; } section { border: 1px solid blue; clear: both; width:500px; } • Si on veut qu’un élément se place obligatoirement sous le menu. il faudra utiliser l’option clear: both; • Cette option qui oblige la suite du texte à se positionner sous l'élément flottant. Transformation d’éléments 51 • Le propriété Display • Il existe en CSS une propriété nommée : display. Elle est capable de transformer n'importe quel élément de votre page d'un type vers un autre. • Avec cette propriété, je peux par exemple imposer à mes liens (originellement de type inline) d'apparaître sous forme de blocs : a { display: block; } • À ce moment-là, les liens vont se positionner les uns en-dessous des autres (comme des blocs normaux) et il devient possible de modifier leurs dimensions ! Transformation d’éléments 52 • Le propriété Display
  • 14. 17/02/2023 14 Transformation d’éléments 53 • Le propriété Display • On peut donc décider de masquer complètement un élément de la page avec cette propriété. Par exemple, si je veux masquer les éléments qui ont la classe « secret », je vais écrire : .secret { display: none; } • Pour faire apparaître ces éléments par la suite, vous devrez faire appel à JavaScript. • Certains sites web utilisent cette technique pour, par défaut, masquer les sous-menus qui ne s'affichent que lorsqu'on parcourt les menus. Transformation d’éléments 54 • Le propriété Display • C’est quoi inline-block ? • ce type d'élément est en fait une combinaison des inlines et des blocs. C'est un peu le meilleur des deux mondes : les éléments s'affichent côte à côte et peuvent être redimensionnés. • avec la propriété display, nous allons pouvoir transformer d'autres balises en inline-block, ce qui va nous aider à réaliser notre design. Transformation d’éléments 55 • Le propriété Display Le positionnement inline-block • les éléments de type inline-block :  Ils se positionnent les uns à côté des autres (exactement ce qu'on veut pour placer notre menu et le corps de notre page !).  On peut leur donner des dimensions précises (là encore, exactement ce qu'on veut !). Transformation d’éléments 56 • Le propriété Display Le positionnement inline-block nav { border: 1px solid black; display: inline-block; width: 150px; } section { border: 1px solid blue; display: inline-block; width:500px; } • Nous allons transformer en inline-block les deux éléments que nous voulons placer côte à côte : • le menu de navigation et la section du centre de la page.
  • 15. 17/02/2023 15 Transformation d’éléments 57 • Le propriété Display Le positionnement vertical-align • le fait d'avoir transformé les éléments en inline-block nous permet d'utiliser une nouvelle propriété, normalement réservée aux tableaux : vertical-align. • Cette propriété permet de modifier l'alignement vertical des éléments. Voici quelques-unes des valeurs possibles pour cette propriété :  baseline : aligne de la base de l'élément avec celle de l'élément parent (par défaut) ;  top : aligne en haut ;  middle : centre verticalement ;  bottom : aligne en bas ; Transformation d’éléments 58 • Le propriété Display  Le positionnement inline-block nav { border: 1px solid black; display: inline-block; width: 150px; vertical-align: top; } section { border: 1px solid blue; display: inline-block; width:500px; vertical-align: top; } Transformation d’éléments 59 Les positionnements absolu, fixe et relatif  Il existe d'autres techniques un peu particulières permettant de positionner avec précision des éléments sur la page : • Le positionnement absolu : il nous permet de placer un élément n'importe où sur la page (en haut à gauche, en bas à droite, tout au centre, etc.). • Le positionnement fixe : identique au positionnement absolu mais, cette fois, l'élément reste toujours visible, même si on descend plus bas dans la page. • Le positionnement relatif : permet de décaler l'élément par rapport à sa position normale. Transformation d’éléments 60 Les positionnements absolu, fixe et relatif • Il faut d'abord faire un choix entre les trois modes de positionnement disponibles. Pour cela, on utilise la propriété CSS position à laquelle on donne une de ces valeurs :  absolute : positionnement absolu ;  fixed : positionnement fixe ;  relative : positionnement relatif.
  • 16. 17/02/2023 16 Transformation d’éléments 61 Le positionnement absolu • le positionnement absolu permet de placer un élément (réellement) n'importe où sur la page. Pour effectuer un positionnement absolu, on doit écrire : element { position: absolute; } • Mais cela ne suffit pas ! On veut un positionnement absolu, mais encore faut-il dire où l'on veut que le bloc soit positionné sur la page. Transformation d’éléments 62 Le positionnement absolu • Pour ce faire, on va utiliser quatre propriétés CSS : •left : position par rapport à la gauche de la page ; •right : position par rapport à la droite de la page ; •top : position par rapport au haut de la page ; •bottom : position par rapport au bas de la page. Transformation d’éléments 63 Le positionnement absolu position: absolute; top:10px; left:10px; Transformation d’éléments 64 Le positionnement absolu position: absolute; top: 10px; right: 10px;
  • 17. 17/02/2023 17 Transformation d’éléments 65 Le positionnement absolu position: absolute; bottom: 10px; left: 10px; Transformation d’éléments 66 Le positionnement absolu position: absolute; bottom: 10px; right: 10px; Transformation d’éléments 67 Le positionnement absolu • la propriété z-index • Les éléments positionnés en absolu sont placés par-dessus le reste des éléments de la page. • si on veut placer 2 ou n éléments en absolu vers le même endroit, ils risquent de se chevaucher. • Dans ce cas, utilisez la propriété z-index pour indiquer quel élément doit apparaître au-dessus des autres. #un { position: absolute; top: 10px; left: 10px; } #deux { position: absolute; top: 30px; left: 120px; } #trois { position: absolute; top: 110px; left: 40px; } Transformation d’éléments 68 Le positionnement absolu • la propriété z-index #un { position: absolute; top: 10px; left: 10px; z-index: 1; } #deux { position: absolute; top: 30px; left: 120px; z-index: 2; } #trois { position: absolute; top: 110px; left: 40px; z-index: 3; } 3 2 1
  • 18. 17/02/2023 18 Transformation d’éléments 69 Le positionnement fixe • Le principe est exactement le même que pour le positionnement absolu sauf que, cette fois, le bloc reste fixe à sa position, même si on descend plus bas dans la page. #un { position: absolute; bottom: 10px; left: 10px; } Transformation d’éléments 70 Le positionnement fixe #un { position: absolute; bottom: 10px; left: 10px; } #un { position: fixed; bottom: 10px; left: 10px; } Transformation d’éléments 71 Le positionnement relatif • le positionnement relatif permet d'effectuer des « ajustements » : • l'élément est décalé par rapport à sa position initiale. • si vous faites un position: relative; et que vous appliquez une des propriétés top, left, right ou bottom, l’image va se déplacer par rapport à la position où il se trouve. Transformation d’éléments 72 Le positionnement relatif #un { position: relative; left: 50px; } 50px
  • 19. 17/02/2023 19 Transformation d’éléments 73 Le positionnement relatif #un { position: relative; left: 50px; top:100 px; } #un { position: relative; left: 50px; top:100 px; } 50px 100px Transformation d’éléments 74 Exercices : Transformation d’éléments 75 Exercices : Transformation d’éléments 76 Exercices :