En Bootstrap v3, a menudo uso las clases ocultas ** combinadas con clearfix para controlar diseños de varias columnas en diferentes anchos de pantalla. Por ejemplo,
Podría combinar múltiples ocultos - ** en un DIV para hacer que mis múltiples columnas aparezcan correctamente en diferentes anchos de pantalla.
Como ejemplo, si quisiera mostrar filas de fotos de productos, 4 por fila en pantallas más grandes, 3 en pantallas más pequeñas y luego 2 en pantallas muy pequeñas. Las fotos del producto pueden tener diferentes alturas, por lo que necesito el clearfix para asegurar que la fila se rompa correctamente.
Aquí hay un ejemplo en v3 ...
http://jsbin.com/tosebayode/edit?html,css,output
Ahora que v4 ha eliminado estas clases y las ha reemplazado con las clases visibles / ocultas - ** - arriba / abajo, parece que tengo que hacer lo mismo con múltiples DIV en su lugar.
Aquí hay un ejemplo similar en v4 ...
http://jsbin.com/sagowihowa/edit?html,css,output
Así que pasé de DIV individuales a tener que agregar múltiples DIV con muchas clases arriba / abajo para lograr lo mismo.
De...
<div class="clearfix visible-xs-block visible-sm-block"></div>
a...
<div class="clearfix hidden-sm-up"></div>
<div class="clearfix hidden-md-up hidden-xs-down"></div>
<div class="clearfix hidden-md-down"></div>
¿Hay una mejor manera de hacer esto en v4 que he pasado por alto?
d-initial
por lo que ya no puede anulard-<breakpoint>-hidden
y establecerlo en su valor inicial. Si quiero ocultar un elemento en pantallas más pequeñas y mostrarlo en las medianas y grandes sin conocer la pantalla inicial (que podría ser dinámica), entonces no puedo restaurar su valor. No pensaron en nada de esto.Desafortunadamente, todas las clases
hidden-*-up
yhidden-*-down
se eliminaron de Bootstrap (a partir de Bootstrap Versión 4 Beta , en la Versión 4 Alfa y la Versión 3 estas clases todavía existían).En cambio, se
d-*
deben usar nuevas clases , como se menciona aquí: https://getbootstrap.com/docs/4.0/migration/#utilitiesDescubrí que el nuevo enfoque es menos útil en algunas circunstancias. El viejo enfoque era OCULTAR elementos, mientras que el nuevo enfoque es MOSTRAR elementos. Mostrar elementos no es tan fácil con CSS ya que necesita saber si el elemento se muestra como bloque, en línea, bloque en línea, tabla, etc.
Es posible que desee restaurar los antiguos estilos "hidden- *" conocidos de Bootstrap 3 con este CSS:
Las clases
hidden-unless-*
no se incluyeron en Bootstrap 3, pero también son útiles y deberían explicarse por sí mismas.fuente
Bootstrap v4.1 usa nuevos nombres de clase para ocultar columnas en su sistema de cuadrícula.
Para ocultar columnas según el ancho de la pantalla, use
d-none
class o cualquiera de lasd-{sm,md,lg,xl}-none
clases. Para mostrar columnas en ciertos tamaños de pantalla, combine las clases mencionadas anteriormente cond-block
od-{sm,md,lg,xl}-block
clases.Ejemplos son:
Más de estos aquí .
fuente
No espero que múltiples div's sean una buena solución.
También creo que puede reemplazar
.visible-sm-block
con.hidden-xs-down
y.hidden-md-up
(o.hidden-sm-down
y.hidden-lg-up
para actuar en las mismas consultas de medios).hidden-sm-up
compila en:.hidden-sm-down
y.hidden-lg-up
compila en:Ambas situaciones deberían actuar igual.
Su situación se vuelve diferente cuando intenta reemplazar
.visible-sm-block
y.visible-lg-block
. Los documentos de Bootstrap v4 te dicen:fuente
El usuario Klaro sugirió restaurar las antiguas clases de visibilidad, lo cual es una buena idea. Desafortunadamente, su solución no funcionó en mi proyecto.
Creo que es una mejor idea restaurar el antiguo mixin de bootstrap, ya que cubre todos los puntos de interrupción que el usuario puede definir individualmente.
Aquí está el código:
En mi caso, he insertado esta parte en un
_custom.scss
archivo que se incluye en este momento enbootstrap.scss
:fuente
display: block
que rompe el flujo en ciertos escenarios.http://v4-alpha.getbootstrap.com/layout/responsive-utilities/
Ahora tiene que definir el tamaño de lo que se oculta como tal
Ocultará cualquier cosa de xs y más pequeñas, solo xs
Ocultará todo
fuente
Para bootstrap 4, aquí hay una imagen matricial que explica que las clases utilizadas para mostrar / ocultar elementos dependen del tamaño de la pantalla:
Fuente: Meduim: Bootstrap 4 oculto y visible
fuente
Bootstrap 4 para ocultar todo el contenido use esta clase '.d-none' , ocultará todo independientemente de los puntos de interrupción, igual que la clase de versión de bootstrap anterior '.hidden'
fuente
Desafortunadamente, estas nuevas clases de bootstrap 4 no funcionan como las antiguas en un div,
collapse
ya que establecen el div visible en elblock
que comienza visible en lugar de oculto y si agrega un div adicional alrededor de lacollapse
funcionalidad ya no funciona.fuente
fuente