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 :

Un CSS qui n'est pas modifié - Theme CSS


Sujet :

CSS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2016
    Messages : 38
    Points : 23
    Points
    23
    Par défaut Un CSS qui n'est pas modifié - Theme CSS
    Bonjour à tous.

    Je présente mon script ici : https://jsfiddle.net/dae8cxgh/

    Mon theme doit changer le CSS à utiliser. Ca fonctionne parfaitement.
    Sauf pour personnaliser la balise BODY. Impossible de faire changer la couleur de fond, géré par (par exemple, le rouge) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    input[id="red"]:checked ~ body {background-color: #ff0000;}
    Quelque chose m’échappe mais je ne vois pas quoi...

    Merci à tous pour votre aide

  2. #2
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 739
    Points
    4 739
    Par défaut
    ~ permet de relier l'élement en référence avec un autre élément voisin sur sa droite

    l'élément body et un élément parent ( donc il est pas "voisin" )
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2016
    Messages : 38
    Points : 23
    Points
    23
    Par défaut
    je viens de mettre à jour le code car je viens de réaliser que les boutons, dans mon projet, seront en bas.

    En effet, là, plus rien ne marche.

    Mais alors, comment faire pour que le système change le css d'éléments parent ou plus "haut" dans le code ?

  4. #4
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 739
    Points
    4 739
    Par défaut
    le css ne permet que le changement sur des enfants ou des voisins de droite.

    Cela pourrait peut être changer dans une version future de CSs, mais ça risque d'être long...

    le seul moyen actuellement serait d'utiliser du javascript
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 950
    Points : 44 081
    Points
    44 081
    Par défaut
    Bonjour,
    on peut en utilisant le sélecteur d'adjacence « élargie » ~ (tilde) cibler des éléments qui ne sont pas forcément successeurs directs, mais successeurs tout court.

    Dans ton cas cela pourrait se faire en ajoutant un élément de fond à ta page qui suit tes éléments <input>.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="radio" id="red" name="color" value="red">
    <input type="radio" id="blue" name="color" value="blue">
    <input type="radio" id="green" name="color" value="green">
    <div id="layer-fond"></div>
    <!-- la suite du code -->
    Il suffit de le placer en position:fixed, par exemple, et de lui faire occuper tout l'espace disponible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #layer-fond {
      z-index: -1;     /* mise en arrière plan*/
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
    ensuite tu peux tout à fait le cibler comme tu l'as entrevu, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /* Styles if Red is checked */
    #red:checked ~ #layer-fond {
      background-color: #F00;
    }
    #red::checked ~ header {
      background-image: linear-gradient(to bottom, rgba(200,0,0,0.6) , rgba(100,0,0,1) );
    }
    #red::checked ~ section {
      background-image: linear-gradient(to left, rgba(200,0,0,0.6) , rgba(100,0,0,1) );
    }
    #red::checked ~ footer {
      background-image: linear-gradient(to top, rgba(200,0,0,0.6) , rgba(100,0,0,1) );
    }
    Nota : inutile de mettre un sélecteur du type input[id="red"], un simple #red suffit.

Discussions similaires

  1. Réponses: 13
    Dernier message: 04/04/2017, 12h40
  2. [array] supprimer un élément qui n'est pas le dernier
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 16/04/2008, 20h41
  3. Réponses: 8
    Dernier message: 04/08/2004, 14h17
  4. LIKE de tout ce qui n'est pas compris entre a<-&
    Par DjinnS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/07/2003, 13h09
  5. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48

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