Entendiendo vertical-align

18/May/2009 420

Como muchos deben ya saber, es un tremendo lío alinear verticalmente un elemento HTML mediante CSS estándar; de hecho una de las razones de que aún personas siguen utilizando tablas para estructurar sitios: precisamente porque las celdas hacen este alineado horizontal y vertical tan fácil, mediante los atributos align="" y valign="". Pero utilizando web standards es otra cosa, una dimensión aún perturbante y siendo franco, algo complicada de entender y llevar a la práctica.

CSS tiene una ‘obscura’ propiedad llamada vertical-align. Lo obscuro se debe a que es confuso su entendimiento, y por ende su uso. Para ayudar a aclarar eso, este artículo lo atacará por dos ámbitos más que necesarios: alineado de elementos de formulario y de imágenes.

Vertical-align tiene uso principalmente en etiquetas que son por esencia de tipo inline. Si tratas de utilizar esta propiedad en un <div> por ejemplo, o en un <p> quizás es por eso que te hayas frustrado ya que estos elementos son de tipo block. Cuando vertical-align es definido para elementos inline, se comporta como el antiguo y obsoleto atributo valign="". Tomando este principio, su uso en imágenes junto a texto se ven resultados concretos:

Ver ejemplo 1

Los valores de vertical-align son:

  • baseline: valor por defecto, el elemento es ubicado en la base del elemento padre.
    vertical-align: baseline
  • sub: alinea el elemento como si fuera subescrito (<sub>).
    vertical-align: sub
  • super: alinea el elemento como si fuera sobrescrito (<sup>).
    vertical-align: super
  • top: la parte superior del elemento es alineado con la parte superior del elemento en la misma línea.
  • text-top: la parte superior del elemento es alineada con la parte superior del padre de los elementos de texto.
    vertical-align: text-top
  • middle: el más interesante; el elemento es ubicado en la mitad del elemento padre.
    vertical-align: middle
  • bottom: también interesante; la parte inferior del elemento es alineado con la parte más baja de la línea.
  • text-bottom: la parte inferior del elemento es alineada con la parte inferior del padre de los elementos de texto.
    vertical-align: text-bottom
  • %: alínea el elemento en valores porcentuales de la propiedad line-height (se permiten valores negativos).

Otro importante uso de esta propiedad es con etiquetas de formulario, principalmente cuando queremos alinear los nombres de los campos (generalmente envueltos en <label></label>) a los campos de formulario. En el siguiente ejemplo muestro sus usos con campo de tipo texto:

Ver ejemplo 2

Como décadas pasadas, esta propiedad también puede ser utilizada en reemplazo del atributo para celdas de tablas, bajo los mismos valores. Como las celdas por defecto tienen vertical-align: middle definidos, puedes utilizar los otros valores para lograr lo que necesites.

¿Milagrosa? Bueno, suena bien hasta ahora pero está lejos de ser la solución definitiva, ya que IE6 e IE7 soporta esta propiedad a su manera, como siempre.

vertical-align entre browsers

Links

Comentarios

  1. bactrim dosage [#]

    trimoxazole infections how much bactrim for uti

  2. accutane ipledge [#]

    https://sotretisotretinoin.com/ accutane for acne

  3. provigilvsmodafinil [#]

    modafinil alcohol provigil price

  4. bactrim antibiotic [#]

    trimoxazole bactrim ds side effects dosage

  5. WayneRog [#]

    buy real cialis on line us with american express florida buy generic cialis australia – where to buy cialis in canada
    cheap generic cialis

  6. stromectol 12mg [#]

    ivermectin tablets for sale walmart https://stromectolforte.com/ stromectol medication ivermectin cost at walmart

  7. ivermectin for humans for sale [#]

    can you buy stromectol over the counter https://stromectolforte.com/# ivermectin tablets ivermectin for humans

  8. WayneRog [#]

    purchase cialis google south africa cialis – when cialis patent expires
    cialis store in qatar

  9. ivermectin [#]

    ivermectin tablets http://stromectolforte.com/ ivermectin ivermectin 12 mg

  10. stromectolforte.com [#]

    buy ivermectin online http://stromectolforte.com/ ivermectin for humans for sale stromectol

  11. withoutbro.com [#]

    lsughing into asthma attack http://withoutbro.com – cheap viagra usa

  12. cialis20walmart.com [#]

    what rights do i have if someone is telling people that i have hiv http://cialis20walmart.com – comparison viagra cialis levitra

  13. ivermectin for humans for sale [#]

    ivermectin dosage chart for humans http://stromectolforte.com/# buy ivermectin ivermectin tablets dosage

  14. ivermectin for sale [#]

    Accustomed Dope Far this offshoot
    https://ivermectinstrom.com ivermectin for humans
    https://ivermectinstrom.com ivermectin 12 mg
    https://ivermectinst.com ivermectin for sale
    https://ivermectinstrom.com ivermectin 6 mg
    https://ivermectstromect.com ivermectin for humans

  15. ordermodafinil [#]

    provigil and alcohol modafinil price

  16. isotretinoin [#]

    isotretinoine buy isotretinoin

  17. Anthonyslany [#]

    buy viagra super force with mastercard viagra surgery – cost of viagra 50mg

  18. bactrim generic name [#]

    bactrim side effects side effects for sulfamethoxazole trimethoprim

  19. cost of cialis [#]

    tadalafil 10 mg

  20. Anthonyslany [#]

    viagra for sale ireland overnight me viagra – how to buy viagra

CSSLab