Créer un séparateur de tuyau par CSS
Mardi, Septembre 9, 2008 Vous verrez souvent une série de liens répartition horizontale séparées par un pipe "|", le symbole graphique dell'asticella verticale. Aussi, si vous avez une bonne écriture HTML, vous vous rendez compte que cette série de liens - apparemment horizontale - ne sont rien que des balles UL ou OL Il s'ensuit qu'au lieu d'écrire:
Il serait préférable d'utiliser:
Toutefois ajouter la pipe comme un code de caractère sale donc propre. Nous pouvons également utiliser une frontière, en utilisant le code:
- ul li (
- none ; list-style: none;
- left ; float: left;
- 0 12px 0 12px ; padding: 0 12px 0 12px;
- 1px solid #666 ; border-right: 1px solid # 666;
- )
Obtention:
Nous pouvons voir deux problèmes: le premier lien a le padding sur la gauche et le dernier maillon a la pipe à sa droite, ce qui n'est pas beau à voir! Alors, voici mai est d'utiliser :first-child :last-child de CSS2 pour mettre en forme graphiquement notre liste. Utilisation de la feuille de style ci-dessous pour le code HTML ci-dessus:
- ul li (
- none ; list-style: none;
- left ; float: left;
- 0 12px 0 12px ; padding: 0 12px 0 12px;
- 1px solid #666 ; border: 1px solid # 666;
- )
- / * Supprimer le rembourrage du fils du «premier», la LI premier * /
- ul li: first-child (
- 0 12px 0 0 ; padding: 0 12px 0 0;
- )
- / * Suppression de la frontière "Last Child", LI * /
- ul li: last-child (
- 0 0 0 12px ; padding: 0 0 0 12px;
- none ; border: none;
- )
Ainsi obtenir un meilleur résultat:
Bien sûr, comme il arrive souvent, l'attention à la compatibilité avec les différents navigateurs, notamment Internet Explorer.
Variante de flotter
Encore mieux, si vous voulez éviter le float l'utilisation de ce code:
- ul li (
- none ; list-style: none;
- inline ; display: inline;
- 0 12px 0 12px ; padding: 0 12px 0 12px;
- 1px solid #666 ; border-right: 1px solid # 666;
- )
- ul li: first-child (
- 0 12px 0 0 ; padding: 0 12px 0 0;
- )
- ul li: last-child (
- 0 0 0 12px ; padding: 0 0 0 12px;
- none ; border: none;
- )
Même résultat, au moins dans FireFox ![]()













Pourquoi, selon votre point de vue, la syntaxe
<a href = "# 1" .....est pire
<a href = "....?En termes de codage, je ne vois aucun avantage évident, ou plutôt, je vois, mais encore relativement négligeable et intégrable. Il a raté quelque chose?
@ Julius: la qualité du code que vous avez tendance à écrire le code HTML, mais négligent la fin graphique. Il s'ensuit qu'une "liste" de liens, d'être simplement une liste, doit être répertorié comme
UL LIPuis, affichée horizontalement ou verticalement, il devrait être - justement - la tâche de CSS. Toutefois, il n'y a rien de mal à écrire une suite de liens comme une série de TAGALe problème est que l'élimination des feuilles de style comme indiqué dans la page? En utilisant une séquence tagAséparés par des tuyaux, ils vous seront très visibles, même en l'absence de la feuille de style. Utilisant à la place une listeUL LIpageUL LIaura encore l'air agréable et lisible sans la feuille de style.Astuce intéressante. Essaie toutefois que cette dernière option (remplacer le flotteur avec display: inline), la présentation de la carte change légèrement. Ou le rembourrage n'est pas égale à droite et à gauche, comme c'est le cas avec le flotteur.
S.
@ SXe: évidemment le
floatcomportement n'est pas identique àdisplay:inlinemême si beaucoup dépend du navigateur utilisé. Toutefois, agissant sur lamarginetpaddingsurdisplay:inlineest, à mon avis, mieux que lefloatcomme vous le savez bien, a des problèmes de disposition d'autres ...