28172 sujets

CSS et mise en forme, CSS3

Bonsoir tout le monde Smiley smile

Je voudrais avoir la confirmation avec votre expérience que quand on passe une <ul> en "display:inline;", les "list-style-type" et "list-style-image" disparaissent, quelques soient les mentions dans la feuille CSS. Je n'arrive pas à trouver l'info dans mes bouquins...

J'ai ce problème en cours avec une <ul> mise en ligne et j'aurais voulu mettre des séparateurs. Sauf que la <ul> est remplie automatiquement par un script donc impossible de les mettre à la main.

J'ai contounré le problème avec la mise en place de

ul li:before {content:"- ";}


Mais du coup, j'ai aussi un tiret sur la première occurence de ma liste. Je crois qu'il n'y a pas de solution autre mais au cas où je passerais à côté d'une évidence, je vous soumets la question Smiley cligne

iki

PS : gloups... l'option ":before" n'est pas interprétée sous IE6... Smiley fache Smiley biggol
Modifié par iki (25 Aug 2008 - 10:39)
iki a écrit :
PS : gloups... l'option ":before" n'est pas interprétée sous IE6... Smiley fache Smiley biggol

Ni IE7.

Reprenons:

1. Tu veux mettre un UL en display: inline. Est-ce à dire que tu veux pouvoir insérer cet UL (et ses LI) dans un flot de texte, sans retour à la ligne? Ou bien s'agit-il juste d'avoir des LI en display: inline, tandis que l'élément UL lui-même reste en display: block?

2. Pour placer des séparateurs, il n'y a pas trente-six mille moyens: générer ces séparateurs côté serveur (quand le code HTML est généré), les générer en CSS avec la propriété content (et donc :before ou :after), ou enfin utiliser une image de fond sur les LI (et du padding).

3. IE ne gère pas content. Donc soit tu peux générer ces séparateurs dans le contenu, soit tu passes par des images de fond.

4. Si tu choisis la deuxième solution, pour éviter d'avoir un séparateur sur la première occurrence tu peux utiliser la pseudo-classe :first-child. Ça marchera avec IE7, mais pas IE6 (mais à la rigueur, tant pis).
a écrit :
Ni IE7.


Ouaip... J'ai vérifié après avoir posté ce message.

Effectivement, il ne me reste que la deuxième soluce que j'ai déjà souvent utilisée d'ailleurs, car je n'ai aucune maîtrise côté serveur (je ne peux modifier le script).

C'est juste un poil agaçant de devoir se prendre la tête pour juste coller un simple tiret entre les occurences d'une <ul>.

Allez, je rêve qu'un jour IE soit aussi discipliné que FF et toute la clique.... Smiley rolleyes Smiley lol

Merci Florent, j'ai ma confirmation Smiley cligne
Modifié par iki (24 Aug 2008 - 22:21)
Au fait, c'était bien ça que je voulais faire :

a écrit :
tu veux pouvoir insérer cet UL (et ses LI) dans un flot de texte


Smiley cligne
Après une bonne nuit de repos : image en background avec ":firstchild" pour supprimer l'image sur la première occurence de ma liste.

Seule solution viable pour le moment. Merci Smiley cligne