V2 HTML 5 Notes
V2 HTML 5 Notes
V2 HTML 5 Notes
balise<br />.
Il existe six niveaux de titre, de<h1> </h1>à<h6> </h6>, à utiliser selon l'importance
du titre.
Pour créer des listes, on doit utiliser la balise<ul>(liste à puces, non ordonnée)
ou<ol>(liste ordonnée). À l'intérieur, on insère les éléments avec une balise<li>pour
chaque item.
Les liens permettent de changer de page et sont, par défaut, écrits en bleu et soulignés.
Pour insérer un lien, on utilise la balise<a>avec l'attribu href pour indiquer l'adresse
de la page cible. Exemple :<a href="https://openclassrooms.com">.
On peut faire un lien vers une autre page de son site simplement en écrivant le nom du
fichier :<a href="page2.html">. dans l’endredoit
Les liens permettent aussi d'amener vers d'autres endroits sur la même page. Il faut
créer une ancre avec l'attribut id pour « marquer » un endroit dans la page, puis faire
un lien vers l'ancre comme ceci :<a href="#ancre">.
Il est possible de « forcer » l'ouverture d'un lien dans une nouvelle fenêtre. Pour cela,
on rajouteratarget="_blank"à la balise<a>:
o GIF : similaire au PNG, plus limité en nombre de couleurs mais qui peut être
animé.
On insère une image avec la balise <img />. Elle doit obligatoirement comporter au
moins ces deux attributs : src(nom de l'image) et alt(courte description de l'image).
Si une image illustre le texte (et n'est pas seulement décorative), il est conseillé de la
placer au sein d'une balise <figure>. La balise <figcaption>permet d'écrire la
légende de l'image.
le site www.caniuse.com qui propose des tables de compatibilité des fonctionnalités de
HTML et CSS sur différents navigateurs (et sur leurs différentes versions)
la liste des sélécteurs : vous voulez une liste complète, vous pouvez vous renseigner
directement à la source : sur le site du W3C ! C'est très complet.
Il existe de nombreuses façons de sélectionner la portion de la page que l'on veut mettre en
forme. Par exemple, on peut viser :
toutes les balises d'un même type, en écrivant simplement leur nom (h1par exemple) ;
certaines balises spécifiques, auxquelles on a donné des noms à l'aide des attributs
class ou id(.nomclasse ou #nomid) ;
Example de selecteurs :
* : sélecteur universel
La plupart des polices sont soumises au droit d'auteur, il n'est donc pas légal de les utiliser sur
son site. Heureusement, il existe des sites comme fontsquirrel.com et dafont.com qui
proposent en téléchargement un certain nombre de polices libres de droits. Je recommande en
particulier fontsquirrel.com car il permet de télécharger des packs prêts à l'emploi pour CSS 3.
Voici les différents formats de fichiers de polices qui existent et qu'il faut connaître :
.ttf: TrueType Font. Fonctionne sur IE9 et tous les autres navigateurs.
.eot: Embedded OpenType. Fonctionne sur Internet Explorer uniquement, toutes
versions. Ce format est propriétaire, produit par Microsoft.
.otf: OpenType Font. Ne fonctionne pas sur Internet Explorer.
.svg: SVG Font. Le seul format reconnu sur les iPhones et iPads pour le moment.
.woff: Web Open Font Format. Nouveau format conçu pour le Web, qui fonctionne
sur IE9 et tous les autres navigateurs.
======= Formatage texte ===========================
exp :
p
{
font-family: Impact, "Arial Black", Arial, Verdana, sans-serif;
}
Ou
balises dites universelles : ( n’ont aucun effet que d’isolet une partie à l’intérieur d’un
text pour lui appliquer un style différent :
<span> </span>: c'est une balise de type inline, ( cad de la même famille que
<strong>et<em> ) Pour sélectionner certains mots uniquement au sein d’un
paragraphe
<div> </div> une balise de type block, qui entoure un bloc de texte ( de la même
famille <p>,<h1> )
<p>Bonjour et <span class="salutations">bienvenue</span> sur mon site !
</p>
========================Couleurs ===================================
******************** Couleur texte **********************
p
{
color: #FFFFFF; /* ou nom_couleur , ou bien rgb(Rouge, Vert, Bleu)
}
En CSS, si vous appliquez un style à une balise, toutes les balises qui se trouvent à l'intérieur
prendront le même style par défaut ( héritage ) à moins qu’on leur définit un style différent. Cela ne
fonctionne pas uniquement pour la couleur, entendons-nous bien. Toutes les propriétés CSS seront
héritées
background-attachment permet de « fixer » le fond. L'effet obtenu est intéressant car on voit
alors le texte « glisser » par-dessus le fond.
Autres propriétés :
background-repeat: no-repeat; /* repeat-x [le fond sera répété uniquement sur la première ligne,
horizontalement.] , repeat-y [sur la première colonne, verticalement], repeat [en mosaïque
(par défaut)]
background-position : 30px 50px; /* position du fond par rapport au coin supérieur gauche
de la page (ou du paragraphe, si vous appliquez le fond à un paragraphe). */
body
{
background: url("soleil.png") fixed no-repeat top right;
}
body
{
background: url("soleil.png") fixed no-repeat top right, url("neige.png") fixed; /* l’ordre de
déclaration est important, la première sera en première position par rapport à l’autre dans la
superposition*/
}
On peut appliquer un fond à n'importe quel élément, pas seulement <body>
****** opacity
p
{
opacity: 0.6; /* à un élément de la page, tout le contenu de cet élément sera rendu transparent
(même les images, les autres blocs à l'intérieur, etc.) */
}
Si vous voulez juste rendre seulement la couleur de fond transparente : RGBa à priviligier
p
{
background-color: rgba(255, 0, 0, 0.5); /* Fond rouge à moitié transparent */
}
********** Ombres
Des boites : box-shadow
p
{
box-shadow: 6px 6px 0px black; /* décalage horizontal de l'ombre, décalage vertical de l'ombre,
l'adoucissement du dégradé, la couleur de l'ombre */
}
Ou
p
{
box-shadow: 6px 6px 6px black inset; /* inset => ombre à l’interieur du box */
}
**** text-shadow
p
{
text-shadow: 2px 2px 4px black;
}
=========================
Pour centrer, il faut respecter les règles suivantes : (Il n'est cependant pas possible de centrer
verticalement un bloc avec cette technique. Seul le centrage horizontal est permis.)
Ancienne méthodes : tableaux Html, ensuite float, puis inline-block et enfin la flexbox
La direction :
Le retour à la ligne
Allignement :
Si vos éléments sont organisés horizontalement, l'axe secondaire est l'axe vertical.
Si vos éléments sont organisés verticalement, l'axe secondaire est l'axe horizontal.
ça marche aussi si vos éléments sont dans une direction verticale avec flex-direction: column;
#conteneur
{
display: flex;
justify-content: center;
align-items: center;
}
Ou tout simplement aussi :
#conteneur{
display: flex; }
.element{
margin: auto;}
Entre () :
:nth-child(n) selector matches every element that is the nth child, regardless of
type, of its parent
n can be a number(1,2,..), a keyword (like odd, even), or a formula(3n+1 for
instance).
.element:nth-child(1){
order: 3;}
.element:nth-child(2){
order: 1;}
.element:nth-child(3){
order: 2;}
.element:nth-
child(2){
flex: 1;}
.element:nth-child(1){
flex: 2;} /* grossir 2 fois plus que le second élément */
.element:nth-child(2){
flex: 1;}
Flex : Combine flex-grow (capacité à grossir),flex-shrink (capacité à maigrir) etflex-
basis (taille par défaut).
Css :
Fusion :
Pour effectuer une fusion, on rajoute un attribut à la balise <td>
La fusion de colonnes : colspan
La fusion de lignes rowspan
Exp : <td colspan="2"> fusionner deux cellulles colonnes.!</td>
Ou : <td rowspan="2">fusionner deux lignes </td>
</fieldset>
…
</form>
Sélectionner automatiquement un champ (curseur dessus) :
<input type="text" name="prenom" id="prenom" autofocus />
NB : On dispose de pseudo-formats en CSS pour changer le style des éléments requis ( :required) et
invalides (:invalid). N'oubliez pas non plus que vous disposez du pseudo-format :focuspour
changer l'apparence d'un champ lorsque le curseur se trouve à l'intérieur.
:required {
background-color: red;
}
Le bouton d'envoi
<input type="submit" value="Envoyer" />
Lorsque vous cliquez sur le bouton « Envoyer », le formulaire vous amène alors à la page indiquée
dans l'attribut action.
Attributs :
Poster / controls / width / height / loop / autoplay / preload (auto /
metadata / none).
NB : Les iPhone, iPad et iPod ne reconnaissent à l'heure actuelle que le format H.264 (fichier .mp4)…
et uniquement si celui-ci apparaît en premier dans la liste ! Je vous recommande donc d'indiquer le
format H.264 en premier pour assurer une compatibilité maximale. ( H.264 n’est pas open source, il
faut payer pour l’utiliser !!!)
NB : Comment protéger ma vidéo, je ne veux pas qu'on puisse la copier facilement !
Ce n'est pas possible. il faut bien de toute façon qu'il la télécharge d'une manière ou d'une autre !
NB : On peut rajouter le préfixe min-ou max-devant la plupart de ces règles. Ainsi, min-width
signifie « Largeur minimale » ,max-height« Hauteur maximale », etc.
La différence entre width et device-width se perçoit surtout sur les navigateurs mobiles des
smartphones. Ne pas utiliser handheld car non reconnus sur les navigateurs mobiles sauf opera.
NB : Pour cibler les smartphones, plutôt que d'utiliser max-width, il peut être intéressant de
recourir àmax-device-width: c'est la largeur du périphérique. Les périphériques mobiles ne
dépassant pas 480 px de large, on pourra viser uniquement les navigateurs mobiles avec cette media
query :
@media all and (max-device-width: 480px)
{
/* Vos règles CSS pour les mobiles ici */
}
Canvas : permet de dessiner au sein de la page web, à l'intérieur de la balise HTML <canvas>. On
peut dessiner des formes (triangles, cercles…) mais aussi ajouter des images, les manipuler, appliquer
des filtres graphiques… Au final, cela nous permet de réaliser aujourd'hui de véritables jeux et des
applications graphiques directement dans des pages web !
SVG : permet de créer des dessins vectoriels au sein des pages web. À la différence de Canvas, ces
dessins peuvent être agrandis à l'infini (c'est le principe du vectoriel). Le logicielInkscape est connu
pour permettre de dessiner des SVG.
Drag & Drop : permet de faire « glisser-déposer » des objets dans la page web, de la même façon
qu'on peut faire glisser-déposer des fichiers sur son bureau. Gmail l'utilise pour permettre d'ajouter
facilement des pièces jointes à un e-mail.
File API : permet d'accéder aux fichiers stockés sur la machine du visiteur (avec son autorisation). On
l'utilisera notamment en combinaison avec le Drag & Drop.
Géolocalisation : pour localiser le visiteur et lui proposer des services liés au lieu où il se
trouve (ex. : les horaires des salles de cinéma proches). La localisation n'est pas toujours très
précise, mais cela peut permettre de repérer un visiteur à quelques kilomètres près (avec son
accord).
Web Sockets : permet des échanges plus rapides, en temps réel, entre le navigateur du
visiteur et le serveur qui gère le site web (c'est une sorte d'AJAX amélioré). C'est un peu
l'avenir des applications web, qui pourront devenir aussi réactives que les vrais programmes.
WebGL : permet d'introduire de la 3D dans les pages web, en utilisant le standard de la 3D
OpenGL (figure suivante). Les scènes 3D sont directement gérées par la carte graphique.
================ Les sites web dynamiques (PHP, JEE, ASP .NET…) =============
JavaScript est régulièrement utilisé aujourd'hui pour faire de l'AJAX (Asynchronous JavaScript And
XML). Cette technique permet de modifier une partie de la page web que le visiteur consulte en
échangeant des données avec le serveur. Cela donne l'impression que les pages sont plus
dynamiques et plus réactives. Le visiteur n'a plus besoin de recharger systématiquement toute la
page.
Annexe :
Design de sites :
sites web comme https://html5up.net/, qui vous proposent des idées de design et qui peuvent
même vous donner le code HTML / CSS tout prêt !