EcuRed:Tablas

EcuRed
Tablas
En EcuRed, una tabla es una forma de representar mucha información de manera esquematizada, ordenada y compacta. Aunque EcuRed acepta el código HTML para la creación de tablas como en cualquier página web, posee también un código propio.

Sintaxis con barras verticales

Las tablas pueden insertarse a través del botón Tabla TablasW.jpg del editor wiki o manualmente siguiendo las siguientes sintaxis:

  • La tabla entera comienza con una línea "{| parámetros opcionales para la tabla " y finaliza con la línea "|}".
  • Una leyenda opcional se incluye con la línea "|+ leyenda " después de "{|".
  • El código de una fila consiste en una línea "|- parámetros opcionales para la tabla " y los códigos para las celdas de la fila, comenzados por una línea "|".
  • Datos de tabla son los códigos para las celdas; el código de la celda está formado por "| valor " o "| parámetros de celda | valor ".
  • Una fila de títulos de columna se identifica usando "!" en lugar de "|", excepto para la separación entre un parámetro de celda y un valor; la diferencia con una fila normal depende del navegador, los títulos de columna están frecuentemente presentados en negritas.
  • La primera celda de la fila es identificada como fila de títulos si comienza la línea con "!" en lugar de "|", y comienzan las subsecuentes celdas de datos en una nueva línea.

Una tabla puede ser útil aún si ninguna de sus celdas tiene contenido, notablemente porque con el uso de colores de fondo de celdas la tabla puede ser un diagrama. Una "imagen" en forma de una tabla es mucho más conveniente para editar una imagen subida.

Cada fila debe tener el mismo número de celdas que las otras filas, así la cantidad de columnas en la tabla continúa siendo consistente (a menos que haya celdas que abarquen varias columnas o filas, vea colspan y rowspan en ejemplo mezcla más abajo). Para celdas vacías, use el espacio “non-breaking”   como contenido para asegurar que las celdas sean mostradas.

Ejemplos

Ejemplo simple

{| 
| Celda 1, Fila 1
| Celda 2, Fila 1
|- 
| Celda 1, Fila 2 
| Celda 2, Fila 2 
|}

y

{| 
| Celda 1, Fila 1 || Celda 2, Fila 1 
|- 
| Celda 1, Fila 2 || Celda 2, Fila 2 
|}

ambos generan

Celda 1, Fila 1 Celda 2, Fila 1
Celda 1, Fila 2 Celda 2, Fila 2

Ejemplo de tabla dinámica

Tabla dinámica sencilla

{| class="wikitable"
! Título 1
! Título 2
! Título 3
! Título 4
! Título 5
|-
|info 1||info 2||info 3||info 4||info 5
|-
|info 6||info 7||info 8||info 9||info 10
|}

Ese código genera la siguiente tabla:

Título 1 Título 2 Título 3 Título 4 Título 5
info 1 info 2 info 3 info 4 info 5
info 6 info 7 info 8 info 9 info 10

Tabla dinámica con encabezado y varios parámetros

{| border="0" style="background:#ffffff" align="top" class="sortable wikitable"
|+ align="center" style="background:DarkSlateBlue; color:white"|<big>'''Encabezado de la tabla'''</big>
! width="60 px" style="background:Lavender; color:Black"|Título 1
! width="80 px" style="background:Lavender; color:Black"|Título 2
! width="100 px" style="background:Lavender; color:Black"|Título 3
! width="120 px" style="background:Lavender; color:Black"|Título 4
! width="140 px" style="background:Lavender; color:Black"|Título 5
|-
|info 1||info 2||info 3||info 4||info 5
|-
|info 6||info 7||info 8||info 9||info 10
|}

Ese código genera la siguiente tabla:

Encabezado de la tabla
Título 1 Título 2 Título 3 Título 4 Título 5
info 1 info 2 info 3 info 4 info 5
info 6 info 7 info 8 info 9 info 10

Tabla de multiplicar

Hemos complicado un poco esta tabla poniendo atributos de alineación a celdas y a filas enteras para que pueda apreciar cómo se ponen los atributos a nivel de fila y a nivel de celda cuando las celdas se escriben sobre la misma línea de código.

Obsérvese también que NO se pueden mezclar en una misma línea de código una celda de datos y una celda de título.

Código fuente

{| border="1" cellpadding="2"
|+ Tabla de multiplicar
|-
! &times; !! align="right" | 1 !! align="right" | 2 !! align="right" | 3
|-
! align="right" | 1
| align="right" | 1 || align="right" | 2 || align="right" | 3
|- align="right"
! 2
| 2 || 4 || 6
|- align="right"
! 3
| 3 || 6 || 9
|- align="right"
! 4
| 4 || 8 || 12
|- align="right"
! 5
| 5 || 10 || 15
|}

Apariencia

Tabla de multiplicar
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

Color; alcance de parámetros

Hay dos formas de especificar el color del texto y del fondo para una sola celda:

{| 
| bgcolor="red" | <font color="white" > abc
| def
| style="background:red; color:white" | ghi
| jkl
|}
abc def ghi jkl

Como se ve “font” funciona para una sola celda, aún sin etiqueta de cierre: la etiqueta de cierre es añadida por el sistema. Nota: se desaconseja utilizar esta etiqueta ya que está desaprobada en HTML 4 en beneficio del atributo style.

Como otros parámetros, los colores pueden también ser especificados para una fila completa o para una tabla completa; los parámetros para una fila sobrescriben los valores para la tabla, y los de una celda sobrescriben los de la fila:

{| style="background:yellow; color:green"
|- 
| abc
| def
| ghi
|- style="background:red; color:white"
| jkl
| mno
| pqr
|-
| stu
| style="background:silver" | vwx
| yz
|}

da

abc def ghi
jkl mno pqr
stu vwx yz

Definir colores

Los nombres de los colores que pueden emplearse en una tabla son:

Nombres de los colores
Black DarkGreen MidnightBlue DarkSlateGray Navy
Green Maroon DarkBlue DarkRed DarkOliveGreen
ForestGreen Indigo SaddleBrown DarkSlateBlue SeaGreen
Brown Teal Purple Olive OliveDrab
DimGray FireBrick Sienna DarkCyan DarkMagenta
MediumBlue LimeGreen MediumSeaGreen Gray SlateGray
DarkGoldenrod Crimson SteelBlue Chocolate LightSlateGray
MediumVioletRed IndianRed CadetBlue SlateBlue LightSeaGreen
Peru Blue Lime Red RoyalBlue
DarkViolet DarkOrchid YellowGreen OrangeRed BlueViolet
Goldenrod DarkSeaGreen RosyBrown LawnGreen Tomato
DarkKhaki SpringGreen Chartreuse MediumAquamarine MediumPurple
PaleVioletRed MediumSlateBlue DarkOrange DarkGray DarkTurquoise
MediumSpringGreen MediumOrchid DodgerBlue DeepPink Coral
CornflowerBlue LightCoral MediumTurquoise DarkSalmon Salmon
Orange SandyBrown Tan GreenYellow Turquoise
LightGreen BurlyWood DeepSkyBlue LightSalmon Orchid
HotPink PaleGreen Silver Gold SkyBlue
LightSteelBlue LightSkyBlue Plum Aquamarine LightBlue
Thistle Aqua Cyan Fuchsia Magenta
Yellow Khaki Violet LightGrey PowderBlue
LightPink PaleGoldenrod Wheat Pink PaleTurquoise
NavajoWhite Gainsboro PeachPuff Moccasin Bisque
BlanchedAlmond AntiqueWhite PapayaWhip MistyRose Lavender
Beige LightGoldenrodYellow LemonChiffon Linen Cornsilk
OldLace WhiteSmoke Honeydew LightCyan LightYellow
Seashell LavenderBlush AliceBlue FloralWhite MintCream
Azure Ivory GhostWhite Snow White
Modelo de color RGB

Los colores se pueden definir como combinación de los tres colores básicos: rojo, verde y azul: RGB. Para ello se emplea el signo almohadilla (#) seguido de los valores de rojo, verde y azul en hexadecimal, como en los ejemplos siguientes:

#000000 #004400 #008800 #00cc00 #00ff00
#440000 #444400 #448800 #44cc00 #44ff00
#880000 #884400 #888800 #88cc00 #88ff00
#cc0000 #cc4400 #cc8800 #cccc00 #ccff00
#ff0000 #ff4400 #ff8800 #ffcc00 #ffff00


#000044 #004444 #008844 #00cc44 #00ff44
#440044 #444444 #448844 #44cc44 #44ff44
#880044 #884444 #888844 #88cc44 #88ff44
#cc0044 #cc4444 #cc8844 #cccc44 #ccff44
#ff0044 #ff4444 #ff8844 #ffcc44 #ffff44


#000088 #004488 #008888 #00cc88 #00ff88
#440088 #444488 #448888 #44cc88 #44ff88
#880088 #884488 #888888 #88cc88 #88ff88
#cc0088 #cc4488 #cc8888 #cccc88 #ccff88
#ff0088 #ff4488 #ff8888 #ffcc88 #ffff88


#0000cc #0044cc #0088cc #00cccc #00ffcc
#4400cc #4444cc #4488cc #44cccc #44ffcc
#8800cc #8844cc #8888cc #88cccc #88ffcc
#cc00cc #cc44cc #cc88cc #cccccc #ccffcc
#ff00cc #ff44cc #ff88cc #ffcccc #ffffcc


#0000ff #0044ff #0088ff #00ccff #00ffff
#4400ff #4444ff #4488ff #44ccff #44ffff
#8800ff #8844ff #8888ff #88ccff #88ffff
#cc00ff #cc44ff #cc88ff #ccccff #ccffff
#ff00ff #ff44ff #ff88ff #ed2afb #f384fb
#ffccff #FBD6FF #ffffff

Ancho, alto

El ancho y el alto de toda la tabla puede ser especificado, como así también el alto de una fila. Para especificar el ancho de una columna uno puede especificar el ancho de una celda en la columna arbitrariamente. Si no se especifica el ancho para todas las columnas ni el alto de todas las filas, entonces habrá alguna ambigüedad, y el resultado dependerá del navegador.

{| style="width:400px; height:200px" border="1"
|- 
| abc= Nivel Nacional
| def= Facultad de Medicina
| ghi= Hospital Universitario
|- style="height:100px" 
| jkl
| style="width:200px" |mno
| pqr
|-
| stu
| vwx
| yz
|-
|123
|456
|789
|}

da como resultado:

abc def ghi
jkl mno pqr
stu vwx yz
123 456 789

Posición

Uno puede ubicar la tabla en sí, y todo el contenido de una fila, y el contenido de una celda, pero no con un solo parámetro todo el contenido de una tabla. No use, bajo ninguna circunstancia, “float” para ubicar una tabla. Esto rompería la presentación de la página a fuentes de gran tamaño.

Espaciado

También puede especificar el espaciado entre celdas (cellspacing), el espaciado del contenido de una celda respecto de sus bordes internos (celpadding) y el margen de una tabla respecto de los elementos que están fuera de ella (margin) o el relleno (padding)

“Ejemplo mezcla”

Aquí hay un ejemplo más avanzado que muestra más opciones disponibles para “maquillar” tablas. Puede jugar con estos ajustes en su propia tabla para ver los efectos que tienen. No todas estas técnicas pueden ser apropiadas en todos los casos; ya que adicionar fondos coloreados, por ejemplo, puede no ser una buena idea. Trate de mantener el “maquillaje” en sus tablas relativamente simple –recuerde , otras personas estarán editando también el artículo. Este ejemplo le da una idea de lo que es posible.

Código fuente

{| border="1" cellpadding="5" cellspacing="0" align="center"
|+'''Una tabla ejemplo'''
|-
! style="background:#efefef;" | Primer encabezado
! colspan="2" style="background:#ffdead;" | Segundo encabezado
|-
| arriba a la izquierda
|  
| rowspan=2 style="border-bottom:3px solid grey;" valign="top" |
lado derecho
|-
| style="border-bottom:3px solid grey;" | abajo a la izquierda
| style="border-bottom:3px solid grey;" | abajo en el medio
|-
| colspan="3" align="center" |
{| border="0"
|+''Una tabla en otra tabla''
|-
| align="center" width="150px" | [[Archivo:Bandera_de_cuba_grande.png|200px]]
| align="center" width="150px" | [[Archivo:Bandera_de_cuba_grande.png|200px]]
|-
| align="center" colspan="2" style="border-top:1px solid red; border-right:1px
          solid red; border-bottom:2px solid red; border-left:1px solid red;" |
Dos Banderas Cubanas
|}
|}

Apariencia

Una tabla ejemplo
Primer encabezado Segundo encabezado
arriba a la izquierda  

lado derecho

abajo a la izquierda abajo en el medio
Una tabla en otra tabla
Bandera de cuba grande.png Bandera de cuba grande.png

Dos Banderas Cubanas

Fusionando celdas

Fusionando celdas de la misma columna

Para fusionar filas utilice |rowspan=nºde celdas a fusionar|.

{| align=right border=1
| Columna 1, fila 1 
|rowspan=2| Columna 2, filas 1 y 2) 
| Columna 3, fila 1 
|- 
| Columna 1, fila 2 
| Columna 3, fila 2 
|}
Columna 1, fila 1 Columna 2, filas 1 y 2) Columna 3, fila 1
Columna 1, fila 2 Columna 3, fila 2

No olvides que esas celdas ya estarán fusionadas por lo que quedarán obviadas en el código. En el ejemplo véase que se ha obviado introducir el contenido de la celda de la columna 2, fila 2.

Fusionando celdas de la misma fila

Para fusionar columnas utiliza |colspan=nºde celdas a fusionar|.

{| align=right border=1
|colspan=2| Columna 1, filas 1, 2 y 3 
|- 
| Columna 2, fila 2 
| Columna 3, fila 2 
|-
| Columna 2, fila 3
| Columna 3, fila 3
|}
Columna 1, filas 1, 2 y 3
Columna 2, fila 2 Columna 3, fila 2
Columna 2, fila 3 Columna 3, fila 3

No olvides que esas celdas ya estarán fusionadas por lo que quedarán obviadas en el código. En el ejemplo véase que se ha obviado introducir el contenido de las celdas de la columna 1, fila 2 y fila 3.

Tabla anidada

{| border=1
| &alpha;
|
{| bgcolor=#ABCDEF border=2
|tabla
|-
|anidada
|}
|la tabla original de nuevo
|}

da una tabla anidada

α
tabla
anidada
la tabla original de nuevo

Las tablas anidadas deben comenzar en una nueva línea.

Otras sintaxis de tablas

Otros tipos de sintaxis de tablas que soporta MediaWiki son:

  1. XHTML
  2. HTML y sintaxis wiki <td>

Los tres son soportados por MediaWiki y crean (actualmente) una visualización HTML válida, pero la sintaxis con barras verticales es la más simple, excepto tal vez para las personas que ya están familiarizadas con HTML. También, HTML y sintaxis wiki <td> no necesariamente permanecerán soportadas por los navegadores en el futuro por venir, especialmente por las computadoras de mano (handheld) con posibilidad de acceder a internet.

Vea también HTML element#Tables (wiki en inglés). Note sin embargo que los elementos thead, tbody, tfoot, colgroup y col actualmente no son soportados en MediaWiki.

Comparación

Comparación de sintaxis de tablas
 XHTML HTML & Wiki-td Wiki-pipe
Tabla <table></table> <table></table>
{| parámetros 
|}
Leyenda <caption></caption> <caption></caption>
|+ leyenda
Fila <tr></tr> <tr>
|- parámetros 
Celda de datos

<td>celda1</td>
<td>celda2</td>

<td>celda1
<td>celda2

| celda1
| celda2
Celda de datos <td>celda1</td> <td>celda2</td> <td>celda3</td> <td>celda1 <td>celda2 <td>celda3
|celda1||celda2||celda3
Celda encabezado <th></th> <th>
! encabezado
Tabla ejemplo
1 2
3 4
<table>
   <tr>
      <td>1</td>
      <td>2</td>
   </tr> 
   <tr>
      <td>3</td> 
      <td>4</td> 
   </tr>
</table>
<table>
   <tr>
      <td> 1 <td> 2
   <tr>
      <td> 3 <td> 4
</table>
{| 
| 1 || 2
|- 
| 3 || 4
|}
Tabla ejemplo
1 2
3 4
5 6
<table>
   <tr>
      <td>1</td>
      <td>2</td>
   </tr> 
   <tr>
      <td>3</td>
      <td>4</td>
   </tr>
   <tr>
      <td>5</td>
      <td>6</td>
   </tr>
</table>
<table>
   <tr>
      <td> 1 <td> 2
   <tr>
      <td> 3 <td> 4
   <tr>
      <td> 5 <td> 6
</table>
{| 
| 1 || 2 
|- 
| 3 || 4 
|- 
| 5 || 6 
|}
Pro

Puede ser previsualizado/depurado con cualquier editor XHTML


Puede dársele un formato para mejor lectura


Bien conocido

Puede ser previsualizado/depurado con cualquier editor HTML


Puede dársele un formato para mejor lectura


Bien conocido


Ocupa menos espacio que XHTML

Fácil de escribir


Fácil de leer


Ocupa menos espacio

Cons

Tedioso


Ocupa mucho espacio


Difícil de leer rápidamente

Confusa, especialmente para gente con poca experiencia en HTML


Formato pobre


Pobremente desarrollado


Generalmente tiene aspecto raro


Puede no tener soporte de navegadores en el futuro

Sintaxis no familiar


Estructura rígida


No se pueden colocar sangrías


El texto (como en etiquetas HTML) puede ser más fácil de leer para algunas personas que series de barras verticales, signos de suma, de exclamación, etc.

 XHTML HTML & Wiki-td Wiki-pipe

Sintaxis de barras verticales en términos de presentación HTML

La sintaxis de barras verticales, desarrollada por Magnus Manske, substituye barras verticales (|) por HTML. Hay un script on-line que convierte tablas HTML a sintaxis de tablas de barras verticales.

Las barras verticales deben estar al comienzo de una nueva línea, excepto cuando separan parámetros de contenido o cuando se usan dos barras verticales seguidas || para separar celdas en una misma línea. Los parámetros son opcionales.

Tablas

Una tabla está definida por {| ''parámetros'' |} que genera el código HTML "<table parámetros>"</table>

Cuidado: Debe incluir un espacio entre {| y los parámetros, o el primer parámetro será ignorado.

Filas

En cada tabla, la etiqueta HTML <tr> será generada automáticamente para la primera fila. Para comenzar una nueva fila, use

|-

que genera otra etiqueta <tr>

Se pueden añadir los parámetros de la siguiente forma:

|- parámetros

que genera <tr parámetros>

Nota:

  • La etiqueta <tr> se abren automáticamente con la primera <td> equivalente.
  • Las etiquetas <tr> se cierran automáticamente con las <tr> y </table> equivalentes.

Celdas

Las celdas son generadas de las siguientes formas, así:

|celda1
|celda2
|celda3

o bien así:

|celda1||celda2||celda3

ambas generan el código "<td>celda1</td><td>celda2</td><td>celda3</td>". La "||" equivale a escribir una nueva línea + "|".

Se pueden usar parámetros en las celdas de la siguiente forma:

|parámetros|celda1||parámetros|celda2||parámetros|celda3

que dará como resultado

<td parámetros>celda1</td>
<td parámetros>celda2</td>
<td parámetros>celda3</td>

Encabezados

Funcionan de la misma forma que TD, excepto que se debe usar "!" en lugar de "|" para abrirlas. También se puede usar "!!" en vez de "||". Sin embargo para los parámetros se sigue usando "|". Ejemplo:

!parámetros|celda1

Títulos

La etiqueta <tdcaption> se crea con

|+ Título

que genera el código HTML "<caption>Título</caption>".

También puede usar parámetros:

|+ parámetros|Título

que generará "<caption parámetros>Título</caption>".

Texto próximo a una tabla

(Para ver los efectos debe aumentar o disminuir el tamaño de la fuente del navegador; también puede cambiar el ancho de la ventana del navegador.)

Puede usar align=right, y el texto que sigue a la tabla aparecerá a la izquierda de la misma.

Tabla de multiplicar 5*3
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

aquí comienza el texto inmediatamente después de la tabla de multiplicar 5*3.

Sin embargo, no puede colocar texto preformateado, este puede solaparse a la tabla. Para prevenir esto use <br style="clear:both;">:

Tabla de multiplicar 4*3
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12

aquí comienza el texto inmediatamente después de la tabla de multiplicar 4*3… ahora viene el claro BR:

el texto preformateado empezaría solo luego de que la tabla finalizó 

Puede usar align=left, y la tabla aparecerá a la izquierda y el texto que sigue a la misma a la derecha (pero posiblemente demasiado cerca):

Tabla de multiplicar 2*3
× 1 2 3
1 1 2 3
2 2 4 6

aquí comienza el texto inmediatamente después de la tabla de multiplicar 2*3



Espacio alrededor de una tabla, imagen o texto

Para crear espacio alrededor de una tabla, imagen o texto cree una tabla de 1x1 alrededor de éstos con “cellpadding”:

Tabla de multiplicar
× 1 2 3
1 1 2 3
2 2 4 6
Escudo-de-cuba.png
Texto en caja


Ajustando el ancho de las columnas

Si quiere forzar el ancho de columna a sus propios requerimientos más que aceptar el ancho del mayor elemento en una celda de una columna entonces siga este ejemplo. Note que el espacio alrededor del texto está impuesto.

{| border="1" cellpadding="2"
!width="50"|Nombre
!width="225"|Efecto
!width="225"|En que juego se encuentra
|-
|Pokeball
|Pokeball normal
|Todas las versiones
|-
|Great Ball
|Mejor que un Pokeball
|Todas las versiones
|}
Nombre Efecto En que juego se encuentra
Pokeball Pokeball normal Todas las versiones
Great Ball Mejor que un Pokeball Todas las versiones

Ajustando parámetros

Al comienzo de una celda adicione su parámetro seguido de una sola barra vertical. Por ejemplo width=300px| esto determinará una celda con un ancho de 300 píxeles. Para establecer más de un parámetro deje un espacio entre cada uno.

Código Wiki

{|
|-
| bgcolor=red|celda1 || width=300px bgcolor=blue|celda2 || bgcolor=green|celda3
|}

Que se verá así en su navegador

celda1 celda2 celda3

Alineación del punto decimal

Un método para obtener columnas de números alineadas en el punto decimal es como sigue:

<blockquote>
{| cellpadding=0 cellspacing=0
|align=right| 432 || . || 1
|-
|align=right| 43 || . || 21
|-
|align=right| 4 || . || 321
|}
</blockquote>

que da

432 . 1
43 . 21
4 . 321

En casos simples uno puede administrar un rasgo de tabla y simplemente comenzar la línea con un espacio y poniendo espacios en la posición de los números:

432.1
 43.21
  4.321

Clases de estilo

Existen clases CSS hacer tablas con estilo más fácilmente. En vez de recordar parámetros de tablas puede incluir una clase de estilo apropiada después de {|. Esta ayuda conserva el formato de tablas consistente y puede permitir que un simple cambio en la plantilla repare un problema o realce la apariencia de todas las tablas que la usen. Por ejemplo:

Tabla de multiplicar
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

se convierte en:

Tabla de multiplicar
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

simplemente reemplazando la sección border="1" cellpadding="2" con class="wikitable" border="1".