Lo contrario de visibility: hidden
es visibility: visible
. Del mismo modo, ¿hay algún opuesto para display: none
?
Muchas personas se confunden al descubrir cómo mostrar un elemento cuando lo tiene display: none
, ya que no es tan claro como usar la visibility
propiedad.
Simplemente podría usar en visibility: hidden
lugar de display: none
, pero no tiene el mismo efecto, por lo que no voy con eso.
display
valores posibles hubiera estado bien. (Y esa es solo mi opinión, por supuesto: tal vez a la gente realmente le gustó que esa lista estuviera allí).Respuestas:
display: none
no tiene un opuesto literal como lovisibility:hidden
hace.La
visibility
propiedad decide si un elemento es visible o no. Por lo tanto, tiene dos estados (visible
yhidden
), que son opuestos entre sí.La
display
propiedad, sin embargo, decide qué reglas de diseño un elemento seguirán. Hay varios tipos diferentes de reglas de cómo los elementos pondrán a sí mismos en CSS, por lo que hay varios valores diferentes (block
,inline
,inline-block
etc. - consulte la documentación de estos valores aquí ).display:none
elimina un elemento del diseño de la página por completo, como si no estuviera allí.Todos los demás valores de
display
hacen que el elemento forme parte de la página, por lo que, en cierto sentido, todos son opuestos adisplay:none
.Pero no hay un valor que sea el inverso directo
display:none
, al igual que no hay un peinado que sea lo opuesto a "calvo".fuente
display: initial
en la respuesta automática eliminada: para los navegadores que implementan CSS2.1 también son sinónimosdisplay: inline
. No se restablecedisplay
a los valores predeterminados del navegador para un elemento dado, eso no es lo que significa "valor inicial".display:none
" luego lees "al igual que no hay un peinado que sea lo opuesto al calvo " Wow plus 1, muy bien dicho.Un verdadero opuesto a
display: none
no existe (todavía).Pero
display: unset
está muy cerca y funciona en la mayoría de los casos.De MDN (Red de desarrolladores de Mozilla):
Tenga en cuenta también que
display: revert
actualmente se está desarrollando. Ver MDN para más detalles.fuente
display: initial
?Cuando se cambia el elemento de
display
en Javascript, en muchos casos una opción adecuada para 'deshacer' el resultado deelement.style.display = "none"
eselement.style.display = ""
. Esto elimina ladisplay
declaración delstyle
atributo y revierte el valor real de ladisplay
propiedad al valor establecido en la hoja de estilo para el documento (al valor predeterminado del navegador si no se redefine en otro lugar). Pero el enfoque más confiable es tener una clase en CSS comoy agregar / eliminar este nombre de clase a / de
element.className
.fuente
.element { display: none }
(definido en CSS lib por ejemplo) con.element { display: '' !important }
él no funcionará. Tienes que usar.element { display: unset !important }
display:none
solo en JavaScript. Por supuesto, la cadena vacía no funcionará en CSS, ya que es el valor no válido. Sin embargo,display: unset
sugiere que no se restaurará, por ejemplo, el valor predeterminadodisplay:block
para a<div>
o el valor predeterminadodisplay:table-row
para a<tr>
, efectivamente convierte todo endisplay:inline
(al igual quedisplay:initial
). Para restaurar el valor predeterminado del navegador para el elemento, existedisplay:revert
, pero no está bien soportado ( caniuse.com/#feat=css-revert-value ).puedes usar
Funciona como normal ... Es un pequeño pirateo en CSS;)
fuente
display
propiedad, por lo que simplemente se ignora y funciona efectivamente como unaelement.style.display = ''
asignación (vea mi respuesta más arriba).display: chunk norris;
para el mismo efecto, con un poco más de patada..element { display: none }
(definido en CSS lib por ejemplo) con.element { display: normal !important }
él no funcionará. Tienes que usar.element { display: unset !important }
Yo uso
display:block;
funciona para mífuente
block
, no es lo que generalmente desea para uninline
elemento como,<span>
por ejemplo.Como Paul explica, no hay un opuesto literal a la visualización: ninguno en HTML ya que cada elemento tiene una visualización predeterminada diferente y también puede cambiar la visualización con una clase o un estilo en línea, etc.
Sin embargo, si usa algo como jQuery, sus funciones show y hide se comportan como si hubiera un opuesto de display none. Cuando se oculta, y luego muestra un elemento nuevamente, se mostrará exactamente de la misma manera que lo hizo antes de estar oculto. Lo hacen almacenando el valor anterior de la propiedad de visualización al ocultar el elemento para que cuando lo muestre nuevamente se muestre de la misma manera que lo hizo antes de ocultarlo. https://github.com/jquery/jquery/blob/740e190223d19a114d5373758127285d14d6b71e/src/css.js#L180
Esto significa que si configura un div, por ejemplo, para mostrar en línea, o bloque en línea y lo oculta y luego lo muestra de nuevo, se mostrará una vez más como pantalla en línea o en bloque en línea igual que antes
guión:
Observe que la propiedad de visualización del div permanecerá constante incluso después de que se ocultó (display: none) y se volvió a mostrar.
fuente
En el caso de una hoja de estilo para imprimir, utilizo lo siguiente:
Usé esto cuando necesitaba imprimir un formulario que contenía valores y los campos de entrada eran difíciles de imprimir. Entonces agregué los valores envueltos en una etiqueta span.print_only (div.print_only se usó en otro lugar) y luego apliqué la clase .no_print a los campos de entrada. Entonces, en la pantalla, verá los campos de entrada y, cuando se imprima, solo los valores. Si quisieras ponerte elegante, puedes usar JS para actualizar los valores en las etiquetas de extensión cuando se actualizaron los campos, pero eso no era necesario en mi caso. Quizás no sea la solución más elegante, ¡pero funcionó para mí!
fuente
Puedes usar display: block
Ejemplo:
fuente
Me encontré con este desafío al crear una aplicación donde quería una tabla oculta para ciertos usuarios pero no para otros.
Inicialmente lo configuré como display: none pero luego display: inline-block para aquellos usuarios que quería verlo, pero experimenté los problemas de formato que podría esperar (columnas consolidadas o generalmente desordenadas).
La forma en que lo resolví fue mostrar primero la tabla y luego hacer "display: none" para aquellos usuarios a los que no quería ver. De esta forma, se formateó normalmente pero luego desapareció según fuera necesario.
¡Una solución lateral, pero podría ayudar a alguien!
fuente
opuesto a 'none' es 'flex' mientras se trabaja con react native.
fuente
visibilidad: oculto ocultará el elemento pero el elemento está con DOM. Y en caso de visualización: ninguno eliminará el elemento del DOM.
Por lo tanto, tiene la opción de que el elemento se oculte o muestre. Pero una vez que lo elimina (quiero decir, no mostrar ninguno) no tiene un valor opuesto claro. display tiene varios valores como display: block, display: inline, display: inline-block y muchos otros. Puedes verlo desde W3C.
fuente
display
?La mejor respuesta para
display: none
eso
fuente
display:normal
. Ver developer.mozilla.org/en-US/docs/Web/CSS/displayPuedes usar esto
display:block;
y también agregaroverflow:hidden;
fuente
display: block
no funciona bien en un<span>
o un<td>
... y una respuesta anterior ya ha mencionadodisplay: block
.overflow: hidden
. ¿Por qué? ¿Cuál es el punto de agregar eso? No tiene nada que ver con deshacer adisplay: none
.El mejor "opuesto" sería devolverlo al valor predeterminado que es:
fuente