Tengo una pregunta sobre la usabilidad/diseño. Actualmente estoy usando algunos JQuery para ocultar/mostrar áreas enteras. Actualmente estos están todos en una gran mesa con un thead en la parte superior como el encabezado principal, seguido de un segundo thead que es el encabezado de lo que se mostrará. El siguiente es otro thead que es el encabezado de lo que está oculto que se muestra en un tbody. Sé que este es un estilo horrible, pero el problema que intento superar es que quiero que todas las filas sean iguales, ya que todas muestran el mismo tipo de datos.Diseño múltiple thead/tbody
ejemploCódigo es
<table id="report">
<thead>
<tr id="header">
<th>Country</th>
<th>Population</th>
<th>Area</th>
<th>Official languages</th>
<th></th>
</tr>
</thead>
<thead>
<tr>
<td>United States of America</td>
<td>306,939,000</td>
<td>9,826,630 km2</td>
<td>English</td>
<td><div class="arrow"></div></td>
</tr>
</thead>
<thead>
<tr>
<td>First Row</td>
<td>Second Row</td>
<td>Third Row</td>
<td>Fourth Row</td>
<td>Fifth Row</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5">
<img src="../125px-Flag_of_the_United_States.svg.png" alt="Flag of USA" />
<h4>Additional information</h4>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Usa">USA on Wikipedia</a></li>
<li><a href="http://nationalatlas.gov/">National Atlas of the United States</a></li>
<li><a href="http://www.nationalcenter.org/HistoricalDocuments.html">Historical Documents</a></li>
</ul>
</td>
</tr>
<tr><td>some other stuff</td></tr>
</tbody>
</table>
continuación es lo que se mostrará: alt text http://img694.imageshack.us/img694/9773/screenshot20100708at100.png alt text http://img822.imageshack.us/img822/9206/screenshot20100708at101.png
Ahora, la razón por la que en realidad lo hizo de esta manera, se debe a que por lo general voy a tener 4 filas para el actual Encabezado visualizable (este ejemplo es el país de datos) y solo 3 columnas del encabezado están ocultas (primera fila, segunda, etc.). Esta información dentro de 1 fila es una URL que puede tener entre 10 caracteres y más de 100 (más de 100 es común), lo que da como resultado que la pantalla cambie y mis encabezados se conviertan en 2 o 3 líneas. Si bien lo que quería era que todas las filas permanecieran igual, ¿hay alguna forma de asociar solo 1 cuerpo con 1 pie dentro de la mesa para que no afecte a los demás? Dado que esto es probablemente bastante confuso, existe una mejor manera de tener realmente varias tablas, pero las de cada una siguen siendo las mismas, sin importar los datos ingresados para el tbody. Sé que habrá preguntas, pero cualquier ayuda sería muy apreciada y tenga en cuenta que estoy completamente dispuesto a hacerlo de otra manera. Sin embargo, lo que se requiere es que se puedan ocultar los datos que son una tabla y tendrán un encabezado para esa información. Puede haber una sección visualizable que no tiene que coincidir (podría ser un div) y los datos dentro de cada sección deben mantener el mismo formato.
PD: Si está interesado a continuación es el JQuery que estoy usando para todo esto.
<script type="text/javascript">
$(document).ready(function(){
$("#report thead").children("tr:odd").not("#header").addClass("odd");
$("#report thead").children("tr:odd").not("#header").each(function(index){$(this).attr("id", "id" + index);});
$("#report thead").children("tr:even").not("#header").addClass("bodyhead");
$("#report thead:even").not(":first-child").each(function(index){$(this).attr("id", "bhid" + index);});
$("#report tbody").each(function(index){$(this).attr("id", "bid" + index);});
//$("#report tbody").each(function(index){$(this).attr("id", "id" + index);});
//$("#report tbody").children("tr:not(.odd)").hide();
$("#report tbody").hide();
$("#report thead:even").not(":first-child").hide();
//$("#report tbody #id0").show();
//For header of headers.
$("#report thead").children("tr:first-child").show();
$("#report thead").children("tr").not("#header").not(".bodyhead").click(function(){
$("#report #b" + this.id).toggle();
$("#report #bh" + this.id).toggle();
$(this).find(".arrow").toggleClass("up");
});
});
</script>
¿Hay algunas referencias en línea o artículos que explican la diferencia entre 'table-layout: auto' y' table-layout: fixed' de forma detallada? No se pudo encontrar una explicación clara y constante con los casos de uso para ambos, encontré esto https://css-tricks.com/fixing-tables-long-strings/, pero solo muestra ejemplos sin explicar lo que está pasando en los detalles. – tonix