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 :

pseudo-classe checked / sélecteur d'attribut / background-position


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Par défaut pseudo-classe checked / sélecteur d'attribut / background-position
    Bonjour,

    Voilà, j'expérimente un code tiré d'un livre, ça ne fonctionne pas et je ne vois pas pourquoi...
    Voici les codes :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <label>
        <input type="checkbox" id="cbox1" value="checkbox1">
        Voici la première case.
    </label>
    <div class="testimg">
     &nbsp; <!-- Sinon rien ne s'affiche -->
    </div>

    Fichier : exercice16 ("css")

    Code css : 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
     
    /* 1 */
    /* Utilisation d'un sprite */
    intput[type="checkbox"]{
    			background-image: url("../img/test/sprite.jpg");
    			background-position: 0 0;
    			} /* Ne fonctionne pas */
    /* 2 */
    /* Une fois, la checkbox cochée, on décale l'image d'arrière-plan */
    /* pour afficher la partie correspondant à une checkbox cochée */
    intput[type="checkbox"]:checked {
    				background-position: 0 16px;
    				} /* Ne fonctionne pas */
    /* 3 */
    /*Test pour voir si le chemin est correct, oui !*/
    .testimg {background-image: url("../img/test/sprite.jpg");
    background-position:0 16px;} /* Fonctionne*/
    Le but est de faire l'exercice, d'utiliser pour la première fois la technique du "sprite". J'ai créé une image d'une largeur de 16px sur une hauteur de 32px.
    Seul le code 3 fonctionne,
    Je test cela sous Google Chrome,
    Via f12, seul le code 3 montre le fichier nommé exercice16.css
    Via f12, le code 1 et 2, n'affichent pas le fichier exercice16.css

    Concrètement, le look par défaut d'une case à côché reste, comme si le fichier exercice16 est ignoré.
    Pourriez-vous m'aider s'il vous plaît ?

    Cordialement,

  2. #2
    Membre émérite
    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
    Par défaut
    Je n'ai pas l'image pour tester, mais en rajoutant à background-position:

    -o- pour Opera
    -moz- pour Gecko (Mozilla)
    -webkit- pour Webkit (Chrome, Safari, Android...)
    -ms- pour Microsoft (Internet Explorer)
    -khtml- pour KHTML (Konqueror)

    cela marcherait-il? et dans les autres navigateurs? Firefox, etc.

  3. #3
    Membre confirmé
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Par défaut
    Bonjour,

    Merci pour ta réponse, j'ai testé, c'est pire, dans le sens où pour le code 3 (le seule fonctionnant), c'est les 16 premiers pixels qui sont affichés,
    La propriété : background-position:0 16px; doit normalement afficher non pas les 16 premiers mes les 16 derniers pixels, d'où la hauteur définie à 32px.

    Quand la case n'est pas coché, j'aimerais que ce soit les 16 premiers pixels qui soit affichés. (par rapport à la hauteur de l'image)
    Quand la case est coché, j'aimerais que ce soit les 16 derniers pixels qui soit affichés.

    Ceci dit, je ne pense pas qu'il faille utiliser les préfixes que tu proposes, puisque aucune documentation concernant background-position: ne parle de ces préfixes.

    Ce qui m'intrigue, c'est que les codes 1 et 2 viennent d'un livre, j'imagine que l'auteur à testé le code avant de l'écrire.

    Comme ça fonctionne pour le code 3, ce n'est ni le chemin pointant vers l'image, ni l'image ni la syntaxe proposée par le livre.
    Peut-être qu'il faut chercher au niveau des sélecteurs ?

    J'ai rajouté l'image à la discussion, ne faites pas attention à son look, c'est juste un test. (Les 16 premiers pixels sont en blanc)
    Nom : sprite.gif
Affichages : 155
Taille : 382 octets

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • intput ???



    Une solution :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <p>
        <span><input type="checkbox" id="cbox1" value="checkbox1" />
        <label for="cbox1">Voici la première case.</label></span>
     
        <span><input type="checkbox" id="cbox2" value="checkbox1" />
        <label for="cbox2">Voici la 2ème case.</label></span>
    </p>
    Code css : 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
    18
    19
    20
    21
    22
    23
    24
     input[type="checkbox"] {
       visibility: hidden; /* NE PAS mettre en display:none; */
     }
     
    input[type="checkbox"] ~ label {
       position: relative;
     }
     
     input[type="checkbox"] ~ label:after {
       position: absolute;
       display: block;
       width: 16px;
       height: 16px;
       content: '';
       top:0; left:-20px;
     
       border: 1px solid #ccc;
       background-image: url("https://www.developpez.net/forums/attachments/p255955d1490003853/webmasters-developpement-web/mise-page-css/pseudo-classe-checked-selecteur-d-attribut-background-position/sprite.gif");
       background-position: 0 0;
     }
     
     input[type="checkbox"]:checked ~ label:after {
       background-position: 0 16px;
     }
    Dernière modification par Invité ; 20/03/2017 à 11h57.

  5. #5
    Membre confirmé
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Par défaut
    Pourquoi je n'ai pas (bien) relu le code que j'ai posté AVANT de le poster ? Réponse: la précipitation

    Un grand merci !

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

Discussions similaires

  1. Pseudo sélecteur et attribut data
    Par SpaceFrog dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/01/2015, 18h26
  2. Checkbox checked, Background position et IE
    Par Fooshi dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/08/2011, 13h19
  3. rendre l'attribut class prioritaire sur l'attribut style
    Par danyboy85 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 24/10/2006, 14h16
  4. Javascript dans l'attribut background
    Par Billy _IRIS1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2006, 13h11
  5. [HTML] [W3C] Attribut background
    Par GarGamel55 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/12/2005, 19h00

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