Ajouter un séparateur vertical entre des variables

Eléphanteau du PHP | 24 Messages

15 sept. 2008, 11:09

Bonjour,

Je souhaite ajouter un séprateur vertical | avec un css sur un fichier php.
Voilà mon code php :

Code : Tout sélectionner

$menu_item = '<ul class="select"><li><a href="%s"><b>%s</b><!--[if IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]--><ul class="sub">'; $menu_item_stop = '</ul><!--[if lte IE 6]></td></tr></table></a><![endif]--></li></ul>';
J'ai essayé la solution "simple" d'ajouter une barre dans une image background, mais le nombre de menu_item est aléatoire, donc je dois trouver un moyen de faire appraître la | , mais je ne sais vraiment pas comment on peut faire cela, ni dans quelle direction chercher.
Modifié en dernier par chodaboy34 le 15 sept. 2008, 14:04, modifié 1 fois.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 sept. 2008, 11:36

la balise <hr> ?

Mammouth du PHP | 2937 Messages

15 sept. 2008, 12:18

En CSS, on peut procéder comme suit :

Code : Tout sélectionner

li:before { content: " | "; } li:first-child:before { content: normal; content: ""; /* pour Safari */ }
Principal inconvénient : IE (jusqu'à la version 7) n'implémente pas la génération de contenu en CSS (IE 8, en revanche, l'implémente).

Autre solution :

Code : Tout sélectionner

li { border-left: 1px solid; } li:first-child { border-left: none; }
Pour IE 6, il faudra ajouter une classe au premier li (class="premier", par exemple) et ajouter le code suivant :

Code : Tout sélectionner

li.premier { border-left: none; }
Troisième solution, cette fois-ci basée en HTML :

Code : Tout sélectionner

<ul> <li>élément de liste | </li> <li>élément de liste | </li> <li>élément de liste | </li> <li>élément de liste</li> </ul>
albat, l'élément hr, sémantiquement parlant, est une barre horizontale (horizontal rule). ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 sept. 2008, 13:35

albat, l'élément hr, sémantiquement parlant, est une barre horizontale (horizontal rule). ;)
Ben oui ! Justement... :roll:
On ne parle pas de séparateur horizontal ? :-k

Mammouth du PHP | 2937 Messages

15 sept. 2008, 13:54

albat, l'élément hr, sémantiquement parlant, est une barre horizontale (horizontal rule). ;)
Ben oui ! Justement... :roll:
On ne parle pas de séparateur horizontal ? :-k
À moins qu'il ne confonde l'horizontal avec le vertical, vu qu'il a écrit le symbole |.

De plus, l'élément hr ne peut être enfant direct d'ul.

Eléphanteau du PHP | 24 Messages

15 sept. 2008, 14:06

Re,

Oui, en effet, je voulais un séparateur vertical... j'étais mal réveillé ce matin :D

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 sept. 2008, 14:08

Et du coup, je me suis fait moquer par Victor |(X
alors que c'est lui qui avait mal lu ! :twisted:

Mammouth du PHP | 2937 Messages

15 sept. 2008, 14:49

Et du coup, je me suis fait moquer par Victor |(X
alors que c'est lui qui avait mal lu ! :twisted:
Pour te consoler, sache que les solutions que je propose sont transposables horizontalement, avec - (à ceci près qu'on ne pourra employer la propriété border). ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

17 sept. 2008, 22:58

M'en fous. Chuis quand même fâché. |(X

N'oublie pas qu'on bosse à 100 mètres l'un de l'autre ! :twisted:

Tiens, pour la peine, quand c'est que tu m'invites à déjeuner ? ;)

Mammouth du PHP | 2937 Messages

17 sept. 2008, 23:03

N'oublie pas qu'on bosse à 100 mètres l'un de l'autre ! :twisted:
Perdu : tu bosses à 100 mètres de là où j'habite (je bosse toujours à Boulogne).
Tiens, pour la peine, quand c'est que tu m'invites à déjeuner ? ;)
À l'occasion, je poursuivrai cette digression par MP. ;)