Crear un separador de tubo a través de CSS
Martes, 9 de septiembre 2008 Usted verá a menudo una serie de vínculos distribuidos horizontalmente separados por una tubería "|", el símbolo gráfico dell'asticella vertical. Además, si usted tiene una buena escritura HTML, te das cuenta de que esta serie de enlaces - aparentemente horizontal - no son más que balas UL o OL De ello se deduce que, en vez de escribir:
Sería mejor utilizar:
Sin embargo, agregar la tubería como un código de carácter sucio tan limpio. Nosotros también puede usar una frontera, utilizando el código:
- 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;
- )
Obtención:
Podemos ver dos problemas: el primer enlace tiene el padding a la izquierda y el último eslabón de la tubería tiene a su derecha, que no es agradable de ver! Así que aquí puede ser el uso de :first-child :last-child de CSS2 al formato de gráfica en nuestra lista. Uso de la siguiente hoja de estilos en el código HTML mostrado anteriormente:
- 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;
- )
- / * Retire el material protector del hijo de la "primera", la primera LI * /
- ul li: primer hijo-(
- 0 12px 0 0 ; padding: 0 12px 0 0;
- )
- / * Retire frontera "Last Child", LI * /
- ul li: last-child (
- 0 0 0 12px ; padding: 0 0 0 12px;
- none ; border: none;
- )
De esta manera obtener un mejor resultado:
Por supuesto, como sucede a menudo, la atención a la compatibilidad con varios navegadores, especialmente Internet Explorer.
Variante a flotar
Incluso mejor, si quieres evitar el float utilice este código:
- 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: primer hijo-(
- 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;
- )
Mismo resultado, al menos en FireFox ![]()













¿Por qué, según su punto de vista, la sintaxis
<a href = "# 1" .....es peor
<a href = "....?En términos de codificación, no veo ninguna ventaja evidente, o más bien, lo veo, pero sigue siendo relativamente insignificante e integrables. Ha perdido algo?
@ Julius: la calidad del código que tienden a escribir el código HTML, pero el abandono al final gráfico. De ello se desprende que una "lista" de los enlaces, siendo sólo una lista, debe aparecer como
UL LIA continuación, aparece horizontal o verticalmente, que debe ser - precisamente - la tarea de CSS. Sin embargo, no hay nada malo en escribir una secuencia de vínculos como una serie de TAGALa cuestión es que la eliminación de las hojas de estilo como se muestra en la página? Uso de una secuencia de etiquetaAseparados por la tubería, que será tan visible incluso en ausencia de la hoja de estilo. Usando en su lugar una página de lista deUL LItodavía se vean bien y legibles, sin la hoja de estilo.Truco interesante. Sin embargo, tratando de esta última opción (sustituir el flotador con display: inline), el diseño del menú cambia ligeramente. O el relleno, no es igual a la derecha e izquierda, como es el caso de la flotación.
S.
@ SXe: obviamente, el
floatcomportamiento no es idéntica a ladisplay:inlineaunque mucho depende del navegador utilizado. Sin embargo, actúa sobre elmarginy elpaddingendisplay:inlinees, en mi opinión, mejor que elfloatcomo usted bien sabe, tiene problemas de diseño de otros ...