Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
HTML CSS
2
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.
3
CSS 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.
4
Les 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
5
Les styles de Word Applique le style : Titre 1
6
Avantage 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.
7
Style 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>
8
Du HTML au CSS : Principe
<HEAD> <TITLE>Le CSS</TITLE> </HEAD> <BODY> <H1>Introduction</H1> </BODY> </HTML> .HTML <link rel="stylesheet" type= "text/css" href= "fichier.css"> Le Résultat Introduction … Un document Html est toujours composé d’un corps où se place le contenu et d’un en-tête (entre balise HEAD) dans lequel va se placer le lien entre Html et une feuille de style css grâce à la balise link. Rel permet de spécifier une relation, stylesheet se rapporte à une feuille de style externe, le type de document lié est le style css mode texte, et href définit l’adresse du document css. Ici, on appelle la feuille fichier.css car la structure du document html et sa présentation sont gérées séparément. Dans cette feuille de style, on ajoute une règle de couleur à une balise html existante h1 qui sert à définir un titre de niveau 1. On obtient ainsi comme résultat, le titre introduction s’écrivant en rouge. Il s’agit d’un sélecteur simple, on a simplement appliqué un style (couleur rouge) à une balise html. Mais il existe d’autres types de sélecteurs pour définir des règles. @charset "iso "; H1 { color : red ; } Sélecteur simple Fichier.CSS
9
Les 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.
10
Syntaxes Selecteur { propriété: valeur;} Règle Sélecteur HTML
définit la propriété attribut à définir
11
Syntaxes 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
12
Types de règles Les sélecteurs sont des caractères alphanumériques qu'identifie la règle. Sélecteur HTML La classe L'ID
13
Sé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.
14
Syntaxe générale utilisée
Les styles d'une balise Sélecteur HTML Propriété Valeur p { font-size: 12px;} Définition
15
Proprié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>
16
Proprié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>
17
Proprié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>
18
Proprié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>
19
Proprié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> Denis times times + bold +red times + bold +red+italics
20
Définition de règles identiques pour plusieurs basiles
Liste de sélecteurs séparés par les virgules Propriété Valeur h1,h2,h3,p { font-size: 12px;} Définition p { margin-top: 25px;}
21
La 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.
22
Syntaxe 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.
23
Syntaxe générale d'une classe CSS
Les styles d'une balise Sélecteur de classe Propriété Valeur .copy { font-size: 12px;} Définition utilisation <p class="copy"> … </p>
24
Exemple : sous class indépendante
.nav {color:red;} <ul> <li class="nav">nom</li> <li class="nav">prenom</li> <li class="nav">age</li> </ul> Factorisation importante <html> <head> <meta content="text/html; charset=ISO " http-equiv="content-type"> <title></title> <style> .nav {color:red;} </style> </head> <body> <ul class="nav"> <li>nom</li> <li>prenom</li> <li>age</li> </ul> </body> </html> <ul class="nav"> <li>nom</li> <li>prenom</li> <li>age</li> </ul>
25
héritage sous class indépendante
.nav li{color:red;} <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 <html> <head> <meta content="text/html; charset=ISO " http-equiv="content-type"> <title></title> <style> .nav li{color:red;} </style> </head> <body> <ul class="nav"> <li>nom</li> <li>prenom</li> <li>age</li> </ul> </body> </html>
26
Ecriture .nav li{color:red;}
<ul> <div class="nav"> <li>nom</li> <li>prenom</li> <li>age</li> </div> </ul> <html> <head> <meta content="text/html; charset=ISO " http-equiv="content-type"> <title></title> <style> .nav li{color:red;} </style> </head> <body> <ul> <div class="nav"> <li>nom</li> <li>prenom</li> <li>age</li> </ul> </div> </body> </html>
27
suite .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> <html> <head> <meta content="text/html; charset=ISO " http-equiv="content-type"> <title></title> <style> .nav ul ul{color:red;} </style> </head> <body> <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 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> </body> </html>
28
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> <html> <head> <meta content="text/html; charset=ISO " http-equiv="content-type"> <title></title> <style> li.nav{color:red;} </style> </head> <body> <ul> <li>nom</li> <li>prenom</li> <li>age</li> </ul> <br> <ul> <li class="nav">nom</li> <li class="nav">prenom</li> <li class="nav">age</li> </ul> <br> <br> </body> </html>
29
Sous class dépendante <div class="nav"> … </div>
30
Sous Class indépendante
Bilan <BODY> <ul class="niveau1"> <li>Exemple 1</li> <li>Liste simple</li> </ul> <div class="italic_rouge"> Exemple 2 </div> </BODY> .HTML Le Résultat Exemple 1 Liste simple Sous Class dépendante Le sélecteur de classe permet de définir un style applicable à toute balise HTML. Une sous class possède un nom unique précédé d’un point. Dans cet exemple, on créer la sous class appelée niveau1 que l’on associe à la balise html ul (permet de créer des listes). Pour l’utiliser, dans le body on utilise l’attribut class dans la balise ul. On obtient ainsi une liste avec des puces carrées et le texte est bleu. Sous Class indépendante ul.niveau1 { list-style-type:square; color:blue; } .CSS .italic_rouge { color:red; font-style:italic; } .CSS
31
Du HTML au CSS : Sélecteurs
<BODY> <ul class="niveau1"> <li>Exemple 1</li> <li>Liste simple</li> </ul> <div class="italic_rouge"> Exemple 2 </div> </BODY> .HTML Le Résultat Exemple 1 Liste simple Exemple 2 Sous Class dépendante Pour le 2nd exemple, italic_rouge est une sous classe indépendante cette fois car on peut l’employer avec n’importe quel balise html, ici on utilise la balise div qui permet de regrouper plusieurs éléments html. On obtient finalement un texte italique rouge. Il existe un dernier type de sélecteur, le sélecteur ID. Sous Class indépendante ul.niveau1 { list-style-type:square; color:blue; } .CSS .italic_rouge { color:red; font-style:italic; } .CSS
32
ID 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.
33
Syntaxe générale d'une ID
des styles UNIQUE indépendants de toute balise HTML utilisation <p id="area"> … </p> Sélecteur d'ID Propriété Valeur #area { font-size: 12px;} Définition
34
Du HTML au CSS : Sélecteurs
Le Résultat <BODY> <div id="bloc_unique"> Bloc A </div> </BODY> .HTML Bloc A Le sélecteur id L’élément devient unique, il est utilisé une seule fois dans la page. #bloc_unique { background-color:black; color:white ; } On lui spécifie un nom ici bloc_unique précédé du signe dièse #. Ensuite il peut être attribué à n’importe quel balise html comme le div mais il ne peut être utilisé qu’une seule fois dans la page. Maintenant que l’on a vu comment intégrer du css au page html, je vais donner quelques indications sur le modèle de boîte en css. .CSS
35
Lecture <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ément de liste survolé qui descend d'une liste niv1 qui descend d'un div id nav
36
Positionnement et Flux en CSS
Vue d’ensemble des méthodes de positionnement
37
Le flux On oubliera les tableaux !
38
Les modes de positionnement
Flux : ordre d’affichage des éléments 4 méthodes de positionnement normal float relatif absolu Quels sont les différences ? Le concept de flux indique le fait que toute boîte se place en priorité dans le coin supérieur gauche d’une page. Les boîtes sont placées dans un flux et non pas collé dans une grille. Il existe principalement 4 types de positionnement pour un élément, le positionnement normal, flottant, relatif et absolu. Je vais démontrer par l’exemple leurs fonctions et leurs différences en commençant par le mode par défaut, le positionnement normal.
39
La 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> hauteur du navigateur Origine (0,0) hauteur réelle
40
Dé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.
41
Le Flux normal Bloc conteneur 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; } Bloc conteneur Pour illustrer ce mode, on crée un bloc conteneur qui contiendra tous les blocs. Par défaut, le bloc A appelé sous classe normal A est inséré en haut à gauche, c’est le flux normal. On place un second bloc, le bloc B à la suite dans une autre balise div. Bloc A Bloc B
42
Le Flux normal : en bloc Bloc conteneur
<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 A Bloc B Bloc conteneur Le navigateur traite successivement les 2 éléments rencontrés en les affichant verticalement. L’autre type de flux normal est en-ligne. Flux normal en bloc : Succession verticale
43
Le Flux normal : en ligne
<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; } Bloc conteneur De la même manière, on place les éléments dans un bloc conteneur. On crée 2 blocs : normal C et normal D différenciés par leurs couleurs. Le bloc C se place en haut à gauche. Mais en utilisant la balise span, le bloc D se place juste à côté sur la même ligne. Bloc C Bloc D
44
Le Flux normal : en ligne
<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; } Bloc C Bloc D Bloc conteneur Pour résumer, le flux normal en bloc ou en ligne effectue un traitement linéaire du contenu. C’est un positionnement plutôt statique contrairement au flottant. Flux normal en-ligne : Succession horizontale
45
Le Flux relatif Bloc A Bloc conteneur Top – 20px Left – 30px
<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 A Top – 20px Left – 30px 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 Nous sommes dans le bloc conteneur où l’on a placé un contenu texte pour illustrer les boîtes relatives. On y ajoute le bloc A appelé bloc relatif qui par défaut se place en haut à gauche comme dans le flux normal. La seule différence c’est que pour positionner cette boîte on va définir des propriétés de décalages avec margin-top et left. Dès que le décalage est effectué, le contenu suivant (ici du texte) ne sera pas chevauché par le bloc car il est décalé également vers le bas pour laisser l’espace au bloc. Voyons tout de suite la différence avec le flux absolu Bloc conteneur
46
rappel : marge Bloc A Bloc conteneur Top – 20px Left – 30px
<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; } 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 Bloc A Top – 20px Left – 30px Nous sommes dans le bloc conteneur où l’on a placé un contenu texte pour illustrer les boîtes relatives. On y ajoute le bloc A appelé bloc relatif qui par défaut se place en haut à gauche comme dans le flux normal. La seule différence c’est que pour positionner cette boîte on va définir des propriétés de décalages avec margin-top et left. Dès que le décalage est effectué, le contenu suivant (ici du texte) ne sera pas chevauché par le bloc car il est décalé également vers le bas pour laisser l’espace au bloc. Voyons tout de suite la différence avec le flux absolu Bloc conteneur
47
Le Flux flottant Bloc conteneur Boîte A – float:left
<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; } Bloc conteneur La position float retire une boîte du flux normal pour la placer le plus à droite ou le plus gauche possible dans son conteneur. La boîte A définie en float left va logiquement se placer le plus à gauche possible dans le conteneur. Boîte A – float:left
48
Le Flux flottant Bloc conteneur Boîte A – float:left
<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: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 Bloc conteneur En ajoutant un paragraphe de texte, on observe que le contenu s’écoule le long de la boîte A pour occuper tout l’espace libre. Je vais maintenant vous montrer un autre exemple particulier pour comprendre une autre particularité des boîtes flottantes.
49
Le Flux flottant/relatif
<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: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 Bloc conteneur En ajoutant un paragraphe de texte, on observe que le contenu s’écoule le long de la boîte A pour occuper tout l’espace libre. Je vais maintenant vous montrer un autre exemple particulier pour comprendre une autre particularité des boîtes flottantes.
50
Bloc conteneur - 800px de large
Le Flux flottant <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; } Bloc conteneur - 800px de large Cette fois ci je vais spécifier les dimensions pour comprendre le principe. Le bloc conteneur fait 800 pixels de large. On veut y placer 2 boîtes flottantes gauche : d’abord la boîte A faisant 650 pixels se place comme la boîte précédente. La croix indique le coin supérieur le plus à gauche disponible pour y placer la boîte suivante. Boîte A – 650px
51
Bloc conteneur - 800px de large
Le Flux flottant <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 – 650px Bloc conteneur - 800px de large Sachant qu’il ne reste que 150 pixels de largeur libre, comment va se placer la boîte B ? Boîte B – 100px
52
Bloc conteneur - 800px de large
Le Flux flottant <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 – 650px Bloc conteneur - 800px de large Sachant qu’il ne reste que 150 pixels de largeur libre, comment va se placer la boîte B ? Boîte B – 600px
53
Bloc conteneur - 800px de large
Le Flux flottant <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 – 650px Boîte B – 600px Bloc conteneur - 800px de large A cause de sa largeur, la boîte B va directement se glisser en dessous par rapport à la nouvelle définition du coin rouge. Ce problème n’existe pas avec le flux relatif.
54
Le Flux absolu Bloc A Bloc conteneur Bloc A Top – 20px Left – 30px
<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 A Top – 20px 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 On travaille toujours dans le même bloc conteneur avec du texte aussi. Le bloc A appelé bloc absolu se positionne en haut à gauche. Le principe de l’absolu est le même que pour le relatif, on place le bloc en décalant par rapport aux limites du bloc conteneur. Mais inévitablement, le bloc en position absolu recouvre le paragraphe et cette fois-ci il n’y a pas de décalage relatif par rapport au bloc. Maintenant que nous avons manipulé ces différentes méthodes, je vais vous montrer un exemple concret issu de mon site web. Bloc conteneur Bloc A
55
Le Flux absolu <div class="bloc_absolu"> Bloc A </div>
<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; } On travaille toujours dans le même bloc conteneur avec du texte aussi. Le bloc A appelé bloc absolu se positionne en haut à gauche. Le principe de l’absolu est le même que pour le relatif, on place le bloc en décalant par rapport aux limites du bloc conteneur. Mais inévitablement, le bloc en position absolu recouvre le paragraphe et cette fois-ci il n’y a pas de décalage relatif par rapport au bloc. Maintenant que nous avons manipulé ces différentes méthodes, je vais vous montrer un exemple concret issu de mon site web.
56
Création d'un site Voici la page d’accueil d’un site.
A priori tous semble homogène, la présentation est fluide. Elle est composée d’un en-tête en haut, d’un menu à gauche et le contenu se situe à droite. Mais en fait ce site utilise les méthodes de position css pour sa mise en page. Je vais détaillez rapidement comment elle est construite.
57
Bloc Header – flux normal
Exemple complet Bloc conteneur Bloc Header – flux normal Tout le site est centré grâce à un bloc conteneur. Le bloc formant l’en tête est en position normal reglé pour occuper toute la largeur du conteneur.
58
Exemple complet Header_gauche - float left Header_droit – float left
Pour placer une image à gauche et le titre du site à droite, j’ai imbriquer dans l’en tête, deux nouveaux bloc flottants gauche. Les largeurs sont spécifiées pour que les 2 blocs restent sur une même ligne.
59
Exemple complet Header_gauche - float left Header_droit – float left
Bloc Menu Header – flux normal Un troisième bloc est imbriqué dans le bloc header spécifier en flux normal, il occupe tout l’espace disponible en dessous car sa largeur est spécifiée également.
60
Exemple complet Header_gauche - float left Header_droit – float left
Bloc Menu Header – flux normal Bloc Menu - Float left Ensuite, le menu est en fait un bloc positionné en flottant gauche, donc il se place dans le coin le plus à gauche disponible juste en dessous du bloc header.
61
Exemple complet Header_gauche - float left Header_droit – float left
Bloc Menu Header – flux normal Bloc Menu - Float left Bloc contenu – float right Enfin, le bloc contenu est défini en float right, il va logiquement occuper tout l’espace disponible à partir du point le plus à droite. Ce site montre concrètement le résultat d’un travail de positionnement sur le flux à travers toutes les méthodes que je vous ai montré.
62
Les 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.
63
Conclusion et Ouverture
Liberté dans la mise en page des sites web. La présentation est beaucoup simple. Nombreux problèmes de compatibilité. Pour conclure, le positionnement en css a révolutionné la mise en forme des sites Internet en permettant une présentation beaucoup plus simple. Mais il reste encore des risques d’erreur de comptabilité entre les navigateurs car il n’interprète pas de la même manière. Je pense que le css a encore beaucoup d’avenir dans le développement web, l’arrivée du css2 a accélérée son élan qui va continuer avec le css3 et l’évolution du langage XML.
64
Exemples <style type="text/css"> .abs{ position: absolute;
top:25px; left:25px; color:blue; border:blue solid 1px; } .rel{ position:relative; color:red; border:red solid 2px; </style>
65
<body> Sous le pont mirabeau <div class="abs"> coule </div> la Seine </body>
66
Sous le pont Mirabeau coule la Seine coule
67
abs
68
<body> Sous le pont mirabeau <div class="rel"> coule </div> la Seine </body>
69
.rel{ position: relative; top:0px; left:0px; color:red; border:red solid 2px;
70
Avec le décalage Sous le pont Mirabeau la Seine coule
71
Avec le décalage
72
<body> Sous le pont mirabeau <span class="rel"> coule </span>la Seine </body>
73
Sous le pont Mirabeau la Seine
coule
75
<body> Sous le pont mirabeau <div class="rel"> coule </div> <div class="rel"> la Seine </div> et nos amours </body>
77
<body> Sous le pont mirabeau <div class="abs"> coule </div> <div class="abs"> la Seine </div> et nos amours </body>
78
idem avec span
79
<body> Sous le pont mirabeau <span class="rel"> coule </span><span class="rel"> la Seine </span> et nos amours
81
<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>
82
Sous le pont Mirabeau coule la Seine et nos amours
85
<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
87
</head> <body> Sous le pont mirabeau <div class="rel"> coule <span class="rel"> la Seine </span> </div> et nos amours </body>
89
<body> Sous le pont mirabeau <div class="rel"> coule <span class="rel"> la Seine <span class="rel"> et nos amours</span></span> </div> </body>
91
<style type="text/css">
<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>
92
Sous le pont Mirabeau coule et nos amours la Seine
94
.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>
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.