IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Dégradé de couleurs en fond de page.


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 580
    Points
    580
    Par défaut Dégradé de couleurs en fond de page.
    Bonjour,

    Je suppose que cette question a déjà été posée précédemment. Veuillez m'en excuser.
    Au hasard de mes promenades sur internet, je suis tombé sur une solution pour obtenir, en fond d'écran, un dégradé de couleurs. Le code simplifié est le suivant :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <style>
          html { min-height: 100%; }
          body { background-image: linear-gradient(to right bottom, #bdf, #024); }
        </style>
      </head>     
      <body>
        <p>bla bla...</p><p>bla bla...</p>
      </body>
    </html>
    A votre avis, est-ce la bonne façon d'obtenir un dégradé sur le fond d'une page HTML?

    Je suis surpris de rencontrer le style associé au sélecteur html. Je ne comprends pas bien ce qu'il signifie. Y a-t'il d'autres styles pouvant être associé à ce sélecteur particulier? Auriez-vous une documentation sur ce sujet?

    Merci par avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 408
    Points : 15 777
    Points
    15 777
    Par défaut
    faites une recherche sur "css linear-gradient" dans votre moteur de recherche préféré et vous trouverez plusieurs sites expliquant les différentes possibilités.

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 580
    Points
    580
    Par défaut
    Merci, mathieu, pour cette première réponse.

    Ma question ne porte pas sur la manière de créer un dégradé de couleurs, mais plutôt sur la manière de l'appliquer sur la totalité de la page. Si j'enlève le sélecteur html dans la feuille de styles, l'effet attendu disparaît.

  4. #4
    Membre éclairé
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Points : 705
    Points
    705
    Par défaut
    Ben ça me parait evident.
    Si tu enlèves html dans la feuille de style, évidemment que l'effet disparait, puisqu'il n'y a plus de hauteur.

    En fait non l'effet ne disparait pas mais se répète verticalement.
    Il faut donc changer la propriété et ses valeurs.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <style type="text/css">
    html { /*min-height: 100%;*/
    }
    body {
            background: linear-gradient(to right bottom, #bdf, #024) no-repeat;
    }
    </style>
        </head>
        <body>
    <p>bla bla...</p>
    <p>bla bla...</p>
    </body>
    </html>

    mais dans ce cas le background ne concerne que la hauteur du contenu.
    Donc pour que toute la fenêtre du navigateur soit concernée, il faut mettre une hauteur à <html>
    ou délimiter la page à l'intérieur de <body>

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 580
    Points
    580
    Par défaut
    Rebonjour,

    JefReb écrit :
    Une page web s'écrit entre <body> et </body>
    Si tu veux l'appliquer à toute ta page il faut mettre le linear-gradien sur le <body>
    si tu veux que sur le header, l'article ou autre balise tu l'applique sur cette balise.

    Tu peux appliquer une règle ou propriétés sur n'importe quelle balise.
    Tout cela me paraît évident aussi... quoiqu'il existe plusieurs solutions pour obtenir le dégradé de couleurs sur la page entière.

    JefReb écrit aussi :
    Si tu enlèves html dans la feuille de style, évidemment que l'effet disparait, puisqu'il n'y a plus de hauteur.
    Je ne trouve pas du tout cela évident. Quelle différence y a-t-il entre un style défini sur le sélecteur body et un style défini sur le sélecteur html? Il n'y a plus de hauteur certes, mais de quelle hauteur s'agit-il au juste?

  6. #6
    Membre éclairé
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Points : 705
    Points
    705
    Par défaut
    En fait je viens de modifier mon post en même temps que ta réponse.
    Regardes ce qui se passe si tu mets sans spécifier html:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    html { /*min-height: 100%;*/
    }
    body {
    	height:100%;
    	background-image: linear-gradient(to right bottom, #bdf, #024);
    }

    Il faut donc remonter d'un cran au dessus de <body>, c'est <html> et englobe.
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    html { height: 100%;
    }
    body {
    	height:100%;
    	background-image: linear-gradient(to right bottom, #bdf, #024);
    }
    Mais dans ce cas la hauteur de <body> n'a pas d'importance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/08/2017, 16h48
  2. Réponses: 0
    Dernier message: 03/09/2016, 09h55
  3. Réponses: 14
    Dernier message: 24/05/2013, 10h43
  4. Couleur de fond de page
    Par David55 dans le forum BIRT
    Réponses: 2
    Dernier message: 02/06/2011, 15h35
  5. Couleur de fond d’un page qui n’est pas une page mais juste
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/01/2006, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo