BACKGROUND : DU FOND MIS EN FORME !

Transcription

BACKGROUND : DU FOND MIS EN FORME !
BACKGROUND : DU FOND MIS
EN FORME !
background-image : url ("img/image.png"); (image de fond)
background-attachment
background-attachment : fixed; /* le fond reste fixe quand la page défile*/
background-attachment : scroll; /* le fond défile avec la page (par défaut) */
background-attachment : local, /* le fond défile quand l'élément qui la contient
scroll, pas quand la page défile(CSS3) */
background-attachment : scroll,fixed; /* accepte plusieurs valeurs séparées pour
une virgule pour les images de fond multiples(CSS3) */
background-repeat : no-repeat ; /* image unique sur la page */
background-repeat : repeat-x ; /* répété sur la première ligne horizontalement */
background-repeat : repeat-y ; /* répété sur la première colonne verticalement */
background-repeat : repeat; /*répété horizontalement et verticalement, valeur par
défaut */
background-repeat : repeat-x, no-repeat; /* accepte plusieurs valeurs séparées pour
une virgule pour les images de fond multiples(CSS3) */
background-position : position de l’image par rapport au coin supérieur gauche de
la page.
background-position : 30px 50px ; (gauche haut)
background-position : right/left/center top/bottom;
background-position : right bottom, left top;/* accepte plusieurs valeurs séparées
pour une virgule pour les images de fond multiples(CSS3) */
BACKGROUND PAGE
Plusieurs niveaux de fond :
- La balise body peut être utilisée pour placer un background, c'est l'élément
ancêtre de toute balise.
- Une div de largeur et hauteur du body peut servir à placer une seconde couche de
background.
Voir exemple
Autre exemple(One-page)
BACKGROUND BLOCK
Nous avions jusqu'alors utilisé le background-color, le border, le shadow pour
donner du volume ou du caractère à nos blocs (div, section, article..).
Mais tout élément bloc peut avoir un background image.
BACKGROUND CSS3
background-size spécifie la taille de l'image dans l'arrière plan.
background-size: x y;
x détermine la dimension horizontale (pixels, em, auto, pourcentage %, etc.),
y détermine la dimension verticale (pixels, em, auto, pourcentage %, etc.)
Valeurs possibles:
Dimensions : par exemple "px" ou "%" : précise la hauteur ou la largeur de l'image.
"cover" : forcera à couvrir toute la surface sans déformer l'image. Quitte à la rogner.
"contain" : forcera l'image à ne pas dépasser de l'élément sans la déformer.
Inconvénient :
Ne fonctionne pas sur Internet Explorer <= 8 et les anciennes versions des navigateurs
tels que Firefox 3.0.
-webkit-background-size: cover; /* pour Chrome et Safari */
-moz-background-size: cover; /* pour Firefox */
-o-background-size: cover; /* pour Opera */
background-size: cover; /* version standardisée */
Plusieurs images dans un arrière-plan : background multiple
Le résultat est similaire à des calques : l'image la plus proche de la propriété (la première
énumérée) sera l'image de premier plan.
Si une couleur de fond est déclarée, elle sera toujours reléguée au dernier plan.
background-image: url("image1"), url("image2");
background-position: x y, x y;
background-repeat: no-repeat;
background:url(img/01.jpg) no-repeat right top, url(02/img/galerie/04.jpg) no-repeat;
width:269px; height:180px;
Autre exemple de backgrounds multiples
LES DEGRADES EN CSS3
Deux nouvelles propriétés permettent de réaliser et gérer des arrière-plans de
teintes dégradées.
Il s'agit de linear-gradient pour les dégradés linéaires et radial-gradient pour les
dégradés radiaux.
SYNTAXE POUR LINEAR-GRADIENT
Les dégradés linéaires empruntent la valeur-fonction linear-gradient() de la propriété
background-image (ou background en raccourci).
Il convient de préciser au minimum le point d'arrivée du dégradé ainsi que deux
couleurs (ou plus).
background : linear-gradient(x y, couleur1, couleur2, couleurN)
Valeurs possibles
x et/ou y définissent la direction du dégradé.
Exemple : "to left bottom" ou "to right",
couleur : le nom, la valeur hexadécimal ou la valeur RGBa
Exemple : Dégradé du vert au blanc transparent en diagonal du haut gauche vers le bas
droite
background: linear-gradient(to right bottom, green, rgba(0,255,0,0));
SYNTAXE POUR LINEAR-GRADIENT
Les dégradés radiaux sont réalisables à l'aide de la valeur-fonction radial-gradient().
Les dégradé radiaux sont définis par leur origine, l'angle, l'orientation, et leur type,
circle ou ellipse.
background : radial-gradient(forme at x y, couleur1, ..., couleurN)
Valeurs possibles
x et/ou y définissent le point d'origine du dégradé radial,
couleur : le nom, la valeur hexadécimal ou la valeur RGBa
Exemple : Dégradé de type radial avec pour départ le centre au top et une forme
elliptique :
background: radial-gradient(ellipse at center top, green, blue);
On définit les couleurs du centre (verte) et externe (bleu) ainsi que la forme et la position
initiale.
Elles sont complétées par le rayon s'il s'agit d'un dégradé radial.
plus d'infos sur le radial-gradient
Colorzilla : générateur de dégradé CSS3
LISTES
ul, ol, il : balises de type block
Dimensions : width, heigth, min-width, max-width …
list-style-type : none, disc, circle, square (liste à puces)
list-style-type : none, decimal, lower-roman, upper-roman … (liste numérotées)
list-style-image : url(« image.png ») - remplace la puce par une image.
list-style-positon : outside ou inside - puce à l 'extérieur ou à l'intérieur du texte.
L'inconvénient de cette méthode est que les images choisies comme puces ne sont pas
forcement alignées avec le texte, et pire tous les navigateurs ne positionnent pas ces
puces de la même façon...
Pour palier à ce problème, l'idée est de mettre ces images en fond de <li>
background-image:url()
On peut ajuster la position de l'image par rapport au texte à l'aide de l'attribut backgroundposition:vertical horizontal ou grâce à un line-height égale à la hauteur de l'image pour un
centrage vertical, et d'un padding-left au moins égazle à la largeur de l'image pour ne pas
que l'image se superpose au texte.
EXOS
Exercice 1 : Image de fond
1/ Créez un nouveau dossier background
2/ Créez une page "background.html", notez vos observations en liste dans une section
centrée
3/ Mettre une image de fond de petite taille (body)
4/ Que se passe-t-il par défaut ?
5/ Ajoutez une image en répétition verticale
6/ Fixez l'image de fond, qu'observez vous ?
7/ Centrer une nouvelle image en haut de la page
8/ Mettre une img en .jpg pour le body et une .png en fixe dans une div qui prend tout
l'espace du body, jouez sur la transparence et la superposition, observations...
9/ Ajouter un background attachment fixed à votre section d'observations, modifier son
positionnement, observations...
10/ Ajouter une image de fond à chacun de vos éléments de votre liste d'observations
Exercice 2 : Repro
1/ Sur un deuxième fichier : background-02.html
2/ Reproduire le visuel avec vos propres backgrounds
Le projet
Reprendre les connaissances vues en cours et les appliquer au projet perso.
Correction exo 02