Upload
francois-senechal
View
109
Download
0
Embed Size (px)
Citation preview
HTMLHTML CSSCSS
HTML HTML
HTML est un langage Universel de description textuelle destinée à Internet.
Le créateur d'une page WEB définit la structure ou l'organisation d'une page en utilisant des balises.
CSSCSS
Le World Wide Web a introduit les feuilles de styles en cascade pour compléter la langage HTML.
Les CSS permettent de gérer l'apparence des documents.
Les feuilles indiquent aux balises HTML leur comportement ou style.
Les stylesLes styles
Un style rassemble tous les attributs que l'on peut appliquer à des types de textes similaires.
Attribut : taille,format
Textes similaires : titres, en-têtes, pied de page
Les styles donnent un nom commun à des groupes d'attributs
Les styles de WordLes styles de Word
Applique le style : Titre 1
Avantage du CSSAvantage du CSS
Une CSS est constituée de code séparé qui améliore les possibilités du HTML en permettant de redéfinir la façon dont fonctionnent les balises HTML existantes.
L'avantage par rapport à la création de nouvelles balises HTML repose sur le fait qu'en modifiant la définition d'une seule règle CSS centralisée, l'apparence de toutes les balises contrôlées par cette règles est modifiée.
Style dans la pageStyle dans la page
<style type="text/css">
body
{
margin: 10px 0 ;
padding: 0 ;
text-align: center ;
font: 0.8em "Trebuchet MS", helvetica, sans-serif ;
background: indianred ;
}
</style>
Du HTML au CSS : PrincipeDu HTML au CSS : Principe
<HTML> <HEAD> <TITLE>Le CSS</TITLE>
</HEAD> <BODY> <H1>Introduction</H1>
... </BODY></HTML>
@charset "iso-8859-1";
H1 { color : red ;}
.HTML
Fichier.CSS
Introduction
…
Le Résultat
Sélecteur simple
<link rel="stylesheet" type= "text/css" href= "fichier.css"> <link rel="stylesheet" type= "text/css" href= "fichier.css">
Les règlesLes règles
Une règle définit l'apparence et le comportement du code HTML.
Un règle indique à une balise HTML comment afficher son contenu.
La création de règles générique permet également de les appliquer à plusieurs balises.
SyntaxesSyntaxes
Sélecteur HTML
valeur;}propriété:Selecteur {
attribut à définir
définit la propriété
Règle
SyntaxesSyntaxes
Les propriétés identifient ce qu'il faut définir. Elles caractérisent l'apparence du contenu.
Les valeurs sont assignées à une propriété pour définir sa nature
Vari Faux
Nombre
Pourcentage
Types de règlesTypes de règles
Les sélecteurs sont des caractères alphanumériques qu'identifie la règle.
Sélecteur HTML
La classe
L'ID
Sélecteur HTMLSélecteur HTML
La partie textuelle d'une balise HTML est appelé sélecteur
H1 est le sélecteur de <H1>
Le sélecteur est exploité pour redéfinir le style de l'affichage de la balise.
Syntaxe générale utilisée Syntaxe générale utilisée
Les styles d'une balise
Sélecteur HTML
p { font-size: 12px;}
Propriété Valeur
Définition
Propriétés héritées d'un parentPropriétés héritées d'un parent
Toutes balises ont un parent : une balise conteneur qui les encadre.
Les balises HTML s'approprient généralement les styles des balises imbriquées dans leur parent : c'est l'héritage de style
<body><b color:red>
<i> Denis
</i></b>
</body>
Propriétés héritées d'un parentPropriétés héritées d'un parent
Toutes balises ont un parent : une balise conteneur qui les encadre.
Les balises HTML s'approprient généralement les styles des balises imbriquées dans leur parent : c'est l'héritage de style
<body><b color:red>
<i> Denis
</i></b>
</body>
Propriétés héritées d'un parentPropriétés héritées d'un parent
Toutes balises ont un parent : une balise conteneur qui les encadre.
Les balises HTML s'approprient généralement les styles des balises imbriquées dans leur parent : c'est l'héritage de style
<body><b color:red>
<i> Denis </i>
</b></body>
Propriétés héritées d'un parentPropriétés héritées d'un parent
Toutes balises ont un parent : une balise conteneur qui les encadre.
Les balises HTML s'approprient généralement les styles des balises imbriquées dans leur parent : c'est l'héritage de style
<body><b color:red>
<i> Denis </i>
</b></body>
Propriétés héritées d'un parentPropriétés héritées d'un parent
Toutes balises ont un parent : une balise conteneur qui les encadre.
Les balises HTML s'approprient généralement les styles des balises imbriquées dans leur parent : c'est l'héritage de style
<body><b color:red>
<i> Denis
</i></b>
</body>
timestimes + bold +red
times + bold +red+italics
DenisDenis
Denis
Définition de règles identiques pour plusieurs basilesDéfinition de règles identiques pour plusieurs basiles
Liste de sélecteurs séparés par les virgules
h1,h2,h3,p { font-size: 12px;}
Propriété Valeur
Définition
p { margin-top: 25px;}
La classeLa classe
Une classe est un style indépendant que l'on peut appliquer à toute balises HTML.
Chaque classe se voit attribuée un nom unique spécifié ensuite dans la ou les balises HTML qui l'utilise par le biais de l'attribut style.
Les règles de classe peuvent être définies entre les balises <style> </style>
dans l'en-tête ou dans un fichier CSS en ligne*.
Elle permettent aux fonctions Javascript d'identifier un objet unique, elles sont très utilisées en DHTML.
Les id sont comme les classes définit dans l'entête ou exportées d'un fichier CSS externe ou liés au document HTML.
Syntaxe générale d'une classe CSSSyntaxe générale d'une classe CSS
Le sélecteur de classe permet de définir un style applicable à toutes balises HTML.
Une sous class possède un nom unique précédé d’un point.
Syntaxe générale d'une classe CSSSyntaxe générale d'une classe CSS
Les styles d'une balise
.copy { font-size: 12px;}
Sélecteur de classe
Propriété
Définition
Valeur
utilisation <p class="copy"> … </p>utilisation <p class="copy"> … </p>
Exemple : sous class indépendanteExemple : sous class indépendante
.nav {color:red;}
<ul class="nav"> <li>nom</li><li>prenom</li><li>age</li>
</ul>
<ul class="nav"> <li>nom</li><li>prenom</li><li>age</li>
</ul>
<ul><li class="nav">nom</li><li class="nav">prenom</li><li class="nav">age</li>
</ul>
<ul><li class="nav">nom</li><li class="nav">prenom</li><li class="nav">age</li>
</ul>
Factorisationimportante
héritage sous class indépendantehéritage sous class indépendante
.nav li{color:red;}
<ul class="nav"> <li>nom</li><li>prenom</li><li>age</li>
</ul>
<ul class="nav"> <li>nom</li><li>prenom</li><li>age</li>
</ul>
Cela va affecter tous les éléments li dans la classe .nav
li sera enfant de la classe .nav
EcritureEcriture
.nav li{color:red;}
<ul><div class="nav">
<li>nom</li><li>prenom</li><li>age</li>
</div></ul>
<ul><div class="nav">
<li>nom</li><li>prenom</li><li>age</li>
</div></ul>
suitesuite
.nav ul ul{color:red;}<div class="nav">
<ul><li>nom
<ul> <li>dupont</li> <li>martin</li></ul>
</li><li>prenom
<ul> <li>denis</li> <li>gerard</li></ul>
</li></ul>
</div>
<div class="nav"><ul>
<li>nom<ul> <li>dupont</li> <li>martin</li></ul>
</li><li>prenom
<ul> <li>denis</li> <li>gerard</li></ul>
</li></ul>
</div>
Sous class dépendante Sous class dépendante
li.nav{color:red;}
<ul><li class="nav">nom</li><li class="nav">prenom</li><li class="nav">age</li>
</ul>
<ul><li class="nav">nom</li><li class="nav">prenom</li><li class="nav">age</li>
</ul>
Sous class dépendanteSous class dépendante
<div class="nav">…</div>
<BODY> <ul class="niveau1">
<li>Exemple 1</li><li>Liste simple</li>
</ul> <div class="italic_rouge">
Exemple 2 </div></BODY>
BilanBilan
.italic_rouge { color:red; font-style:italic;
}
Sous Class indépendante
.CSS
Sous Class dépendante
ul.niveau1 {list-style-type:square;color:blue;
}
.CSS
.HTMLLe Résultat
Exemple 1
Liste simple
Du HTML au CSS : SélecteursDu HTML au CSS : Sélecteurs
Le Résultat
Exemple 1
Liste simple
Exemple 2
<BODY> <ul class="niveau1">
<li>Exemple 1</li><li>Liste simple</li>
</ul> <div class="italic_rouge">
Exemple 2 </div></BODY>
<BODY> <ul class="niveau1">
<li>Exemple 1</li><li>Liste simple</li>
</ul> <div class="italic_rouge">
Exemple 2 </div></BODY>
.HTML
.italic_rouge { color:red; font-style:italic;
}
Sous Class indépendante
.CSS
Sous Class dépendante
ul.niveau1 {list-style-type:square;color:blue;
}
.CSS
IDID
Très utile pour spécifier des règles qui ne s'appliquent qu'à un élément avec un ID unique donné défini par l'attribut id en HTML.
Pas plus d'un élément ne doit avoir un ID donné.
utilisé avec Javascript pour repérer et traiter un élément particulier.
Syntaxe générale d'une IDSyntaxe générale d'une ID
des styles UNIQUE indépendants de toute balise HTML
utilisation <p id="area"> … </p>
Sélecteur d'ID
#area { font-size: 12px;}
Propriété Valeur
Définition
Du HTML au CSS : SélecteursDu HTML au CSS : Sélecteurs
<BODY>
<div id="bloc_unique">Bloc A</div>
</BODY>
<BODY>
<div id="bloc_unique">Bloc A</div>
</BODY>
.HTML
Le sélecteur id
#bloc_unique { background-color:black; color:white ;
}
.CSS
Le Résultat
Bloc A
L’élément devient unique, il est utilisé une seule fois dans la page.
LectureLecture
<li class="submenu">
li a un attribut class de valeur submenu
div#nav ul.niv1 li.submenu:hover ul.niv2 {}
la liste de la classe niv2
qui descend d'un élémentde liste survolé
qui descend d'une liste niv1
qui descend d'un div id nav
Positionnement et Flux en CSSPositionnement et Flux en CSS
Vue d’ensemble des méthodes de positionnement
Le fluxLe flux
On oubliera les tableaux !
Les modes de positionnementLes modes de positionnement
Flux : ordre d’affichage des éléments
4 méthodes de positionnementnormal float relatif absolu
Quels sont les différences ?
La fenêtreLa fenêtre
C'est dans la fenêtre du navigateur que se déroule l'action des pages Web.
Elle est l'ultime élément de conception : le parent de tous les éléments.
Avec CSS, on définit la fenêtre par le biais de la balise <body>
Origine (0,0)
hauteur du navigateur
hauteur réelle
Définition du type de positionnementDéfinition du type de positionnement
Lorsque vous définissez les attributs d'une balise vous désignez ce qui se trouve dans le conteneur de la balise en tant qu'élément unique de la fenêtre.
Il est possible d'attribuer différents types de positionnement
relatif : c'est le comportement par défaut, l'élément se positionne après ce qui le précède et avant ce qui le suit.
absolu : le positionnement crée un élément indépendant, un agent libre, séparé du reste du document, que l'on peut compléter par le code HTML de notre choix. L'élément qui l'héberge représente son origine.
on peut déplacer sa position depuis l'emplacement naturel dans la fenêtre par le biais des propriétés top et left.
Le Flux normalLe Flux normal
Bloc ABloc B
<BODY><div class="conteneur"> <div class="normalA"> Bloc A </div> <div class="normalB"> Bloc B </div></div></BODY>
.normalA {width:150px;height:150px;background-color:red;border:1px solid black;
}
.normalB {width:250px ;height:100px ;background-color:green;border:1px solid black;
}
Bloc conteneur
Le Flux normal : en blocLe Flux normal : en bloc
Bloc conteneur
Flux normal en bloc : Succession verticale
Flux normal en bloc : Succession verticale
Bloc A
Bloc B
<BODY><div class="conteneur"> <div class="normalA"> Bloc A </div> <div class="normalB"> Bloc B </div></div></BODY>
.normalA {width:150px;height:150px;background-color:red;border:1px solid black;
}
.normalB {width:250px ;height:100px ;background-color:green;border:1px solid black;
}
Le Flux normal : en ligneLe Flux normal : en ligne
Bloc conteneur
Bloc CBloc CBloc DBloc D
<BODY><div class="conteneur"> <span class="normalC"> Bloc C </span> <span class="normalD"> Bloc D </span></div></BODY>
.normalC {width:150px;height:150px;background-color:red;border:1px solid black;
}
.normalD {width:250px ;height:100px ;background-color:green;border:1px solid black;
}
Le Flux normal : en ligneLe Flux normal : en ligne
Bloc conteneur
Bloc CBloc CBloc DBloc D
<BODY><div class="conteneur"> <span class="normalC"> Bloc C </span> <span class="normalD"> Bloc D </span></div></BODY>
.normalC {width:150px;height:150px;background-color:red;border:1px solid black;
}
.normalD {width:250px ;height:100px ;background-color:green;border:1px solid black;
}
Flux normal en-ligne :
Succession horizontale
Flux normal en-ligne :
Succession horizontale
Le Flux relatifLe Flux relatif
<BODY><div class="conteneur"> <div class="bloc_marge"> Bloc A </div> css css css css...
</div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.bloc_marge {position:relative;width:300px;top:20px;left:30px;border:1px solid black;}
Bloc conteneur
Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css css css
Left – 30px
Top – 20px
Bloc A
rappel : margerappel : marge
<BODY><div class="conteneur"> <div class="bloc_relatif"> Bloc A </div> css css css css...
</div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.bloc_relatif {width:300px;margin-top:20px;margin-left:30px;border:1px solid black;}
Bloc conteneur
Bloc A
Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css css css
Left – 30px
Top – 20px
Le Flux flottantLe Flux flottant
Bloc conteneur
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <p> Texte...blabla ... </p></div></BODY>
.flotteA {float:left;width:500px;background-color:yellow;border:1px solid black;
}
Boîte A – float:leftBoîte A – float:left
Le Flux flottantLe Flux flottant
Bloc conteneur
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <p> Texte...texte ... </p></div></BODY>
.flotteA {float:left;width:650px;background-color:yellow;border:1px solid black;
}
Boîte A – float:leftBoîte A – float:left Texte…texte…text…texte … texte…texte…texte…texte…texte…texte…texte…texte…texte…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
Le Flux flottant/relatifLe Flux flottant/relatif
Bloc conteneur
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <p> Texte...texte ... </p></div></BODY>
.flotteA {
position : relatif
top:100px;float:left;width:650px;background-color:yellow;border:1px solid black;
}
Boîte A – float:leftBoîte A – float:left Texte…texte…text…texte … texte…texte…texte…texte…texte…texte…texte…texte…texte…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
texte…texte…texte…texte…texte…texte…texte…text…texte…texte
Le Flux flottantLe Flux flottant
Bloc conteneur - 800px de large
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <div class="flotteB"> Boîte B </div> </div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.flotteA {float:left;width:650px;background-color:yellow;border:1px solid black;
}
.flotteB {float:left;width:100px;background-color:blue;border:1px solid black;
} Boîte A – 650pxBoîte A – 650px
Le Flux flottantLe Flux flottant
Bloc conteneur - 800px de large
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <div class="flotteB"> Boîte B </div> </div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.flotteA {float:left;width:650px;background-color:yellow;border:1px solid black;
}
.flotteB {float:left;width:100px;background-color:blue;border:1px solid black;
}
Boîte A – 650pxBoîte A – 650px
Boîte B – 100pxBoîte B – 100px
Le Flux flottantLe Flux flottant
Bloc conteneur - 800px de large
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <div class="flotteB"> Boîte B </div> </div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.flotteA {float:left;width:650px;background-color:yellow;border:1px solid black;
}
.flotteB {float:left;width:600px;background-color:blue;border:1px solid black;
}
Boîte A – 650pxBoîte A – 650px
Boîte B – 600pxBoîte B – 600px
Le Flux flottantLe Flux flottant
Bloc conteneur - 800px de large
<BODY><div class="conteneur"> <div class="flotteA"> Boîte A </div> <div class="flotteB"> Boîte B </div> </div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.flotteA {float:left;width:650px;background-color:yellow;border:1px solid black;
}
.flotteB {float:left;width:600px;background-color:blue;border:1px solid black;
}
Boîte A – 650pxBoîte A – 650px
Boîte B – 600pxBoîte B – 600px
Le Flux absoluLe Flux absolu
<BODY><div class="conteneur"> <div class="bloc_absolu"> Bloc A </div>
css css css css css...
</div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.bloc_absolu {position:absolute;width:300px;margin-top:20px;margin-left:30px;border:1px solid black;}
Bloc conteneur
Bloc A
Css css css css css css css css Css css css css css css css css Css css css css css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css Css css css css css css css css
Left – 30px
Top – 20px
Le Flux absoluLe Flux absolu
<BODY><div class="conteneur"> css css css css css...
<div class="bloc_absolu"> Bloc A </div>
ddddddd…..dddd
</div></BODY>
.conteneur {width:800px;border:1px solid black;
}
.bloc_absolu {position:absolute;width:300px;margin-top:20px;margin-left:30px;border:1px solid black;}
Création d'un siteCréation d'un site
Exemple completExemple complet
Bloc conteneur
Bloc Header – flux normal
Exemple completExemple complet
Header_gauche - float left Header_droit – float left
Exemple completExemple complet
Bloc Menu Header – flux normal
Header_gauche - float left Header_droit – float left
Exemple completExemple complet
Bloc Menu Header – flux normal
Header_gauche - float left Header_droit – float left
BlocMenu
-Float left
Exemple completExemple complet
Bloc Menu Header – flux normal
Header_gauche - float left Header_droit – float left
BlocMenu
-Float left
Bloc contenu – float right
Les contrôle de visibilité et affichage d'un élémentLes contrôle de visibilité et affichage d'un élément
La propriété display est utile pour définir si un élément comprend des retours chariot avant et après, s'il se trouve dans d'autres éléments, s'il fait partie d'une liste.
voir menu.ppt
Les contrôles de visibilité d'un élément sont très utiles avec JavaScript.
Conclusion et OuvertureConclusion et Ouverture
Liberté dans la mise en page des sites web.
La présentation est beaucoup simple.
Nombreux problèmes de compatibilité.
ExemplesExemples
<style type="text/css">
.abs{
position: absolute;
top:25px;left:25px;
color:blue; border:blue solid 1px;
}
.rel{
position:relative;
top:25px; left:25px;
color:red;
border:red solid 2px;
}
</style>
<body>Sous le pont mirabeau<div class="abs"> coule </div>la Seine</body>
Sous le pont Mirabeau coule
la Seine
absabs
<body>Sous le pont mirabeau <div class="rel"> coule </div> la Seine</body>
.rel{ position:relative; top:0px; left:0px; color:red; border:red solid 2px;
Avec le décalageAvec le décalage
Sous le pont Mirabeau
la Seinecoule
Avec le décalageAvec le décalage
<body>Sous le pont mirabeau<span class="rel"> coule </span>la Seine</body>
Sous le pont Mirabeau la Seinecoule
<body>Sous le pont mirabeau<div class="rel"> coule </div><div class="rel"> la Seine </div>et nos amours</body>
<body>Sous le pont mirabeau<div class="abs"> coule </div><div class="abs"> la Seine </div>et nos amours</body>
idem avec span
<body>Sous le pont mirabeau<span class="rel"> coule </span><span class="rel"> la Seine </span>et nos amours
<body>Sous le pont mirabeau<div class="rel">
coule<div class="rel"> la Seine </div>
</div>et nos amours
</body> <body>Sous le pont mirabeau<div class="rel"> coule<div class="rel"> la Seine </div></div>et nos amours</body>
Sous le pont Mirabeau coule
la Seine
et nos amours
<body>Sous le pont mirabeau<div class="abs"> coule <div class="abs"> la Seine </div></div>et nos amours</body>
<body>Sous le pont mirabeau<div class="abs"> coule
<div class="abs"> la Seine
</div>
</div>et nos amours</body>
1
1
</head><body>Sous le pont mirabeau<div class="rel"> coule<span class="rel"> la Seine </span></div>et nos amours</body>
<body>Sous le pont mirabeau<div class="rel"> coule<span class="rel"> la Seine <span class="rel"> et nos amours</span></span></div></body>
<style type="text/css">.rel{ position:relative; float:left; top:25px; left:25px; color:red; border:red solid 2px; </style>
<body>Sous le pont mirabeau<div class="rel"> coule<div class="rel"> la Seine</div></div><div class="rel"> et nos amours</div></body>
Sous le pont Mirabeau coule
la Seine
et nos amours
.rel{ position:relative; float:left; top:25px; left:25px; color:red; border:red solid 2px; }
.rel1{ position:relative; float:left; top:0px; left:0px; color:red; border:blue solid 2px; }</style>
<body>Sous le pont mirabeau<div class="rel"> coule<div class="rel"> la Seine</div></div><div class="rel1"> et nos amours</div></body>