Cómo hacer pestañas adaptativas (tabs) usando css sin usar scripts. Cómo crear pestañas adaptativas (pestañas) usando CSS sin usar scripts HTML - pestañas simples


Sobre un código

Pestaña de navegación

Pestañas de navegación para dos formularios.

Responsivo: no

Dependencias: bootstrap.css

Sobre un código

Pestaña CSS

Navegadores compatibles: Chrome, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas

El selector + selecciona el siguiente elemento adyacente. Históricamente, esto ha sido genial para diseñar etiquetas. Con la cuadrícula CSS, un elemento puede estar al lado de otro en el marcado, pero en algún lugar totalmente diferente en la visualización. Este lápiz utiliza una entrada simple: selector marcado combinado con muchos + "s para diseñar diferentes páginas de un micrositio imaginario.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas CSS puras

Versión radio de pestañas. Requisitos: no depender de ID específicos para CSS (el CSS no debería necesitar conocer ID específicos), flexible para cualquier cantidad de pestañas desconocidas, accesible. Advertencias: dado que estas son casillas de verificación, las pestañas no se pueden tabular, es necesario usar teclas de flecha. .

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas CSS

Pestañas verticales de CSS puro.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: no

Dependencias: -

Sobre un código

Pestañas CSS puras con indicador

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas de transición animadas

Pestañas de transición animadas con casillas de verificación.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas de color CSS puro

Sin etiquetas, pestañas de color CSS puro.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas solo CSS

Pestañas solo CSS de Material Design.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas CSS3

Pestañas CSS3 responsivas puras de Sorax.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Controles de pestañas usando HTML y CSS

Hacer clic en las etiquetas es efectivamente lo mismo que hacer clic en los cuadros de entrada. Las entradas de radio están ocultas con CSS. Cuando se selecciona una radio, aparecen sus curiosos vecinos de contenido de pestaña. ¡Eso es todo! El único inconveniente es que no podrás diseñar la pestaña seleccionada sin recurrir a JS, pero eso no debería ser un gran problema.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Responsivo: sí

Dependencias: -

Sobre un código

Pestañas CSS puras

Solo HTML y CSS.

Navegadores compatibles: Chrome, Edge, Firefox, Opera, Safari

Hola queridos lectores. En este día helado lo haremos contigo. hermosas pestañas con usando CSS y JQuery. Resulta que estas llamadas pestañas son muy útiles para el sitio en su conjunto; pueden ahorrar mucho espacio en la página; Se pueden colocar en todas partes, en la barra lateral o directamente en el contenido mismo, el artículo.

Además, las pestañas que haremos tendrán un bonito diseño y decorarán notablemente tu sitio. Qué :-) bonito y útil, me parece una rara coincidencia. Además, se crean únicamente con la ayuda de , respectivamente: se cargan rápidamente y no soportan ninguna carga en el servidor.

JQuery

$(document).ready(function() ( $("#content div").hide(); // Contenido oculto $("#tabs li:first").attr("id","current"); // Qué pestaña mostrar primero $("#content div:first").fadeIn() // Mostrar el contenido de la primera pestaña $("#tabs a").click(function(e) ( e.preventDefault() ; $ ("#content div").hide(); //Ocultar todo el contenido $("#tabs li").attr("id",""); //Restablecer identificadores $(this).parent() .attr ("id","current"); // Activar identificadores $("#" + $(this).attr("title")).fadeIn() // Mostrar el contenido de la pestaña actual )) () ;

Eso es básicamente todo, lo principal es experimentar. Puedes agregar imágenes de fondo a estas pestañas, lo que mejorará significativamente su apariencia, pero tardarán más en cargarse.

Compatibilidad del navegador

Estas pestañas son compatibles con casi todos los navegadores, solo que en algunos se verán un poco diferentes, porque muchos aún no son compatibles con CSS3.

Eso es todo, espero que te haya gustado :-) Si algo no te queda claro, no dudes en preguntar en los comentarios. Nos vemos pronto.

Pestañas en mi opinión son uno de mejores soluciones para la estructuración temática de la información, así como para proporcionar contenido de forma compacta al usuario en una página. Hoy descubriremos cómo crear algo tan funcional sin usar Javascript usando solo HTML y CSS3.

Para crear pestañas usaremos etiqueta aporte y selector CSS :comprobado. En primer lugar, necesitamos crear el marcado de la página en HTML.

Al hacer clic en las casillas de radio se activarán las pestañas correspondientes. Primero aporte establecer el atributo comprobado="comprobado", esto hará que la primera pestaña se abra de forma predeterminada. Ocultaremos las casillas de radio y para hacer clic en ellas usaremos la etiqueta etiqueta. en el bloque .tabs_cont Tendremos bloques con pestañas en las que se colocará el contenido (texto, imágenes, etc.). Hasta ahora todo es sencillo.

Pasemos a los estilos CSS.

Pestañas (posición: relativa; margen: 0 automático; ancho: 800 px;) .etiqueta de pestañas (color: #555; cursor: puntero; visualización: bloque; flotante: izquierda; ancho: 150 px; altura: 45 px; altura de línea: 45 px ; posición: superior relativa: 2px; alineación de texto: centro). Entrada de pestañas (posición: absoluta; izquierda: -9999px;) #tab_1:marcado ~ #tab_l1, #tab_2:marcado ~ #tab_l2, #tab_3:marcado ~ # tab_l3 (fondo: #fff; color del borde: #fff; arriba: 0; índice z: 3; ) .tabs_cont (fondo: #fff; posición: relativa; índice z: 2; altura: 230px; )

Aquí usamos estilos para crear una etiqueta. etiqueta elemento de bloque y establecer sus dimensiones, ubicación y apariencia(puede establecer sus propios estilos para el fondo y los bordes) según lo requieramos, y también ocultar aporte Está usando posicionamiento absoluto.

Luego viene el mismo selector. :comprobado que mencionamos al principio. En palabras simples, si la caja de radio está con identificación #pestaña_1 seleccionado/marcado, luego los estilos se aplican al bloque con identificación #pestaña_l1 y así sucesivamente por analogía. En nuestro caso, aplicamos estilos al título de la pestaña seleccionada. Bueno, al final configuramos estilos para el bloque con el contenido de la pestaña.

Nuestra siguiente tarea es asegurarnos de que nuestras pestañas se puedan cambiar. Para implementar esta tarea, los siguientes estilos:

Tabs_cont > div ( posición: absoluta; izquierda: -9999px; arriba: 0; opacidad: 0; -moz-transition: opacidad .5s fácil de entrar y salir; -webkit-transition: opacidad .5s fácil de entrar y salir; transición : opacidad .5s facilidad de entrada y salida; ) #tab_1:marcado ~ .tabs_cont #tab_c1, #tab_2:marcado ~ .tabs_cont #tab_c2, #tab_3:marcado ~ .tabs_cont #tab_c3 ( posición: estática; izquierda: 0; opacidad : 1; )

Primero, ocultemos todas nuestras pestañas. La solución más sencilla es utilizar pantalla: ninguna;, pero como necesitamos suavidad, los caminos fáciles no son para nosotros, así que con la ayuda posición: absoluta; Movemos nuestros bloques más allá de los límites de visibilidad y también hacemos que este bloque sea completamente transparente usando la propiedad. opacidad: 0; y aumente gradualmente este valor a uno. La propiedad nos ayudará a conseguir suavidad. transición que se describe a continuación. Luego volvemos a utilizar el selector. :comprobado con cuya ayuda hacemos visibles los bloques correspondientes a las casillas de radio seleccionadas.

¡Eso es todo! Al trabajar con los estilos usted mismo, puede cambiar la apariencia a su gusto.

A continuación puedes descargar las fuentes.

No hace mucho nos planteamos la implementación de pestañas con contenido, sin conectar javascript, utilizando exclusivamente .
Hoy quiero presentarles otra solución no menos interesante para formar bloque compacto pestañas creadas con CSS3 puro y que utilizan elementos de diseño adaptables. Como en la primera opción, nada superfluo y engorroso, un mínimo de código CSS, y tendrás a tu disposición un bloque adaptativo con pestañas intercambiables que encajará perfectamente en cualquier sección de la página, ya sea un mensaje separado, un lateral. columna o una ventana modal.

¿Qué cambios se hicieron con respecto a la primera versión?
En primer lugar, el bloque de pestañas se ha vuelto adaptativo, es decir. al ver en dispositivos móviles, el tamaño de las pestañas cambia según el tamaño de las pantallas de los dispositivos de los usuarios, el texto de los títulos se elimina y solo quedan iconos de fuentes que indican el significado del contenido de uno u otro.
Los íconos de fuentes son de , la colección es muy rica y, además, absolutamente gratuita. Puede integrar íconos en cualquier proyecto usando un conjunto de fuentes descargado, o conectarlos a su archivo de estilo CSS directamente desde el sitio web del desarrollador a través de @import usando la siguiente línea:

@importar URL( "http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css") ;

@import url("http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css");

En el ejemplo de demostración, esto es exactamente lo que hice, por lo que al mirar el código fuente, puedes descubrir fácilmente qué es qué.
La estructura de pestañas en HTML es bastante sencilla. Contenedor div básico, enlace

, en el que determinado contenido se encuentra oculto por el momento. ¡Todo! Nada extra, ni bibliotecas js, ni archivos adicionales Las imágenes en el diseño, la apariencia de las pestañas y su funcionalidad se crean exclusivamente mediante CSS. Por supuesto, el uso de los nuevos estándares CSS3 no garantiza un funcionamiento estable en todos los navegadores sin excepción, pero en las versiones modernas las pestañas funcionan perfectamente. IE muestra las pestañas correctamente a partir de la versión 9. Entonces, si le preocupa la psique y los sentimientos de percepción de los usuarios que usan obstinadamente versiones anteriores de este "navegador", este método Es mejor no utilizar la creación de pestañas, sino jQuery.

HTML

< div class = "tabs" > < input id= "tab1" type= "radio" name= "tabs" checked> < label for = "tab1" title= "Pestaña 1" >Pestaña 1 < input id= "tab2" type= "radio" name= "tabs" > < label for = "tab2" title= "Pestaña 2" >Pestaña 2 < input id= "tab3" type= "radio" name= "tabs" > < label for = "tab3" title= "Pestaña 3" >Pestaña 3 < input id= "tab4" type= "radio" name= "tabs" > < label for = "tab4" title= "Pestaña 4" >Pestaña 4 < section id= "content-tab1" > < p> < section id= "content-tab2" > < p> < section id= "content-tab3" > < p>Publica cualquier contenido aquí... < section id= "content-tab4" > < p>Publica cualquier contenido aquí...

Para organizar los bloques de contenido utilicé la etiqueta.

del clip HTML5, que se utiliza, en la mayoría de los casos, para dividir un documento en secciones que son diferentes en significado y contenido, con la posibilidad de utilizar sus propios títulos de primer nivel

.
El cambio de pestañas se produce mediante la interacción del atributo marcado en la etiqueta y la pseudoclase:checked, estrechamente vinculada mediante identificadores en CSS. Es en la elaboración de este método donde tropieza el viejo y famoso freno al progreso. explorador de Internet 8, a partir de la versión 9 todo funciona de la mejor manera.

Sin problemas llegamos a la parte más interesante, diseñar nuestras pestañas usando la magia del CSS. Aquí las cosas son aún más simples, no tiene sentido describir específicamente cada propiedad y parámetro, escribí algunas explicaciones en el código fuente, así que creo que no será difícil descubrir qué va, dónde y por qué, pero si tienes preguntas o encuentra un error, escribe en los comentarios, definitivamente responderé y te ayudaré.

CSS3

/* Contenedor de pestañas básico */. pestañas (ancho mínimo: 320 px; ancho máximo: 800 px; relleno: 0 px; margen: 0 automático;) /* Da estilo a las secciones de contenido */. pestañas> sección (pantalla: ninguna; relleno: 15px; fondo: #fff; borde: 1px sólido #ddd;). pestañas> sección> p (margen: 0 0 5px; altura de línea: 1,5; color: #383838; /* agregar animación */- webkit- animación- duración: 1s; animación- duración: 1s; - webkit- animación- modo de relleno: ambos; modo de relleno de animación: ambos; - webkit- animación- nombre: fadeIn; nombre de la animación: desvanecerse; ) /* Describe la animación de la propiedad de opacidad */@- webkit- fotogramas clave se desvanecen (de (opacidad: 0; ) a (opacidad: 1; ) ) @ fotogramas clave se desvanecen (de (opacidad: 0; ) a (opacidad: 1; ) ) /* Ocultar casillas de verificación */. pestañas> entrada (pantalla: ninguna; posición: absoluta;) /* Estilos de cambios de pestaña */. pestañas> etiqueta ( mostrar: bloque en línea; margen: 0 0 - 1px; relleno: 15px 25px; peso de fuente: 600; alineación de texto: centro; color: #aaa; borde: 0px sólido #ddd; ancho de borde: 1px 1px 1px 1px; fondo: #f1f1f1; radio del borde: 3px 3px 0 0; /* Iconos de fuentes de Font Awesome en formato Unicode */. pestañas> etiqueta: antes (familia de fuentes: fontawesome; peso de fuente: normal; margen derecho: 10px;). pestañas> etiqueta [para * = "1"]: antes (contenido: " \f 19a"; ). pestañas> etiqueta [para * = "2"]: antes (contenido: " \f 17a"; ). pestañas> etiqueta [para * = "3"]: antes (contenido: " \f13b"; ). pestañas> etiqueta [para * = "4"]: antes (contenido: " \f 13c"; } /* Cambia el estilo de los interruptores de pestaña al pasar el mouse */. pestañas> etiqueta: pasar el mouse (color: #888; cursor: puntero;) /* Estilos para la pestaña activa */. pestañas> entrada: marcado+ etiqueta (color: #555; borde superior: 1px sólido #009933; borde inferior: 1px sólido #fff; fondo: #fff;) /* Activando secciones usando la pseudoclase:checked */ #tab1:marcado~#content-tab1, #tab2:marcado~#content-tab2, #tab3:marcado~#content-tab3, #tab4:marcado~#content-tab4 ( bloqueo de pantalla; /* Elimina el texto de los interruptores * y deja los íconos en las pantallas pequeñas */@media pantalla y (ancho máximo: 680px) ( . pestañas> etiqueta ( tamaño de fuente: 0 ; ) . pestañas> etiqueta: antes ( margen: 0 ; tamaño de fuente: 18px; ) ) /* Cambiar el relleno * de los interruptores para pantallas pequeñas */@media screen y (ancho máximo: 400px) ( . pestañas> etiqueta ( padding: 15px; ) )

/* Contenedor de pestañas básico */ .tabs ( ancho mínimo: 320 px; ancho máximo: 800 px; relleno: 0 px; margen: 0 auto; ) /* Estilos de sección de contenido */ .tabs>sección ( mostrar: ninguno; relleno : 15px; fondo: #fff; borde: 1px sólido #ddd; ) .tabs>sección>p (margen: 0 0 5px; altura de línea: 1,5; color: #383838; /* adjuntar la animación */ -webkit-animation -duración: 1s; duración de la animación: 1s; -webkit-animation-fill-mode: ambos; -webkit-animation-name: fadeIn; propiedades de opacidad */ @-webkit-keyframes fadeIn (de (opacidad: 0;) a ( opacidad: 1; ) ) @keyframes fadeIn ( de ( opacidad: 0; ) a ( opacidad: 1; ) ) /* Ocultar las casillas de verificación * / .tabs>input ( display: none; posición: absoluta; ) /* Estilos de interruptores de pestaña */ .tabs>label ( display: inline-block; margin: 0 0 -1px; padding: 15px 25px; font-weight: 600; text-align: center; border: 0px solid #ddd; border-width : 1 px 1 px 1 px; fondo: #f1f1f1; radio de borde: 3px 3px 0 0; ) /* Iconos de fuentes de Font Awesome en formato Unicode */ .tabs>label:before ( font-family: fontawesome; font-weight: normal; margin-right: 10px; ) .tabs>label:before ( contenido: " \f19a"; ) .tabs>label:before ( contenido: "\f17a"; ) .tabs>label:before ( contenido: "\f13b"; ) .tabs>label:before ( contenido: "\f13c"; ) /* Cambia el estilo de los conmutadores de pestañas al pasar el mouse */ .tabs>label:hover ( color: #888; cursor: pointer; ) /* Estilos para la pestaña activa */ .tabs>input:checked+label ( color: # 555; borde -arriba: 1px sólido #009933; borde-abajo: 1px sólido #fff; fondo: #fff ) /* Activando secciones usando la pseudoclase: marcada */ #tab1:checked~#content-tab1, # tab2:checked~# content-tab2, #tab3:checked~#content-tab3, #tab4:checked~#content-tab4 ( display: block; ) /* Eliminar texto de los botones de opción * y dejar íconos en pantallas pequeñas */ @media screen y (max -width: 680px) ( .tabs>label ( font-size: 0; ) .tabs>label:before ( margin: 0; font-size: 18px; ) ) /* Cambiar el relleno de * interruptores para pantallas pequeñas */ @ media screen y (ancho máximo: 400 px) ( .tabs>label ( padding: 15 px; ) )

Puedes diseñar las pestañas () como quieras, todo lo del ejemplo es solo un ejemplo, mi visión momentánea del producto, nada más. Puede encontrar los valores Unicode de los íconos de fuente que necesita en el sitio web del desarrollador. Para hacer esto, simplemente haga clic en el ícono seleccionado y copie el código digital emitido, algo como esto: \f13b.
Tenga en cuenta que cuando reduce el tamaño de la ventana del navegador, las pestañas se ajustan automáticamente al tamaño actual hasta un cierto valor (en el ejemplo 680 px), después de este valor, los títulos de texto de las pestañas desaparecen, dejando iconos. Esto garantiza la máxima compacidad de todo el bloque de pestañas; todo lo que queda es elegir los iconos correctos que coincidan con el significado del contenido presentado dentro de las pestañas.

Vea un ejemplo en vivo de cómo funcionan las pestañas, descargue las fuentes, experimente con los parámetros y cree, cree, cree...

Si está cansado de trabajar con plantillas en inglés y sueña con la oportunidad de utilizar plantillas en ruso, definitivamente estará contento con buenas noticias. Los mismos aparecieron en el mercado de TemplateMonster. soluciones listas para usar, que necesitas. Sí, sí, en el sitio ahora puedes encontrar los mejores. Las plantillas localizadas son exactamente lo que necesita si desea construir su proyecto en línea en un tiempo mínimo. Además de que los textos de las plantillas fueron escritos manualmente, cuentan con todas las herramientas necesarias para crear un sitio web profesional.

Con todo respeto Andrés.

Continuando con el post anterior sobre diseñar elementos de selección, me gustaría contarte cómo hacerlo completamente. pestañas adaptativas sin usando javascript , posicionamiento absoluto y hacks de enlaces.

Para empezar, me gustaría decir que no estoy pidiendo que se abandone JavaScript en favor de CSS únicamente; a continuación se presentará solo una de las formas de implementar pestañas. Hay muchas situaciones en las que este enfoque no le conviene y en las que no puede prescindir de JS, pero no se trata de eso ahora.

Entendamos qué queremos ver como resultado del trabajo y qué requisitos le planteamos:

  1. Trabajar sin JavaScript,
  2. No hay conexión con el número de pestañas (podemos usar un widget por diferentes paginas con diferente contenido en su interior),
  3. Adaptabilidad,
  4. Máxima compatibilidad entre navegadores y plataformas,
  5. La interfaz de usuario más conveniente y comprensible,
  6. No hay restricciones sobre el contenido interno de las pestañas, ya sea texto, contenido multimedia o diseño dentro de la pestaña.

Visualmente debería verse así:

Antes de mostrar tu opción pestañas sin JS, Me gustaría hablar sobre algunas opciones de implementación que encontré en el proceso de resolver este problema.

Opcion uno

La persona que ideó este método claramente quería burlarse de los usuarios, o es uno de los visitantes de Reddit que creó esos controles de volumen tan "prácticos". Este enfoque me pone nervioso.

La esencia del método es la siguiente:

Los enlaces se utilizan como encabezados (los propios botones) de las pestañas, en el atributo href, que contiene la identificación de la pestaña correspondiente: un div o cualquier otro elemento. La pestaña activa se selecciona usando la pseudoclase:objetivo.

Funciona así:

Como habrás notado, tenemos algunos problemas al utilizar este método:

  1. Cuando hacemos clic en la pestaña, la página comienza a saltar, ya que el navegador nos envía a donde lleva este enlace. Por supuesto, esto se puede evitar, pero sin JS no hay manera.
  2. El título de la pestaña activa no está resaltado; esto se puede hacer, pero es extremadamente problemático.
  3. Inicialmente no hay pestañas activas (ya que aún no hemos hecho clic en los enlaces) y tenemos que recurrir a un hack y activar la tercera pestaña seleccionando la primera de esta manera no funcionará;
  4. Adaptabilidad muy controvertida: eso sí, las pestañas se reordenan para nueva línea cuando la pantalla se estrecha y el contenido de la pestaña se estrecha con ella, pero no se ve muy bien. Este problema se puede solucionar mediante consultas de medios, pero dado que no vamos a estar atados al número de pestañas, el problema persistirá en algunos tamaños de pantalla.

Llegamos a una conclusión justificada: este método no es adecuado para nosotros ya que no satisface la mayoría de los requisitos. La implementación es terrible y no recomendaría usarla.

Opción dos

Este método creando pestañas sin JavaScript Ya es más práctico, aunque también tiene algunos problemas de aplicación. La esencia del método es la siguiente: los elementos checkbox y label se usan para los títulos de las pestañas, y usando la pseudoclase:checked y otro elemento div, podemos mostrar el contenido solo de la pestaña activa y ocultar todas las demás:

Entrada del contenedor de pestañas: marcado + etiqueta + .tab-item (pantalla: bloque;)

Entrada de contenedor de pestaña: marcado + etiqueta +. pestaña-elemento (mostrar: bloquear;)

Así es como funciona:

Como habrás notado, en este ejemplo estamos usando posición: absoluta; para colocar los títulos de las pestañas en la parte superior y el contenido de las pestañas en la parte inferior. Esto crea ciertos problemas:

  1. Completamente inadaptable. Al cambiar el tamaño de la pantalla, las pestañas caen y el contenido de la pestaña las cubre. Esto se puede solucionar: hacer desplazamiento horizontal de pestañas, esta solución tiene cabida, pero no me gusta mucho.
  2. Dado que usamos el posicionamiento absoluto para mostrar el contenido de las pestañas, tendremos que especificar una altura fija de las pestañas; de lo contrario, se superpondrán al contenido que está debajo (como se ve en el ejemplo), lo que significa que no podemos usar este enfoque con un número de pestañas previamente desconocido.

Por supuesto, en algunos casos se puede utilizar este método, por ejemplo, cuando se conoce de antemano el número de pestañas y la cantidad de contenido que contienen. Pero buscamos una solución universal, por lo que este enfoque no es aplicable en nuestro caso.

Solución

La tercera opción, que también es la solución, es una modificación del segundo método. Funciona exactamente igual, pero no usaremos posicionamiento absoluto ni la propiedad flotante para los títulos.

EN este método Usamos el ahora de moda flexbox para colocar pestañas y su contenido. La belleza de flexbox aquí es que podemos designar qué elementos se muestran primero y cuáles al final. Esto se puede hacer usando la propiedad de orden: 1; , que por defecto es cero.

La adaptabilidad de las pestañas también se logra mediante la propiedad flex flex-grow: 1; , que permite que las pestañas se extiendan a lo largo de todo el ancho del contenido, por lo que no tenemos que preocuparnos por mostrar una cantidad diferente de pestañas. También podemos colocar contenido de diferentes tamaños dentro de cada pestaña, esto no afectará la visualización del contenido después de ellas.

Este enfoque funciona en todos los navegadores modernos, incluidos los móviles. De las propiedades que son inusuales para muchos, solo se usa Flexbox, y ha sido ampliamente respaldado durante mucho tiempo. EN Navegadores Firefox, Chrome, Safari y Opera, no encontré ningún problema con el funcionamiento de las pestañas.

Puede comprobar este enfoque en jsfiddle o en sus propios proyectos. Me alegraría ver otras propuestas de soluciones a este problema en los comentarios.



gastrogurú 2017