Armonía | En definitiva...

Los pseudo-elementos :first-line y :first-letter de CSS

  • Jueves, 10 de Marzo de 2005 a las 18:36 CET
  • Guardado en: CSS

CSS tiene infinidad de características que lo hacen muy útil para todo aquel que quiera aplicar estilos a sus documentos HTML o XHTML. Para ejemplificar la profundidad de estas características voy a hablaros de dos tipos de selectores, clasificados dentro de los llamados pseudo-elementos. Los pseudo-elementos que voy a comentar son :first-line y :first-letter.

Son dos tipos de selectores muy simples, y que nos permiten aplicar estilos a unas determinadas partes de las etiquetas a las que se los apliquemos. Como vais a poder comprobar, son muy muy específicos, ya que, comparados con lo habitual, que es aplicar estilos a determinadas etiquetas, o a determinada clase, etc. esto va un poco más allá

Vamos a comenzar con first-line. Este pseudo-elemento nos va a permitir aplicar estilos únicamente a la primera linea de texto del elemento en bloque al que se lo coloquemos. Es más fácil de lo que parece. Imaginemos que vamos a escribir un párrafo, por ejemplo del último libro que me estoy leyendo. Y queremos que la primera linea de ese párrafo, se muestre en rojo. Pues para está first-line. La forma con truco de hacerlo hubiera sido controlando el ancho del párrafo, mirando cual es la primera linea, y con un span, por ejemplo, aplicar los estilos para que aparezca rojo. Con first-line nos ahorramos todo eso. Veamos el ejemplo:

p:first-line{color:red;}
<p>Fue entonces cuando se produjo lo increíble. Sin cambiar lo más mínimo su postura perfectamente protocolaria, la mujer, de pronto, abrió el escote de su kimono.</p>

El resultado sería, (por favor, haced caso del código de arriba, no del código interno de este blog):

Fue entonces cuando se produjo lo increíble. Sin cambiar lo más mínimo su postura perfectamente protocolaria, la mujer, de pronto, abrió el escote de su kimono.

Si usais un navegador que respete los estándares del World Wide Web Consortium, (Internet Explorer no), podreis ver que la primera linea del párrafo está coloreada de rojo.

Hay que decir que el pseudo-elemento :first-line solo puede aplicarse a elementos en bloque, elementos de tipo inline-block, al elemento caption de una tabla, y a las celdas de las tablas.

El otro pseudo-elemento del que quería hablaros es :first-letter, que, como podreis deducir, nos permite aplicar estilos a la primera letra del elemento al que se lo coloquemos. Siguiendo con el ejemplo anterior, podemos hacer que la primera letra del párrafo aparezca más grande, al estilo tipográfico.

p:first-letter{font-size:3em;font-weight:bold;}

Y el resultado sería, (de nuevo, por favor, haced caso del código de ejemplo que pongo, y no del código interno del blog):

Fue entonces cuando se produjo lo increíble. Sin cambiar lo más mínimo su postura perfectamente protocolaria, la mujer, de pronto, abrió el escote de su kimono.

Este pseudo-elemento tampoco podrá ser visto en navegadores que no respeten los estándares. Y solo se podrá aplicar a elementos en bloque, items de listas, celdas y caption de tablas y elementos de tipo inline-block.

Mediocre

  • Martes, 08 de Marzo de 2005 a las 11:30 CET
  • Guardado en: General
mediocre.
(Del lat. mediocris).
1. adj. De calidad media.
2. adj. De poco mérito, tirando a malo.

Smarty, una oportunidad...

  • Miércoles, 02 de Marzo de 2005 a las 19:28 CET
  • Guardado en: Desarrollo

Aprovechando que nos han pedido en la oficina que comencemos a echarle un ojo a PHP, (actualmente desarrollamos en ASP.NET), he decidido darle una oportunidad a Smarty para que sea mi nueva forma de crear aplicaciones con PHP.

Hasta ahora, lo poco que he desarrollado con este lenguaje ha sido, básicamente, este blog y poco más, y he podido sentir en mis propias carnes lo que hace el no tener de forma completamente independiente la programación y la presentación. Y es Smarty, precisamente, uno de los sistemas que permiten evitar esto.

Según ellos mismos describen:

Although Smarty is known as a Template Engine, it would be more accurately described as a Template/Presentation Framework. That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application. I stress the word Framework because Smarty is not a simple tag-replacing template engine. Although it can be used for such a simple purpose, its focus is on quick and painless development and deployment of your application, while maintaining high-performance, scalability, security and future growth.

Básicamente Smarty es un motor de plantillas para PHP que nos da la posibilidad de tener la presentación de nuestros proyectos totalmente separada del hard-code de la aplicación. Esto nos da la posibilidad, por ejemplo, de hacer cambios rápidos y sin complicaciones sobre dicha presentación, sin afectar en modo alguno a la parte lógica del programa, (sí, los cambios presentacionales se pueden hacer con CSS, pero a veces también se hace necesario tocar el marcado que escupen las aplicaciones, y es ahí dónde Smarty nos facilita la tarea).

Este pasado puente, (el día 28 de Febrero es fiesta aquí en Andalucía), he podido echarle un pequeño vistazo, para comprobar la forma en la que se usa, etc. La verdad es que me ha gustado bastante, y estoy deseando tener más tiempo, (en realidad ánimos), para meterle mano a fondo. Creo que Smarty, junto con un buen uso de las clases, puede llegar a ser una forma magnífica de desarrollar en PHP.

Paginación:

Búsqueda

Acerca de este blog

Armonía es el blog personal de Juan G. Hurtado, (C. V.). Aquí se tratarán muchos temas, pero sobre todo los relacionados con la programación, la tecnología, el desarrollo y los estándares en la World Wide Web.

Si quieres puedes visitar también las galerias de fotos guardadas en su cuenta Flickr, o su colección de enlaces en del.icio.us.

Velas en la oscuridad Mano del autor del blog en blanco y negro Trozo del paisaje desde la ventana del autor del blog Palma de la mano del autor del blog en blanco y negro

Lectura

CSS Mastery, de Andy Budd
Portada del libro Bulleproof Web Design
Muy buen libro, escrito por Andy Budd en el que nos muestra un repaso muy bien detallado por infinidad de técnicas ingeniosas para conseguir que nuestras hojas de estilo "hagan magia"
[Leer revisión]
Bulletproof Web Design, de Dan Cedelhorm
Portada del libro Bulleproof Web Design
Un libro genial en el que Dan Cedelhorm nos enseña cómo blindar nuestras páginas para evitar que se "rompan" ante configuraciones no habituales de los navegadores de los visitantes, (aparte de otras muchas cosas)
[Leer revisión]
Agile Web Development With Rails, de Dave Thomas y David Heinemeier
Portada del libro Agile Web Development With Rails
Una perfecta introducción a Ruby on Rails, el framework de desarrollo Web que está causando furor en estos momentos...
[Leer revisión]

Contacto

  • e-Mail: juan.g.hurtado@gmail.com
  • Jabber: juan.g.hurtado@jabberes.org
  • Skype: juan.g.hurtado
  • Messenger: the_micro_cuts@hotmail.com