Unlimited Wordpress themes, plugins, graphics & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. CSS

Crea un efecto de papel doblado flexible con CSS3

by
Length:MediumLanguages:

Spanish (Español) translation by steven (you can also view the original English article)

En este tutorial, aprenderemos a crear un efecto de papel doblado flexible (adaptable) utilizando funciones de CSS3 como degradados de fondo y sombras de cuadro, que pueden dar un fondo atractivo al área de contenido de tu sitio web.


Paso 1: Configuración del <head>

Comencemos haciendo una página HTML muy básica. Usaremos HTML5 porque... ¡¿por qué no?!

En la cabecera, nos aseguramos de usar el tipo de documento HTML5, establecemos nuestro título, llamamos a nuestras hojas de estilo, también usamos la meta etiqueta viewport para que nuestro efecto funcione en dispositivos móviles y tabletas. Finalmente, hay un polyfill para que los elementos html5 sean reconocidos en navegadores más antiguos, y también hay una solución para los gradientes CSS3 para IE que necesitaremos más adelante en el tutorial.


Paso 2: Configurar el <body>

Ahora, en la sección principal de la página tenemos un contenedor div que envuelve la página y otro que envuelve el "papel". Dentro de este div, agregaremos una etiqueta <section> cada vez que queramos una sección doblada en el papel. Hay dos tipos de estas secciones, por lo que más adelante en el CSS podremos diferenciarlas usando los selectores n-ésimo hijo 'impar' e 'par'. De esta manera, nuestro HTML se mantiene lo más semántico posible sin nombres de clases superfluos.

En estas secciones he agregado algo de contenido; títulos y texto de marcador de posición. Esta es una estructura de página simple bastante normal, pero tenemos todo lo que necesitamos para crear el efecto de papel doblado pasando al CSS.


Paso 3: Estilo general de la página 

En el CSS vamos a crear el efecto completamente desde cero, sin imágenes, solo por diversión.

Estos son los estilos básicos de la página. Declaramos un ancho máximo fijo y un porcentaje del ancho real para que todo el elemento "papel" sea flexible. Los estilos de encabezado son solo para el ejemplo, obviamente, depende de tus habilidades artísticas cambiarlos de acuerdo con tu diseño.


Paso 4: Aplicando estilos a ambas secciones del pliegue

Aquí nos aseguramos de que cada sección se extienda al 100% a través de su elemento principal. Definimos una altura mínima, de esa manera, si deseas agregar secciones de pliegue vacías como en el ejemplo, no tendrán una altura de 0px. Luego declaramos la posición relativa y agregamos un poco de relleno, una vez más solo para este diseño.

Nota: Es muy importante declarar position: relative; en esta sección; lo necesitamos para colocar los elementos de sombra que realmente venden el efecto.


Paso 4: Agregar el degradado

Esta vez solo aplicamos estilo a cada elemento de la sección par, lo que significa el segundo, cuarto, sexto, etc. Aplicamos un degradado para dar la impresión de que se proyecta una sombra sobre el papel en un espacio 3D. Este degradado es una de las partes más esenciales de este diseño y es importante elegir un color que combine con el papel.

En este caso, el papel era #f5f4f0, por lo que el gris del degradado (que se desvanece en diagonal desde la parte superior izquierda a la inferior derecha) es #e9eae5 hasta volverse completamente transparente.

Puedes utilizar una serie de herramientas para generar tus degradados, por ejemplo:


Paso 5: Agregar las sombras

Una vez hecho esto, agreguemos ahora algunas sombras debajo del papel.

Ahora sé que esto puede parecer desalentador para las personas que no están acostumbradas a usar transformaciones CSS3 o pseudo-elementos, pero en realidad es bastante sencillo.

Aquí solo estamos agregando las sombras para cada sección impar. Comenzamos empujando el elemento adicional detrás del papel con z-index. Es aquí donde declaramos una posición absoluta, por lo que necesitamos declarar la posición relativa en el elemento padre antes.

Básicamente, estamos haciendo dos cajas negras que ocupan la mitad del ancho de nuestra sección de plegado (width: 50%;) luego les damos sombras de caja y luego las giramos en una cantidad de 5°. Estos elementos extra están en su mayoría ocultos, pero están colocados de tal manera que dan la ilusión de profundidad, como si el papel se estuviera desprendiendo de la página. Estas sombras acentúan el efecto creado por el degradado anteriormente.


Paso 6: Agregar las sombras finales

Ahora necesitamos repetir un proceso similar para nuestras secciones numeradas uniformemente.

Exactamente igual que antes, pero con algunos detalles. Obviamente, estamos apuntando a los elementos pares y no a los impares, y el posicionamiento es diferente, por lo que la sombra se ubica en la parte superior del cuadro y se gira hacia el otro lado, creando así una especie de sombra triangular cerca del punto de cada "doblez". Aquí:


Paso 7: Agregar algunas Media-queries

Habrás notado que hemos estado usando porcentajes para anchos y hemos estado configurando un entorno para un diseño adaptable. Si tomas el ejemplo como está ahora y lo cambias de tamaño, funciona bastante bien. Pero hay imperfecciones. Estos se pueden solucionar con algunas correcciones que se activan en ciertos puntos.

Así que aquí acabamos de hacer nuestros encabezados más pequeños (una vez más solo para la demostración) también hemos tenido que reemplazar los pseudo-elementos ligeramente porque se mostraban en ventanas pequeñas. Elegí 600px como punto de interrupción simplemente porque fue entonces cuando las sombras se volvieron demasiado grandes en mis ojos, una vez más, esto está completamente abierto para que lo cambies de acuerdo con tu diseño.


Compatibilidad del navegador

Como usamos gradientes CSS3, la compatibilidad del navegador se limita a los navegadores modernos e Internet Explorer 10. Nuestros gradientes tienen una propiedad de filtro de respaldo para darnos acceso a IE9, por lo que solo se descuenta IE8 y versiones anteriores. IE8 en realidad se dispara de varias maneras (nuestros selectores CSS3, reglas de transformaciónsombras (box-shadows), ¡así que olvidémonos de IE8 por completo!) Afortunadamente, es una degradación elegante y el contenido de la página es perfectamente accesible:


IE8

No olvides que tus media queries también deberán contener la única palabra clave, para evitar que IE8 analice todo su contenido de forma predeterminada.


Conclusión

¡Ahí lo tienes! Un efecto de papel doblado flexible creado con degradados CSS3, sombras y pseudo elementos. Espero que hayas disfrutado de este tutorial y con suerte hayas aprendido algo útil de él. Déjame saberlo en los comentarios ya que me encantaría escuchar tus opiniones.

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.