En este tutorial crearemos un sobre utilizando únicamente hojas de estilos.
Lo primero que necesitamos, es un elemento que nos sirva como base para el sobre:
<div id="envelope"></div>
Como estilo inicial colocaremos un borde punteado, esquinas redondeadas y de un tamaño relativamente grande para ver los resultados:
#envelope{
border:5px dashed #F00;
-webkit-border-radius:10px;
-moz-border-radius:10px;
-o-border-radius:10px;
border-radius:10px;
height:250px;
margin:0 auto;
position:relative;
width:400px;
}
Ahora utilizando el pseudoselector :before se genera un segundo elemento al cual sólo dejaremos el borde inferior. Aplicamos una rotación y lo desplazamos con left y top.
Son importantes las propiedades content y position para que se pueda mostrar correctamente.
#envelope:before{
border-bottom:5px dashed #F00;
content:"";
height:5px;
left:-25px;
position:absolute;
top:63px;
-webkit-transform:rotate(35deg);
-moz-transform:rotate(35deg);
-ms-transform:rotate(35deg);
-o-transform:rotate(35deg);
transform:rotate(35deg);
width:250px;
}
Con el pseudoselector :after generamos otro elemento igual pero con una rotación inversa.
#envelope:after{
border-bottom:5px dashed #F00;
content:"";
height:5px;
left:175px;
position:absolute;
top:63px;
-webkit-transform:rotate(-35deg);
-moz-transform:rotate(-35deg);
-ms-transform:rotate(-35deg);
-o-transform:rotate(-35deg);
transform:rotate(-35deg);
width:250px;
}
De esta manera optimizamos el código creando 3 elementos a partir de uno solo.