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 averti
    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
    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
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    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" )

  3. #3
    Membre averti
    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
    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
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    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

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    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