BSIO1 : SI6 - Développement d'applications
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Ce cours a été préparé grâce à
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
Les feuilles de style en cascade, généralement appelées CSS (de l'anglais Cascading Style Sheets), forment un langage informatique qui décrit la présentation des documents HTML et XML.
Les standards définissant CSS sont publiés par le World Wide Web Consortium (W3C).
Introduit au milieu des années 1990, CSS devient couramment utilisé dans la conception de sites web et bien pris en charge par les navigateurs web dans les années 2000.
BSIO1 : SI6 - Développement d'applications
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
L'un des objectifs majeurs des CSS est de gérer la mise en forme en dehors du code HTML.
HTML se concentre alors sur la description de la structure d'un document, laissant CSS décrire toute la présentation (style du document) séparément.
Les styles sont appliqués au dernier moment, dans le navigateur web des visiteurs qui consultent le document.
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Cette séparation entre la structure et le style fournit un certain nombre de bénéfices, permettant d'améliorer l'accessibilité, faciliter l'évolutivité des documents , et de réduire la complexité d'un document. Ainsi, les avantages des feuilles de style sont multiples :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
3 méthodes pour insérer du code CSS dans une page HTML:
La feuille de style externe : (méthode privilégiée) pour regrouper tous les styles disponibles pour un document.
La feuille de style interne : pour les besoins ponctuels ou spécifiques à un seul document.
Directement dans une balise HTML: grâce à l'attribut style des balises que vous connaissez .
N.B: on peut déclarer les styles à différents endroits, définissant ainsi leur priorité de prise en compte. On obtient donc une cascade de styles. La priorité croissante est :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
La feuille de style externe permet de centraliser, dans un seul fichier, les options de mise en forme de l'ensemble du site. Les avantages sont :
<html>
<head>
<link type="text/css" rel="stylesheet" href="mon style.css">
</head>
<body>
...
</body>
</html>
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Si la mise en forme ne concerne qu'une seule page, utilisez la feuille de style interne.
Le CSS est alors inclus dans la page HTML, entre les balises <style type="text/css"> et </style>. Par exemple :
<html>
<head>
<style type="text/css">
ici le code CSS...
</style>
</head>
<body>
...
</body>
</html>
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
Voici un exemple de code CSS à placer entre les balises <script> et </script>
BSIO1 : SI6 - Développement d'applications
Il est possible d'appliquer une mise en forme CSS à une balise unique, grâce à l'attribut style. Par exemple :
<span style="text-indent:25px; color:green; font-family:tahoma;">
Texte contenu dans la balise
<span style="font-weight:bold; color:blue">span</span>
</span>
<body>
...
<div style="display:block; text-align:center; border:solid 1px black; padding:10px;
background-color:lightsteelblue; font-weight:bold; letter-spacing:4px; font-size:16px;">
CECI EST UN EXEMPLE PLUS COMPLEXE
</div>
...
</body>
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Les balises HTML peuvent se voir attribuer une valeur pour l'attribut id. Par exemple :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
La valeur donnée dans l'attribut ID est comme une clé primaire, un identifiant : elle doit être unique.
On peut ainsi donner une mise en forme CSS à une balise unique. Par exemple :
<p id="paragraphe1">
p#paragraphe1 { color:red; }
BSIO1 : SI6 - Développement d'applications
Contrairement à l'ID, la même valeur de class peut être attribuée à plusieurs balises. Par exemple :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
Inversement, une même balise peut se voir affecter plusieurs classes. Par exemple :
<html>
<head>
<style type="text/css">
.discret { color:gray; }
</style>
</head>
<body>
<li class="discret">...</li>
<p class="discret">...</p>
</body>
</html>
<html>
<head>
<style type="text/css">
p.discret { font-size:90%; }
p.rouge { color : red; }
p.bordure-noire { border : solid 1px black; }
</style>
</head>
<body>
<p class="discret rouge bordure-noire">...</p>
</body>
</html>
BSIO1 : SI6 - Développement d'applications
Pour chaque déclaration, la structure est toujours la même :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
selecteur {
propriété: valeur;
}
BSIO1 : SI6 - Développement d'applications
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
Cet exemple de feuille de style (de base) donnera une page :
html, body {
margin: 0;
padding: 0;
}
body {
background-color: white;
font-family: Verdana, sans-serif;
font-size: 100%;
}
h1 {
font-size: 200%;
color: navy;
text-align: center;
}
h2 {
font-size: 150%;
color: red;
padding-left: 15px;
}
p,ul,li,td {
color: black;
}
a:link {
color: green;
text-decoration: underline;
}
a:visited {
color: gray;
}
a:hover {
color: red;
text-decoration: none;
}
a:active, a:focus {
color: red;
}
BSIO1 : SI6 - Développement d'applications
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
On peut modifier les apparences suivantes (applicable à n'importe quelle balise) :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
On peut modifier les apparences suivantes (applicable à n'importe quelle balise) :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Ecrivez le code HTML (sans aucune mise en forme HTML) et la feuille de style interne (pour faciliter la correction) qui reproduisent le texte suivant.
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
Vous n'avez droit qu'aux balises div, span, pre (texte préformaté, adaptée pour les codes de programmation), a et bien sûr style.
Utilisez toutes les propriétés vues ci-dessus (sauf text-transform).
BSIO1 : SI6 - Développement d'applications
Positionner du texte en colonnes en CSS est relativement facile; le langage CSS est fait pour cela. Le code est plus facile à maintenir, cela offre plus de choix de mise en page sans modification du code html, et surtout c'est plus accessible.
Consultez (et suivez) le tutoriel disponible sur le site du Mammouth.
Consultez le catalogue de CSS disponible sur le site d'Alsacreations.
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
De la même façon qu'il existe le validateur HTML, il existe également de validateur CSS, disponible à l'adresse URL suivante :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Coder en HTML ou en XHTML revient au même, tant que vous n'exploitez pas de XML.
Mais si vous choisissez le XHTML, il vous faudra être plus attentif aux détails pour avoir un code valide :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Il ne faut pas utiliser de balises ou d'attributs obsolètes ou dépréciés: ces éléments sont appelées à ne plus être interprétées par les navigateurs et d'une façon générale, ils sont remplaçables par des équivalents CSS. Quelques exemples :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
Désormais, vous devez garder en tête que les tableaux sont destinés à une mise en forme de données tabulaires, et non pour faire de la mise en page.
Un habillage très rapide du cadre (balise table) et des cellules (td) va déjà donner un aperçu de ce que l'on peut faire. Les propriétés à utiliser sont :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
BSIO1 : SI6 - Développement d'applications
La feuille de style contient le code suivant :
BTS SIO - AMEP Redoute - Année scolaire 2015-2016 - Préparé par Axel Féliot
table {
border-width:1px;
border-style:solid;
border-color:black;
width:50%;
}
td {
border-width:1px;
border-style:solid;
border-color:red;
vertical-align:middle;
width:50%;
}
.grise {
border:1px solid black;
background-color:silver;
}
.blue {
border:1px solid blue;
}
.none {
border-style:none;
}
Le code html contient :
<table>
<tr>
<td>Oh qu'il est beau !</td>
<td>Ce jouli tableau à bordures fines !!</td>
</tr>
</table>
<table class="none">
<tr>
<td class="grise">Oh la belle cellule grise !</td>
<td class="blue">Oh la belle bleue !!</td>
</tr>
</table>