2010-03-21 20 views
7

La siguiente página:alternativa a la visibilidad: no colapsar trabajando en IE y Chrome

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<STYLE type="text/css"> 
tr.cccc { 
visibility: collapse; 
} 
</STYLE> 
<BODY> 
<TABLE border="1"> 
<TR class="cccc"> 
<TD>one</TD> 
</TR> 
</TABLE> 
</BODY> 
</HTML> 

sólo funciona en Firefox. IE siempre muestra la fila y Chrome oculta la fila pero muestra su espacio vertical. Entonces, ¿cómo puedo ocultar completamente una fila usando solo CSS?

+3

¿Has probado "' display: none; '"? –

+0

¡Parece que funciona! ¡Muchas gracias! – tic

+0

Es un poco tarde pero puede hacer que funcione en Chrome [de esta manera] (http://stackoverflow.com/questions/25807564/hiding-a-tr-while-still-involving-it-in-width- cálculos/25807729 # 25807729) –

Respuesta

14

Uso
display: none

en lugar de visibilidad: colapso

Funciona para mí para ocultar la fila de resumen cuadrícula de árbol dojo en IE6 & Google Chrome

+4

Desafortunadamente, 'display: none;' también hace que las filas y celdas se ignoren para calcular rowspan y colspan en al menos unos pocos navegadores, lo que hace que los diseños de tabla con rowspan y colspan vayan todos wonky. – daveidmx

+0

¿La visibilidad de la visibilidad lo hará visible? O tendré que deshacerme también de la pantalla. – SoftwareSavant

1

visibility: collapse no funciona en IE. Source parece que necesitará usar hidden en lugar de IE. Vea la página vinculada para más detalles.

Sin embargo, la especificación establece claramente que en el caso de las columnas, solo el colapso es un valor válido. colapso solo es compatible con Firefox. Dado que Explorer Windows admite todas las declaraciones de estilo en columnas de todos modos, también admite la visibilidad: oculta.

Además, no hace daño a dar a la construcción de una estructura HTML completo:

<!DOCTYPE html PUBLIC 
"-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<HTML> 
<HEAD> 
<STYLE type="text/css"> 
.... 
</STYLE> 
</HEAD> 
... 
+0

No, no funciona. – tic

+0

@tic actualizó mi respuesta. –

+1

Ya sé el valor oculto de la propiedad de visibilidad. Oculto no es la solución correcta para mi problema. Quiero que la fila desaparezca por completo: es decir, no debe mostrar un espacio en blanco. Oculto oculta datos, PERO conserva el espacio vertical. Contraer oculta los datos Y elimina el espacio tomado por la fila, como si no estuviera allí. – tic

0

Es anticuado, pero podrías usar innerHTML para reescribir las partes que quieres que "desaparezcan".

0

Bueno parece que visibility: collapse se puede usar en IE también. Lo estoy usando y está funcionando tanto en IE como en Firefox. No sé sobre otros navegadores aparte de estos dos.

he hecho lo siguiente:

HTML:

<table class="intValidationTable">

<tr class="rangeTR" style="visibility: collapse;">

<tr class="listTR" style="visibility: collapse;">

Javascript + Jquery:

var rows = $('table.intValidationTable tr');

var rangeTR = rows.filter('.rangeTR');

var listTR = rows.filter('.listTR');

rangeTR.css("visibility", "visible");

listTR.css("visibility", "collapse");

Esto debería funcionar!

Cuestiones relacionadas