SlideShare une entreprise Scribd logo
1  sur  55
Akambi Fagbohoun
Cascading Style Sheets
http://www.w3.org/Style/CSS/
• Guerre des navigateurs
• Extensions propriétaires.
• La bonne approche -> Créer des sites
respectant les normes W3C.
• Organismes militant pour la standardisation
– World Wide Web Consortium (http://www.w3c.org)
• présidé par Tim Berners-Lee inventeur du Web.
• HTML, HyperText Markup Language
• CSS, Cascading Style Sheets
 Modification limitée du style des éléments
 Impossibilité de garantir la cohérence graphique d’un
site sophistiqué
 Répétition des même informations
 Impossible de réutiliser le style d’un site
 Avec CSS vous définissez vos couleurs, tailles, … dans des « styles ».
 Avantages
 Séparation du contenu de l’apparence.
 Attributs plus détaillés qu’HTML
 Téléchargement et mise en cache des css
body {
font-family: Verdana, "Minion Web", Helvetica,
sans-serif;
font-size: 1em;
text-align: justify;
}
.
 Sélecteur *
 * { color: #ff0000; } ;
 HTMLSelector {Property:Value;}
<html>
<head>
<style type="text/css">
b {
font-family:arial;
font-size:14px;
color:red
}
</style>
</head>
<body>
<b>Mise en gras
personnalisée</b>
</body>
</html>
 .ClassSelector {Property:Value;}
<HTML>
<HEAD>
<style type="text/css">
.headline {
font-family:arial; font-size:14px; color:red}
p.bleu {color: blue;}
</style>
</HEAD>
<BODY>
<b class="headline">
Balise gras associée à la classe headline</b>
<br/>
<i class="headline">
Balise italique associée à la classe headline</i>
<p class ="bleu"> Paragraphe dont le texte </br> est bleu
</p>
<p> Paragraphe dont le texte </br> n'es pas bleu</p>
</BODY>
</HTML>
 #IDSelector {Property:Value;}
<HTML>
<HEAD>
<style type="text/css">
#bleu {color: cyan;}
p#bleu {color: blue;}
p#rouge {color: red;}
</style>
</HEAD>
<BODY>
<b id="bleu">Balise gras associée à l'id bleu</b>
<br/>
<p id="bleu">Paragraphe dont le texte </br> est
bleu</p>
<p id="rouge">Paragraphe dont le texte </br>
est rouge</p>
</BODY>
</HTML>
 Séparez les sélecteurs par des virgules
.headlines{
font-family:arial; color:black;
background:yellow;
font-size:14pt;
}
.sublines {
font-family:arial; color:black;
background:yellow;
font-size:12pt;
}
.infotext {
font-family:arial; color:black;
background:yellow;
font-size:10pt;
}
.headlines, .sublines, .infotext {
font-family:arial;
color:black;
background:yellow;
}
.headlines {font-size:14pt;}
.sublines {font-size:12pt;}
.infotext {font-size: 10pt;}
<HTML>
<HEAD>
<style type="text/css">
p em { color: red;} ;
</style>
</HEAD>
<BODY>
<p >Ce texte est <em>rouge</em>.</p>
<p ><code>Ce code est
<em>rouge</em>.</code></p>
</BODY>
</HTML>
<HTML>
<HEAD>
<style type="text/css">
p>em {color: red;} ;
</style>
</HEAD>
<BODY>
<p>Ce texte est
<em>rouge</em>.</p>
<p><code>Ce code est
<em>rouge</em>.</code></p>
</BODY>
</HTML>
<HTML>
<HEAD>
<style type="text/css">
h1 + p { color: red;} ;
</style>
</HEAD>
<BODY>
<h1>titre</h1>
<p >Ce texte est rouge</p>
<p >Ce texte n'est pas rouge</p>
</BODY>
</HTML>
 /* commentaire */
/* Les images auront une bordure solide rouge */
img {color:red; border: solid}
 Balise <style>
 <html>
<head>
<style type="text/css">
<!--
h1 {
font-size: 12pt;
color: red
}
//-->
</style>
</head>
…
 Attribut style « en ligne  » (inline)
 <p style="font-size: 12pt; color: red">
 Fichier se terminant par .CSS
 Balise <link> pour faire un lien vers la feuille de style externe
<link title="feuilleCss" type="text/css" rel="stylesheet" href="feuille.css">
 Importation d’une feuille de style externe
<style type="text/css">
@import url(http://www.itinet.fr/feuille.css);
</style>
 Déclaration dans la section <head> du document HTML
 Ordre de priorité des styles
1. Feuille de style par défaut du navigateur
2. Feuille de style externe
3. Feuille de style interne (dans <head>)
4. Feuille de style inline (dans un élément HTML)
 Un style inline surchargera tous les autres styles …
Propriété Description Valeurs
font-family Liste par priorité de nom de famille de fonte / ou de
nom de famille génériques.
family-name
generic-family
font-size Définit la taille de la fonte xx-small,x-small, small,
smaller, medium, large,x-
large,xx-large, larger
<longueur>
<%>
font-style Définit le style de la fonte normal, italic, oblique
font-weight Définit le poids d’une fonte normal, bold, bolder,
lighter, 100-900
font Raccourci pour tout spécifier toutes les propriétés de
fonte ainsi que la hauteur de la ligne
font-style font-variant font-
weight font-size/line-height
font-family
<html>
<head>
<style type="text/css">
.grosgras {
font-family:verdana, arial;
font-size:20px;
font-weight:bolder;
color:red
}
#ptitgras {
font-family: arial;
font-size:8px;
font-weight:bold
}
</style>
</head>
<body>
<b>Gras normal</b><br/>
<b class="grosgras">Gros texte en
gras</b><br/>
<p id="ptitgras">Petit texte en gras</p>
</body>
</html>
Propriété Description Valeurs
line-height Modifie la hauteur des lignes d’un élément. normal
nombre
longueur
<%>
text-decoration Décore le texte. none
underline
overline
line-through
blink
text-align Aligne le texte dans un élément. left
right
center
justify
text-indent Indente la première ligne de texte dans un élément. <longueur>
<%>
<style type="text/css">
.texte {
font-family:verdana, arial;
text-align:justify;
text-indent:10;
line-height:5;
color:blue;
}
.texte2 {
font-family:arial;
text-decoration: line-through;
color:red;
}
</style>
Propriété Description Valeurs
color Couleur de l’élément <couleur>
background-color Couleur de fond de l’élément transparent
<couleur>
background-image Image de fond de l’élément none
url(<URL>)
background-position Place le fond de l’élément <%>
<longueur>
top
center
bottom
left
right
background-repeat Indique si le fond doit se répéter ou non repeat, no-repeat,
repeat-x, repeat-y
 Couleur:
 Red, blue, green, …
 Valeur héxadécimale: #AABBCC
 Valeur rgb: RGB(20, 35, 40)
<html>
<head>
<style type="text/css">
p {
color: red;
background-color: yellow;
}
</style>
</head>
<body>
<p>Ce texte est surligné</p>
</body>
</html>
blockquote {
background: transparent url(quoleft.png) left top no-repeat;
}
blockquote div {
padding: 0 48px;
background: transparent url(quoright.png) right bottom no-repeat;
}
<blockquote cite="http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.1">
<div> Tables should not be used purely as a means to layout document content as this may present
problems when rendering to non-visual media. Additionally, when used with graphics, these tables
may force users to scroll horizontally to view a table designed on a system with a larger display. To
minimize these problems, authors should use style sheets to control layout rather than tables.
</div>
</blockquote>
Selecteur Description Valeurs
A:link lien classique <style>
A:visited lien visité <style>
A:active lien actif <style>
A:hover lien survolé <style>
<style type="text/css">
A:link {background: #FFCC00; text-decoration: none}
A:visited {background: #FFCC00; text-decoration: none}
A:active {background: #FFCC00; text-decoration: none}
A:hover {background: #FFCC00; font-weight:bold; color: red;}
</style>
Propriété Description Valeurs
line-style-image Choisi une image comme marqueur
d’item de liste.
none
url <URL>
line-style-position Place le marque d’item de liste dans
la liste.
inside
outside
line-style-type Définit le type de marqueur d’item de
liste.
none, disc
circle, square
decimal, decimal-leading-zero
lower-roman, upper-roman
lower-alpha, upper-alpha
lower-greek
lower-latin
upper-latin
hebrew
armenian
georgian
cjk-ideographic
hiragana
katakana
hiragana-iroha
katakana-iroha
<div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="#" id="current">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
<li><a href="#">Item four</a></li>
<li><a href="#">Item five</a></li>
</ul>
</div>
#navlist { list-style-type: square; } #navlist { list-style-image: url(images/arrow.gif); }
http://css.maxdesign.com.au/listamatic
Unité Description
% pourcentage
in pouce
cm centimètres
mm millimètres
em 1em est égal a la hauteur de la
fonte de l’élément courant
ex 1ex est égal à la hauteur de la lettre
« x »
pt point (1/72 pouce)
pc pica (12 points)
px pixel
Contenu
Remplissage (padding)
Marges (margin)
Bordures (border)
Propriété Description Valeurs
margin
ou margin-top, margin-right,
margin-bottom, margin-left
marge haute, droite, basse,
gauche, droite.
auto
<largeur>
<%>
padding
ou padding-top, padding-right,
padding-bottom, padding-left
remplissage haut, droite, bas,
gauche.
<largeur>
<%>
border
ou
border-top, border-right,
border-bottom, border-left
bordure haute, droite, basse,
gauche.
<largeur>
<%>
<border-style>
width largeur de la zone de contenu <largeur>
height hauteur de la zone de contenu <epaisseur>
border-width ou border-...-
witdh
épaisseur de la bordure <largeur>, thin, medium, thick.
border-color ou border-...-
color
couleur de la bordure
border-style ou border-...-
style
style de la bordure None,hidden,dotted, dashed,
solid, double, groove, ridge,
inset, outset.
<P>
<TABLE>
<COL id="col1"><COL id="col2"><COL
id="col3">
<TR id="row1">
<TD> 1
<TD> 2
<TD> 3
</TR>
<TR id="row2">
<TD> 4
<TD class="solid-blue"> 5
<TD class="solid-green"> 6
</TR>
<TR id="row3">
<TD> 7
<TD> 8
<TD> 9
</TR>
TABLE {border: 5px solid yellow; }
*#col1 { border: 3px solid black; }
TD { border: 1px solid red; padding: 1em; }
TD.solid-blue { border: 5px dashed blue; }
TD.solid-green { border: 5px solid green; }
+
=
<div id="bleu">Boite bleue</div>
<div id="jaune">Boite jaune</div>
#bleu {background-color:blue;}
#jaune {background-color:yellow;}
<p>
<span id="bleu">Boite bleue</span>
<span id="jaune">Boite jaune</span>
</p>
Propriété Description Valeurs
display Détermine si un élément d'affiche en bloc, en
ligne, ou d'une autre façon
none, block, inline, …
position Détermine la méthode de positionnement de
l'élément.
Les éléments non statiques utilisent les
propriétés top, bottom, right, left.
Les valeurs absolute et fixed implique que
l'élément soit de type bloc (display est ignorée
dans ce cas)
static, relative, absolute, fixed
float Place un élément à gauche ou à droite de son
parent, jusqu'à ce qu'un autre élément de type
bloc soit trouvé.
Les élément "floated" sont retirés du flux normal
et traités comme des éléments de type bloc.
left, right, none
clear Précise les côtés sur lesquels un élément
"floated" ne sera pas autorisé.
left, right, both, none
z-index Spécifie l'ordre d'empilement des éléments. Par
défaut les éléments venant après dans le code
source s'empilent sur ceux venant avant.
auto, entier
visibility Rend un élément transparent sans le retirer du
flux HTML.
visible, hidden, collapse.
http://css.maxdesign.com.au/listamatic
#navcontainer li a {
display: block;
padding: 5px 5px 5px 0.5em;
border-left: 10px solid #1958b7;
border-right: 10px solid #508fc4;
background-color: #2175bc;
color: #fff;
text-decoration: none;
width: 100%;
}
html>body #navcontainer li a { width: auto; }
#navcontainer li a:hover {
border-left: 10px solid #1c64d1;
border-right: 10px solid #5ba3e0;
background-color: #2586d7;
color: #fff;
}
#navcontainer {
width: 12em;
border-right: 1px solid #000;
padding: 0 0 1em 0;
margin-bottom: 1em;
font-family: Verdana, Lucida,
Geneva, Helvetica, Arial, sans-
serif;
background-color: #90bade;
color: #333;
}
#navcontainer ul {
list-style: none;
margin: 0;
padding: 0;
border: none;
}
#navcontainer li {
border-bottom: 1px solid
#90bade;
margin: 0;
}
• Flux normal: document parcouru
• Relatif
• Flottant
• Absolu ou fixe
<p>
Lorem
<span id="jaune">
boîte en position relative
</span>
ipsum dolor.
</p>
#jaune {
position: relative;
bottom: 5px;
background-color: #ffff00;
}
+
=
#jaune {
background-color: yellow;
float: right;
width: 100px;
margin: 0;
}
#bleu{
background-color: blue;
}
<p id="jaune">Boite jaune</p>
<p id="bleu">Boite bleue ...</p> +
=
.content {
float: left;
width: 70%;
}
.menu {
margin-left: 80%;
border: 1px solid #000000;
padding: 1em;
}
<body>
<div class="content"> …
</div>
<div class="menu">
<ul>
<li>lien_1</li>
<li>lien_2</li>
<li>lien_3</li>
</ul>
</div>
</body>
+ =
http://openweb.eu.org
+
=
#jaune {
background-color: yellow;
position: absolute;
top: 1em;
right: 1em;
}
#bleu {
position: relative;
background-color: blue;
width: 20em;
}
<div id="bleu">
<p> ...</p>
<p id="jaune">
Boîte jaune en position absolue
</p>
</div>
centre { margin: 1em 25%; }
.gauche { position: absolute;
top: 1em;
left: 1%;
width: 18%; }
.droite { position: absolute;
top: 1em;
right: 1%;
width: 18%; }
<body>
<div class="centre"> … </div>
<div class="gauche"> … </div>
<div class="droite"> … </div>
</body>
+ =
http://openweb.eu.org
 http://stopdesign.com/present/2004/ddw-seattle/tables/
 Présente une explication très claire sur le sujet, je vous invite à aller le voir.
 Sélection des règles CSS selon les médias
 @media print {
body { font-size: 10pt }
}
 @media screen {
body {font-size: 12pt}
}
 @media screen, print {
body {line-height: 1.2}
}
<head>
<meta http-equiv="content-type"
content="text/html;charset=utf-8" />
<title>Ma page oueb</title>
<link rel="stylesheet" media="screen" type="text/css »
href="screen.css" />
<link rel="stylesheet" media="print" type="text/css »
href="print.css" />
</head>
 Exemples :
 @import "mystyle.css";
 @import url("mystyle.css");
 @import url("fineprint.css") print;
 @import url("bluish.css") projection, tv;
• Utiliser des feuilles de styles multiples
– Ex:
<link title=" gabarit_3_colonnes.css " type="text/css" rel="stylesheet"
href="gabarit_3_colonnes.css">
<link title=" couleurs.css " type="text/css" rel="stylesheet" href="couleurs.css">
• Utiliser des classes multiples pour vos éléments
– http://www.search-this.com/2007/04/25/optimize-your-c
• Spécifiez toujours (si possible) une largeur pour
vos éléments
 Afin de garantir la compatibilité de votre code avec les normes CSS1 et
CSS2 n’oubliez pas d’utiliser les validateurs !
 http://jigsaw.w3.org/css-validator/
 http://www.htmlhelp.com/tools/csscheck/
Les normes
• http://www.w3.org/Style/CSS/ | http://www.w3.org/TR/REC-CSS2/
• http://www.w3.org/Style/CSS/learning
• http://www.yoyodesign.org/doc/w3c/css2/cover.html
• http://www.stylegala.com/features/css-reference/
Sites traitant de la programmation Web (xhtml /css)
• http://www.alistapart.com/
• http://openweb.eu.org/
• http://www.wpdfd.com/editorial/basics/index.html#
• http://www.cybercodeur.net/weblog/presentations/seybold/index.html
• http://www.htmldog.com/
• http://www.pompage.net
• http://www.stylegala.com/
• http://webhost.bridgew.edu/etribou/layouts/
• http://stopdesign.com/present/2004/ddw-seattle/tables/
• http://www.alvit.de/handbook/
• http://www.cssbeauty.com/
• http://blog.html.it/layoutgala/
• http://developer.yahoo.com/yui/ et http://developer.yahoo.com/yui/grids/
• http://css.maxdesign.com.au/listamatic/ (listes et menus en CSS)
Mise en page
• http://blog.html.it/layoutgala/
• http://layouts.ironmyers.com/
• http://www.blog-and-blues.org/articles/Float,_clear_et_contextes_de_formatage
Amusez vous avec les CSS:
• http://www.csszengarden.com/
• http://www.alistapart.com/articles/phpswitch/

Contenu connexe

Tendances

exposé en HTML
exposé en HTMLexposé en HTML
exposé en HTMLYaya Im
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francaisVlad Posea
 
IPW 2eme course - HTML
IPW 2eme course - HTMLIPW 2eme course - HTML
IPW 2eme course - HTMLVlad Posea
 
Formation HTML5/CSS3
Formation HTML5/CSS3Formation HTML5/CSS3
Formation HTML5/CSS3G²FOSS ENIT
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à SinatraRémi Prévost
 
IPW Course 3 CSS
IPW Course 3 CSSIPW Course 3 CSS
IPW Course 3 CSSVlad Posea
 
Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Stephane PERES
 
Introduction à la performance web
Introduction à la performance webIntroduction à la performance web
Introduction à la performance webRaphaël Goetter
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesRaphaël Goetter
 
Présentation PHPOffice
Présentation PHPOfficePrésentation PHPOffice
Présentation PHPOfficeProgi1984
 
E sidoc niveau avancé html
E sidoc niveau avancé htmlE sidoc niveau avancé html
E sidoc niveau avancé htmlCanopé
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsRémy Savard
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Ghilas BELHADJ
 

Tendances (20)

exposé en HTML
exposé en HTMLexposé en HTML
exposé en HTML
 
HTML 5 - intro - en francais
HTML 5 - intro - en francaisHTML 5 - intro - en francais
HTML 5 - intro - en francais
 
HTML basics
HTML basics HTML basics
HTML basics
 
IPW 2eme course - HTML
IPW 2eme course - HTMLIPW 2eme course - HTML
IPW 2eme course - HTML
 
Formation HTML5/CSS3
Formation HTML5/CSS3Formation HTML5/CSS3
Formation HTML5/CSS3
 
Css+html
Css+htmlCss+html
Css+html
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
 
IPW Course 3 CSS
IPW Course 3 CSSIPW Course 3 CSS
IPW Course 3 CSS
 
Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3
 
Introduction à la performance web
Introduction à la performance webIntroduction à la performance web
Introduction à la performance web
 
Les base du Html5
Les base du Html5Les base du Html5
Les base du Html5
 
Html css
Html cssHtml css
Html css
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudes
 
cours Php
cours Phpcours Php
cours Php
 
Présentation PHPOffice
Présentation PHPOfficePrésentation PHPOffice
Présentation PHPOffice
 
E sidoc niveau avancé html
E sidoc niveau avancé htmlE sidoc niveau avancé html
E sidoc niveau avancé html
 
Initiation au html
Initiation au htmlInitiation au html
Initiation au html
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux éléments
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
 

Similaire à Cours css niveau debutant

OpenCode beta : Haml & Sass
OpenCode beta : Haml & SassOpenCode beta : Haml & Sass
OpenCode beta : Haml & SassRémi Prévost
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2Benoît Simard
 
seance3-1 CSS.ppt
seance3-1 CSS.pptseance3-1 CSS.ppt
seance3-1 CSS.pptAmineReal
 
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30Sébastien Lejeune
 
initiation-dvptWEB-ericacademy.pdf
initiation-dvptWEB-ericacademy.pdfinitiation-dvptWEB-ericacademy.pdf
initiation-dvptWEB-ericacademy.pdfEricKeita
 
Css présentation Pour des sites web dynamique
Css présentation Pour des sites web dynamiqueCss présentation Pour des sites web dynamique
Css présentation Pour des sites web dynamiqueDanielMohamed4
 
HTML / CSS Media query et resposivité.
HTML / CSS Media query et resposivité. HTML / CSS Media query et resposivité.
HTML / CSS Media query et resposivité. Cesar Gelvez
 
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
 

Similaire à Cours css niveau debutant (20)

#4 css 101
#4 css 101#4 css 101
#4 css 101
 
OpenCode beta : Haml & Sass
OpenCode beta : Haml & SassOpenCode beta : Haml & Sass
OpenCode beta : Haml & Sass
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2
 
CSS 3
CSS 3CSS 3
CSS 3
 
Html css-xhtml
Html css-xhtmlHtml css-xhtml
Html css-xhtml
 
seance3-1 CSS.ppt
seance3-1 CSS.pptseance3-1 CSS.ppt
seance3-1 CSS.ppt
 
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30
Intégrer correctement un e-mail, c'est possible ! Démonstration en 1h30
 
Initiation html css
Initiation html cssInitiation html css
Initiation html css
 
Initiation html css
Initiation html cssInitiation html css
Initiation html css
 
Découverte HTML5/CSS3
Découverte HTML5/CSS3Découverte HTML5/CSS3
Découverte HTML5/CSS3
 
initiation-dvptWEB-ericacademy.pdf
initiation-dvptWEB-ericacademy.pdfinitiation-dvptWEB-ericacademy.pdf
initiation-dvptWEB-ericacademy.pdf
 
HTML5, le nouveau buzzword
HTML5, le nouveau buzzwordHTML5, le nouveau buzzword
HTML5, le nouveau buzzword
 
HTML5
HTML5HTML5
HTML5
 
Les bases du CSS3
Les bases du CSS3Les bases du CSS3
Les bases du CSS3
 
Css présentation Pour des sites web dynamique
Css présentation Pour des sites web dynamiqueCss présentation Pour des sites web dynamique
Css présentation Pour des sites web dynamique
 
HTML / CSS Media query et resposivité.
HTML / CSS Media query et resposivité. HTML / CSS Media query et resposivité.
HTML / CSS Media query et resposivité.
 
Cours html5
Cours html5Cours html5
Cours html5
 
CSS3
CSS3CSS3
CSS3
 
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
 
CSS
CSSCSS
CSS
 

Cours css niveau debutant

  • 1. Akambi Fagbohoun Cascading Style Sheets http://www.w3.org/Style/CSS/
  • 2. • Guerre des navigateurs • Extensions propriétaires. • La bonne approche -> Créer des sites respectant les normes W3C.
  • 3. • Organismes militant pour la standardisation – World Wide Web Consortium (http://www.w3c.org) • présidé par Tim Berners-Lee inventeur du Web. • HTML, HyperText Markup Language • CSS, Cascading Style Sheets
  • 4.  Modification limitée du style des éléments  Impossibilité de garantir la cohérence graphique d’un site sophistiqué  Répétition des même informations  Impossible de réutiliser le style d’un site
  • 5.  Avec CSS vous définissez vos couleurs, tailles, … dans des « styles ».  Avantages  Séparation du contenu de l’apparence.  Attributs plus détaillés qu’HTML  Téléchargement et mise en cache des css
  • 6.
  • 7. body { font-family: Verdana, "Minion Web", Helvetica, sans-serif; font-size: 1em; text-align: justify; }
  • 8. .  Sélecteur *  * { color: #ff0000; } ;
  • 9.  HTMLSelector {Property:Value;} <html> <head> <style type="text/css"> b { font-family:arial; font-size:14px; color:red } </style> </head> <body> <b>Mise en gras personnalisée</b> </body> </html>
  • 10.  .ClassSelector {Property:Value;} <HTML> <HEAD> <style type="text/css"> .headline { font-family:arial; font-size:14px; color:red} p.bleu {color: blue;} </style> </HEAD> <BODY> <b class="headline"> Balise gras associée à la classe headline</b> <br/> <i class="headline"> Balise italique associée à la classe headline</i> <p class ="bleu"> Paragraphe dont le texte </br> est bleu </p> <p> Paragraphe dont le texte </br> n'es pas bleu</p> </BODY> </HTML>
  • 11.  #IDSelector {Property:Value;} <HTML> <HEAD> <style type="text/css"> #bleu {color: cyan;} p#bleu {color: blue;} p#rouge {color: red;} </style> </HEAD> <BODY> <b id="bleu">Balise gras associée à l'id bleu</b> <br/> <p id="bleu">Paragraphe dont le texte </br> est bleu</p> <p id="rouge">Paragraphe dont le texte </br> est rouge</p> </BODY> </HTML>
  • 12.  Séparez les sélecteurs par des virgules .headlines{ font-family:arial; color:black; background:yellow; font-size:14pt; } .sublines { font-family:arial; color:black; background:yellow; font-size:12pt; } .infotext { font-family:arial; color:black; background:yellow; font-size:10pt; } .headlines, .sublines, .infotext { font-family:arial; color:black; background:yellow; } .headlines {font-size:14pt;} .sublines {font-size:12pt;} .infotext {font-size: 10pt;}
  • 13. <HTML> <HEAD> <style type="text/css"> p em { color: red;} ; </style> </HEAD> <BODY> <p >Ce texte est <em>rouge</em>.</p> <p ><code>Ce code est <em>rouge</em>.</code></p> </BODY> </HTML>
  • 14. <HTML> <HEAD> <style type="text/css"> p>em {color: red;} ; </style> </HEAD> <BODY> <p>Ce texte est <em>rouge</em>.</p> <p><code>Ce code est <em>rouge</em>.</code></p> </BODY> </HTML>
  • 15. <HTML> <HEAD> <style type="text/css"> h1 + p { color: red;} ; </style> </HEAD> <BODY> <h1>titre</h1> <p >Ce texte est rouge</p> <p >Ce texte n'est pas rouge</p> </BODY> </HTML>
  • 16.  /* commentaire */ /* Les images auront une bordure solide rouge */ img {color:red; border: solid}
  • 17.
  • 18.  Balise <style>  <html> <head> <style type="text/css"> <!-- h1 { font-size: 12pt; color: red } //--> </style> </head> …  Attribut style « en ligne  » (inline)  <p style="font-size: 12pt; color: red">
  • 19.  Fichier se terminant par .CSS  Balise <link> pour faire un lien vers la feuille de style externe <link title="feuilleCss" type="text/css" rel="stylesheet" href="feuille.css">  Importation d’une feuille de style externe <style type="text/css"> @import url(http://www.itinet.fr/feuille.css); </style>  Déclaration dans la section <head> du document HTML
  • 20.  Ordre de priorité des styles 1. Feuille de style par défaut du navigateur 2. Feuille de style externe 3. Feuille de style interne (dans <head>) 4. Feuille de style inline (dans un élément HTML)  Un style inline surchargera tous les autres styles …
  • 21.
  • 22. Propriété Description Valeurs font-family Liste par priorité de nom de famille de fonte / ou de nom de famille génériques. family-name generic-family font-size Définit la taille de la fonte xx-small,x-small, small, smaller, medium, large,x- large,xx-large, larger <longueur> <%> font-style Définit le style de la fonte normal, italic, oblique font-weight Définit le poids d’une fonte normal, bold, bolder, lighter, 100-900 font Raccourci pour tout spécifier toutes les propriétés de fonte ainsi que la hauteur de la ligne font-style font-variant font- weight font-size/line-height font-family
  • 23. <html> <head> <style type="text/css"> .grosgras { font-family:verdana, arial; font-size:20px; font-weight:bolder; color:red } #ptitgras { font-family: arial; font-size:8px; font-weight:bold } </style> </head> <body> <b>Gras normal</b><br/> <b class="grosgras">Gros texte en gras</b><br/> <p id="ptitgras">Petit texte en gras</p> </body> </html>
  • 24. Propriété Description Valeurs line-height Modifie la hauteur des lignes d’un élément. normal nombre longueur <%> text-decoration Décore le texte. none underline overline line-through blink text-align Aligne le texte dans un élément. left right center justify text-indent Indente la première ligne de texte dans un élément. <longueur> <%>
  • 25. <style type="text/css"> .texte { font-family:verdana, arial; text-align:justify; text-indent:10; line-height:5; color:blue; } .texte2 { font-family:arial; text-decoration: line-through; color:red; } </style>
  • 26. Propriété Description Valeurs color Couleur de l’élément <couleur> background-color Couleur de fond de l’élément transparent <couleur> background-image Image de fond de l’élément none url(<URL>) background-position Place le fond de l’élément <%> <longueur> top center bottom left right background-repeat Indique si le fond doit se répéter ou non repeat, no-repeat, repeat-x, repeat-y  Couleur:  Red, blue, green, …  Valeur héxadécimale: #AABBCC  Valeur rgb: RGB(20, 35, 40)
  • 27. <html> <head> <style type="text/css"> p { color: red; background-color: yellow; } </style> </head> <body> <p>Ce texte est surligné</p> </body> </html>
  • 28. blockquote { background: transparent url(quoleft.png) left top no-repeat; } blockquote div { padding: 0 48px; background: transparent url(quoright.png) right bottom no-repeat; } <blockquote cite="http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.1"> <div> Tables should not be used purely as a means to layout document content as this may present problems when rendering to non-visual media. Additionally, when used with graphics, these tables may force users to scroll horizontally to view a table designed on a system with a larger display. To minimize these problems, authors should use style sheets to control layout rather than tables. </div> </blockquote>
  • 29. Selecteur Description Valeurs A:link lien classique <style> A:visited lien visité <style> A:active lien actif <style> A:hover lien survolé <style> <style type="text/css"> A:link {background: #FFCC00; text-decoration: none} A:visited {background: #FFCC00; text-decoration: none} A:active {background: #FFCC00; text-decoration: none} A:hover {background: #FFCC00; font-weight:bold; color: red;} </style>
  • 30. Propriété Description Valeurs line-style-image Choisi une image comme marqueur d’item de liste. none url <URL> line-style-position Place le marque d’item de liste dans la liste. inside outside line-style-type Définit le type de marqueur d’item de liste. none, disc circle, square decimal, decimal-leading-zero lower-roman, upper-roman lower-alpha, upper-alpha lower-greek lower-latin upper-latin hebrew armenian georgian cjk-ideographic hiragana katakana hiragana-iroha katakana-iroha
  • 31. <div id="navcontainer"> <ul id="navlist"> <li id="active"><a href="#" id="current">Item one</a></li> <li><a href="#">Item two</a></li> <li><a href="#">Item three</a></li> <li><a href="#">Item four</a></li> <li><a href="#">Item five</a></li> </ul> </div> #navlist { list-style-type: square; } #navlist { list-style-image: url(images/arrow.gif); } http://css.maxdesign.com.au/listamatic
  • 32.
  • 33. Unité Description % pourcentage in pouce cm centimètres mm millimètres em 1em est égal a la hauteur de la fonte de l’élément courant ex 1ex est égal à la hauteur de la lettre « x » pt point (1/72 pouce) pc pica (12 points) px pixel
  • 35. Propriété Description Valeurs margin ou margin-top, margin-right, margin-bottom, margin-left marge haute, droite, basse, gauche, droite. auto <largeur> <%> padding ou padding-top, padding-right, padding-bottom, padding-left remplissage haut, droite, bas, gauche. <largeur> <%> border ou border-top, border-right, border-bottom, border-left bordure haute, droite, basse, gauche. <largeur> <%> <border-style> width largeur de la zone de contenu <largeur> height hauteur de la zone de contenu <epaisseur> border-width ou border-...- witdh épaisseur de la bordure <largeur>, thin, medium, thick. border-color ou border-...- color couleur de la bordure border-style ou border-...- style style de la bordure None,hidden,dotted, dashed, solid, double, groove, ridge, inset, outset.
  • 36. <P> <TABLE> <COL id="col1"><COL id="col2"><COL id="col3"> <TR id="row1"> <TD> 1 <TD> 2 <TD> 3 </TR> <TR id="row2"> <TD> 4 <TD class="solid-blue"> 5 <TD class="solid-green"> 6 </TR> <TR id="row3"> <TD> 7 <TD> 8 <TD> 9 </TR> TABLE {border: 5px solid yellow; } *#col1 { border: 3px solid black; } TD { border: 1px solid red; padding: 1em; } TD.solid-blue { border: 5px dashed blue; } TD.solid-green { border: 5px solid green; } + =
  • 37.
  • 38. <div id="bleu">Boite bleue</div> <div id="jaune">Boite jaune</div> #bleu {background-color:blue;} #jaune {background-color:yellow;} <p> <span id="bleu">Boite bleue</span> <span id="jaune">Boite jaune</span> </p>
  • 39. Propriété Description Valeurs display Détermine si un élément d'affiche en bloc, en ligne, ou d'une autre façon none, block, inline, … position Détermine la méthode de positionnement de l'élément. Les éléments non statiques utilisent les propriétés top, bottom, right, left. Les valeurs absolute et fixed implique que l'élément soit de type bloc (display est ignorée dans ce cas) static, relative, absolute, fixed float Place un élément à gauche ou à droite de son parent, jusqu'à ce qu'un autre élément de type bloc soit trouvé. Les élément "floated" sont retirés du flux normal et traités comme des éléments de type bloc. left, right, none clear Précise les côtés sur lesquels un élément "floated" ne sera pas autorisé. left, right, both, none z-index Spécifie l'ordre d'empilement des éléments. Par défaut les éléments venant après dans le code source s'empilent sur ceux venant avant. auto, entier visibility Rend un élément transparent sans le retirer du flux HTML. visible, hidden, collapse.
  • 40. http://css.maxdesign.com.au/listamatic #navcontainer li a { display: block; padding: 5px 5px 5px 0.5em; border-left: 10px solid #1958b7; border-right: 10px solid #508fc4; background-color: #2175bc; color: #fff; text-decoration: none; width: 100%; } html>body #navcontainer li a { width: auto; } #navcontainer li a:hover { border-left: 10px solid #1c64d1; border-right: 10px solid #5ba3e0; background-color: #2586d7; color: #fff; } #navcontainer { width: 12em; border-right: 1px solid #000; padding: 0 0 1em 0; margin-bottom: 1em; font-family: Verdana, Lucida, Geneva, Helvetica, Arial, sans- serif; background-color: #90bade; color: #333; } #navcontainer ul { list-style: none; margin: 0; padding: 0; border: none; } #navcontainer li { border-bottom: 1px solid #90bade; margin: 0; }
  • 41. • Flux normal: document parcouru • Relatif • Flottant • Absolu ou fixe
  • 42. <p> Lorem <span id="jaune"> boîte en position relative </span> ipsum dolor. </p> #jaune { position: relative; bottom: 5px; background-color: #ffff00; } + =
  • 43. #jaune { background-color: yellow; float: right; width: 100px; margin: 0; } #bleu{ background-color: blue; } <p id="jaune">Boite jaune</p> <p id="bleu">Boite bleue ...</p> + =
  • 44. .content { float: left; width: 70%; } .menu { margin-left: 80%; border: 1px solid #000000; padding: 1em; } <body> <div class="content"> … </div> <div class="menu"> <ul> <li>lien_1</li> <li>lien_2</li> <li>lien_3</li> </ul> </div> </body> + = http://openweb.eu.org
  • 45. + = #jaune { background-color: yellow; position: absolute; top: 1em; right: 1em; } #bleu { position: relative; background-color: blue; width: 20em; } <div id="bleu"> <p> ...</p> <p id="jaune"> Boîte jaune en position absolue </p> </div>
  • 46. centre { margin: 1em 25%; } .gauche { position: absolute; top: 1em; left: 1%; width: 18%; } .droite { position: absolute; top: 1em; right: 1%; width: 18%; } <body> <div class="centre"> … </div> <div class="gauche"> … </div> <div class="droite"> … </div> </body> + = http://openweb.eu.org
  • 47.  http://stopdesign.com/present/2004/ddw-seattle/tables/  Présente une explication très claire sur le sujet, je vous invite à aller le voir.
  • 48.
  • 49.  Sélection des règles CSS selon les médias  @media print { body { font-size: 10pt } }  @media screen { body {font-size: 12pt} }  @media screen, print { body {line-height: 1.2} }
  • 50. <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Ma page oueb</title> <link rel="stylesheet" media="screen" type="text/css » href="screen.css" /> <link rel="stylesheet" media="print" type="text/css » href="print.css" /> </head>
  • 51.  Exemples :  @import "mystyle.css";  @import url("mystyle.css");  @import url("fineprint.css") print;  @import url("bluish.css") projection, tv;
  • 52.
  • 53. • Utiliser des feuilles de styles multiples – Ex: <link title=" gabarit_3_colonnes.css " type="text/css" rel="stylesheet" href="gabarit_3_colonnes.css"> <link title=" couleurs.css " type="text/css" rel="stylesheet" href="couleurs.css"> • Utiliser des classes multiples pour vos éléments – http://www.search-this.com/2007/04/25/optimize-your-c • Spécifiez toujours (si possible) une largeur pour vos éléments
  • 54.  Afin de garantir la compatibilité de votre code avec les normes CSS1 et CSS2 n’oubliez pas d’utiliser les validateurs !  http://jigsaw.w3.org/css-validator/  http://www.htmlhelp.com/tools/csscheck/
  • 55. Les normes • http://www.w3.org/Style/CSS/ | http://www.w3.org/TR/REC-CSS2/ • http://www.w3.org/Style/CSS/learning • http://www.yoyodesign.org/doc/w3c/css2/cover.html • http://www.stylegala.com/features/css-reference/ Sites traitant de la programmation Web (xhtml /css) • http://www.alistapart.com/ • http://openweb.eu.org/ • http://www.wpdfd.com/editorial/basics/index.html# • http://www.cybercodeur.net/weblog/presentations/seybold/index.html • http://www.htmldog.com/ • http://www.pompage.net • http://www.stylegala.com/ • http://webhost.bridgew.edu/etribou/layouts/ • http://stopdesign.com/present/2004/ddw-seattle/tables/ • http://www.alvit.de/handbook/ • http://www.cssbeauty.com/ • http://blog.html.it/layoutgala/ • http://developer.yahoo.com/yui/ et http://developer.yahoo.com/yui/grids/ • http://css.maxdesign.com.au/listamatic/ (listes et menus en CSS) Mise en page • http://blog.html.it/layoutgala/ • http://layouts.ironmyers.com/ • http://www.blog-and-blues.org/articles/Float,_clear_et_contextes_de_formatage Amusez vous avec les CSS: • http://www.csszengarden.com/ • http://www.alistapart.com/articles/phpswitch/

Notes de l'éditeur

  1. Manque d’homogénéité dans le niveau générale de la classe -&amp;gt; Les bases d’internet. Définitions à connaitre cours css CSS est un langage permettant simple pour ajouter du style aux pages Web (ex: fontes, couleurs, espacements).
  2. Pendant longtemps, les navigateurs se sont fait la guerre pour capter les clients chacun -&amp;gt; Propres spécificités, syntaxes Ensuite, voyant que la bataille ne se jouait pas sur le code -&amp;gt; se sont décider à uniformiser les langages et créer des normes - Beaucoup de code des navigateurs réécrit pour être compatible avec les standards, et ce n’est toujours pas fini ! Certains navigateurs interprètent les normes différemment. Les navigateurs développement encore des extensions propriétaires pour se doter de nouvelles fonctionnalités Ces fonctionnalités marchent dans ces navigateurs mais pas dans d’autres. Vous pouvez les utilisés mais sachez que la plupart ne seront vraisemblablement pas intégrées dans de futures versions de la norme CSS. Le mauvais élève : Internet explorer
  3. W3C: regroupe les principales entreprises du web - définir et mettre en place des standards universels. HTML : Utilise des balises pour structurer la mise en forme des pages web. CSS : Feuilles de style pour contrôler totalement la mise en forme.
  4. Exemple : définir la couleur de vos textes directement dans vos pages, taille. Pour personnaliser un élément -&amp;gt; il faut le trouver et le modifier dans la bonne page HTML. Cohérence graphique (site avec plusieurs pages) Répétition : ex (deux blocs &amp;lt;div&amp;gt; identiques) CSS a été introduit pour : pour garantir au cours du temps la cohérence graphique d’un site sophistiqué pour éviter de répéter les mêmes informations au travers de toutes les pages personnaliser simplement un site
  5. Avec CSS vous définissez vos couleurs, tailles, … dans des « styles ». -&amp;gt; intégrer les styles dans les balises html Avantage : changement d’un style -&amp;gt; répercussion sur l’intégralité des balises Utilisation en tant que Feuille de style externe -&amp;gt; télécharger une fois Temps de chargement réduit et vitesse de navigation amélioré
  6. Feuille de style = suite d’instructions (statements) suggérant au navigateur comment mettre en forme les éléments. Une instruction (sélecteur + déclaration) définit: Quels éléments du document HTML seront affectés. Comment dessiner ces éléments Chaque instruction doit contenir un sélecteur et une déclaration. La déclaration vient immédiatement après le sélecteur et est placée entre accolades. Une déclaration consiste en une ou plusieurs propriétés séparées par des points-virgules. Chaque propriété est composée d’un nom suivi de « : » et ensuite des valeurs pour cette propriété. Ces valeurs sont celles précisées dans la spécification CSS. Si un propriété est multi-valuée, ces valeurs doivent être séparées par une virgule et un espace. Pour certaines valeurs on peut préciser une unité, il ne faut pas placer d’espace entre la valeur et l’unité. Conseils : Utiliser des espacements pour rendre lisibles vos feuilles de style.
  7. Associe un style à tous les éléments HTML susceptibles de connaître les propriétés définies par ce style Agit sur tous les titres, bordures, paragraphes, …, du document HTML
  8. Associe un style à tous les éléments HTML d’un type donné. Une bonne façon de redéfinir le look des tags. HTMLSelector {Property:Value;}
  9. Associe un style à certains éléments HTML d’un type particulier. .ClassSelector {Property:Value;}
  10. Associe un style à un élément HTML unique.
  11. Souvent plusieurs sélecteurs présentent des propriétés communes. Il peut alors devenir intéressant de les grouper. Séparez les sélecteurs par des virgules
  12. Permet d’associer un style à un élément contenu directement ou indirectement dans un autre élément.
  13. Permet d’associer un style à un élément contenu directement dans un autre élément.
  14. Permet d’associer un style à un élément suivant immédiatement un autre élément.
  15. Comme tout code qui se respecte, les feuilles de styles se commentent !
  16. balise style : pour définir une feuille de style interne au document HTML
  17. Il est cependant possible de définir une feuille de style comme un fichier externe au document HTML On utilise l’élément &amp;lt;link&amp;gt; pour faire un lien vers la feuille de style externe On peut également importer une feuille de style externe (@import) Maintenant s&amp;apos;utilise pour gérer les bugs de certains navigateurs. Utiliser plutôt &amp;lt;link&amp;gt;. Se déclare dans la section &amp;lt;head&amp;gt; du document HTML
  18. Les styles sont priorisés en cascade suivant 4 niveaux, le 4ème ayant la plus haute priorité:
  19. Ne font rien par eux-mêmes, mais sont très utiles couplés aux CSS. Bloc inline &amp;lt;SPAN&amp;gt; est un tag « inline », il permet par exemple d’isoler du texte dans un paragraphe pour lui appliquer un style, sans retour à la ligne. Comme a, img, em, strong, q, cite, code, … &amp;lt;DIV&amp;gt; est un tag « block », indiquant que des retour à la ligne sont insérés automatiquement pour différencier le block du contenu l’entourant. Comme h1..h6, p, ul, ol, li, dl, dd, blockquote …
  20. Flux normal: document parcouru Verticalement de haut en bas. Et horizontalement de gauche à droite. Relatif: Le contenu est dans le flux normal. Mais est peut se décaler horizontalement ou verticalement. Le contenu suivant n’est pas affecté par ce décalage (possibles chevauchements). Flottant Boite retirée du flux normal. Placée le plus à gauche (float:left) ou le plus à droite (float:right). Le contenu s’écoule le long de cette boite. Absolu ou fixe Se place à la position de votre choix dans la page.
  21. Actuellement la mode (et c&amp;apos;est une bonne façon de penser !) est de se passer des &amp;lt;table&amp;gt;&amp;lt;/table&amp;gt; pour la mise en page d&amp;apos;un site web. Il est recommandé d&amp;apos;utiliser &amp;lt;table&amp;gt; uniquement pour présenter des relations entre les données, relations avec des entêtes …
  22. La présentation peut varier selon les médias aural, braille, embossed, handheld, print, projection, screen, tty, tv au sein d’une même feuille de style
  23. Vous pouvez créer une feuille de style dédié à un média, juste pour l’affichage standard à l’écran, pour l’impression, pour les deux, … Utiliser media = &amp;quot;output&amp;quot; dans une balise &amp;lt;link&amp;gt; ou &amp;lt;style&amp;gt; Séparer plusieurs valeurs par des points virgules.
  24. La règle @import permet d&amp;apos;inclure un fichier CSS dans un autre fichier CSS Cette règle doit être placée en tête du fichier (avant toute autre règle). Elle peut spécifier un media type.
  25. Plutôt que de tout caser dans une seule classe (=&amp;gt; généricité + souplesse)