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 :

Sélection d'éléments par un extrait commun de leur attribut name


Sujet :

CSS

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut Sélection d'éléments par un extrait commun de leur attribut name
    Bonjour,


    Le titre de mon sujet est peut-être un peu obscur (désolé !).

    Je cherche à sélectionner plusieurs éléments qui ont pour seul point commun une partie de leur attribut name...
    Je sais que l'on peut utiliser "[attribut ~= valeur]" ou "[attribut |= valeur]" mais en l'occurence, la partie commune de l'attribut name n'est pas séparée du reste par un caractère spécifique... et je ne peux pas modifier ce nom (ni quoique ce soit, à part le CSS).


    Merci d'avance pour vos lumières !

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Tu as la possibilité d'utiliser soit ^, soit *, soit $...

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [name^="valeur"] { ton style }
    [name*="valeur"] { ton style }
    [name$="valeur"] { ton style }
    Le caractère ^ te permet de rechercher les éléments dont l'attribut commence par une certaine valeur.
    Le caractère * te permet de rechercher les éléments dont l'attribut contient une certaine valeur, peut importe où elle se trouve.
    Le caractère $ te permet de rechercher les éléments dont l'attribut se termine par une certaine valeur.
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut
    Merci pour ta réponse ! Sur les quelques sites que j'ai visités à ce sujet, aucun ne parlait de cette astuce -_-

    Mais mon problème ne s'arrête pas là (ça ne serait pas drôle sinon !) :
    j'ai maintenant réussi à sélectionner les éléments qui me conviennent, mais ces éléments sont des spans, et ce sont les cases qui contiennent ces champs (qui elles n'ont pas d'id) auxquelles je souhaite ajouter un style...
    Y'a-t-il un équivalent du parentNode de Javascript pour le CSS ? Je sais que l'on peut utiliser les fameuses expressions CSS pour IE, mais est-ce possible avec les "vrais" navigateurs ?
    Ou autre possibilité : peut-on sélectionner un élément (toujours en CSS) grâce à un de ses fils ?

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonjour,

    Citation Envoyé par _jey_ Voir le message
    mais ces éléments sont des spans, et ce sont les cases qui contiennent ces champs (qui elles n'ont pas d'id) auxquelles je souhaite ajouter un style...
    Pourrais tu expliquer un peu plus stp, sur quels éléments veux tu appliquer le style

    Citation Envoyé par _jey_ Voir le message
    Ou autre possibilité : peut-on sélectionner un élément (toujours en CSS) grâce à un de ses fils ?
    Les styles sont en cascade et passent de parent à enfant et non pas l'inverse.
    Je ne réponds pas aux questions techniques par MP.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Les styles sont en cascade et passent de parent à enfant et non pas l'inverse.
    C'est bien ce que je pensais...


    J'ai en fait un formulaire dans une application web que je modifie. Ce formulaire se présente sous forme de tableau (qui lui-même contient d'autres tableaux, etc...). Or certains champs n'ont pas la même disposition que les autres, et j'aimerais donc attribuer un style spécifique à chaque "case" <td> qui contient un de ces champs.
    Malheureusement, les spans ont des id bien distincts, mais pas les colonnes ou lignes du tableau.

    Dans un soucis de versionnement, je cherche à ne modifier que le CSS pour l'affichage graphique.

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut
    Sur l'exemple joint, j'ai un exemple de champs normal, c'est à dire avec l'intitulé en face de sa valeur, et en dessous les champs "spéciaux" (avec le texte en rouge, grâce au [name$="fin_du_nom"]).
    Sur un champs normal, je mets une bordure complète sauf le côté gauche (pour encadrer toute la ligne, et ne pas avoir de séparation). Pour les champs "spéciaux", je voudrais tout simplement les encadrer complètement, côté gauche compris.
    Images attachées Images attachées  

  7. #7
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Je comprends mieux.

    La seule solution que je vois c'est de rajouter la bordure sur tes champs "spéciaux" directement => attribuer un display:block; et renseigner le width et le height ...
    Je ne réponds pas aux questions techniques par MP.

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut
    Bon finalement j'ai craqué, j'ai modifié le code xsl de l'application, et j'ai ajouté un id pour les cases concernées... j'écrirais un script pour ajouter ça à chaque installation de nouvelle version !

    Merci Macmillenium, j'ai essayé ta technique, mais pour que la bordure soit bonne, je devais changer la taille des champs, mettre des padding dans tous les sens, et ça n'aurait jamais eu la même tête au final sur tous les navigateurs :p

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

Discussions similaires

  1. Ordonner les éléments par rapport à une sélection ?
    Par brunoperel dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/03/2007, 12h13
  2. [Dates] pb pour afficher éléments par éléments
    Par linouline dans le forum Langage
    Réponses: 9
    Dernier message: 04/06/2006, 14h55
  3. [HTML]Positionner un élément par rapport à un autre
    Par Samanta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/03/2006, 17h53
  4. Réponses: 7
    Dernier message: 19/10/2004, 22h40
  5. Réponses: 2
    Dernier message: 10/05/2004, 11h20

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