Hoje eu vou mostrar para vocês como criar borda serrilhada somente com CSS3, normalmente para realizar esse efeito de serrilhado precisamos fazer com uma imagem de background e as vezes temos que adicionar em um objeto separado para aplicar esse efeito, mas nesse tutorial eu vou mostrar para vocês como fazer o mesmo efeito somente com o poder do CSS3 em um único objeto só.

Aviso: Essa tutorial só funciona nos browsers mais atuais, porque vamos utilizar mascações como o “linear-gradient” e o mesmo não irá funcionar no IE9 para baixo.

Vamos dar início criando o nosso objeto, nesse exemplo eu vou utilizar o “blockquote” mas vocês podem adicionar em qualquer outro objeto que possa envolver um bloco de texto.

<blockquote>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec congue massa nec velit tincidunt tincidunt. Sed sit amet ullamcorper tellus. </blockquote>

Com o nosso bloco de texto criado vamos passar para a parte do CSS, primeiro de tudo eu vou colocar um estilo no blockquote somente para limitar a largura dele junto com a cor branca:

blockquote {
width: 336px;
background: #fff;
padding: 10px 5px;
margin: 0 auto;
}

Agora vamos passar para a parte mais complicada, que vai ser a parte da aplicação do linear-gradient:

blockquote:after {
content: "";
display:block;
position: relative;
width: 346px;
bottom: -34px;
left: -5px;
height:29px;
background: -webkit-linear-gradient(45deg, transparent 70%, white 75%) 0 50%, -webkit-linear-gradient(130deg, transparent 70%, white 75%) 0 50%;
background: -moz-linear-gradient(-45deg, transparent 70%, white 75%) 0 50%, -moz-linear-gradient(45deg, transparent 70%, white 75%) 0 50%;
background: -o-linear-gradient(-45deg, transparent 70%, white 75%) 0 50%, -o-linear-gradient(45deg, transparent 70%, white 75%) 0 50%;
background: -ms-linear-gradient(-45deg, transparent 70%, white 75%) 0 50%, -ms-linear-gradient(45deg, transparent 70%, white 75%) 0 50%;
background: linear-gradient(-45deg, transparent 70%, white 75%) 0 50%, linear-gradient(45deg, transparent 70%, white 75%) 0 50%;
background-repeat: repeat-x;
background-size:25px 20px, 25px 20px;
}

Eu vou tentar detalhar de um jeito bem simples para vocês o que foi feito acima.

Como vocês viram que eu adicionei a seguinte marcação “blockquote:after” esse :after significa que “APÓS” o blockquote ele vai aplicar o efeito que foi determinado acima, mas se eu tivesse colocado :before ele iria adicionar o efeito “ANTES” do blockquote.

É muito importante que seja adicionado o content: ” “;  porque é com ele que o código vai determina que terá um “espaço em branco” e assim podemos aplicar uma altura para o objeto.

Para que o height funcione corretamente precisamos colocar a marcação como display: bock; e já para determinar o posicionamento que ele será apresentado temos que aplicar o position: relative; junto com o o bottom e o left.

Aviso: O bottom e left pode variar dependendo do tamanho do seu objeto.

Agora é a parte de mais chatinha do nosso código é a aplicação do line-gradient, como vocês podem ver ele é replicado 5 vezes, por causa dos diferentes browsers:

-webkit-linear-gradient = /* WebKit browsers */
-moz-linear-gradient = /* Mozilla Firefox 4 to 18 */
-o-linear-gradient = /* Opera */
-ms-linear-gradient = /* Internet Explorer 10+ */
linear-gradient = /* Mozilla Firefox 19+ */

Aviso: Poderá ter variações o posionamento “%” para cada um dos browsers.

Eu vou especificar para vocês o modelo do Mozilla Firefox:

background: linear-gradient(-45deg, transparent 70%, white 75%) 0 50%, linear-gradient(45deg, transparent 70%, white 75%) 0 50%;

Terá duas aplicações de linear-gradient para cada um deles, a primeira eu apliquei com -45deg “esquerda” e na segunda com 45deg “direita” elas são responsáveis pelo rotação do objeto por isso que tem que ser duas aplicações porque cada uma tem que girar para o inverso da outra, assim dará a aparência de serrilhado.

As partes “transparent 70%” e “white 75%” são responsáveis pela parte de sobriamento do objeto, nelas eu determino a cor do objeto que é “white”  junto com a parte da opacidade e altura do sombriamento do objeto.

Já na parte final “0 50%” é responsável pela parte de posicionamento do serrilhado.

Já estamos quase finalizando o nosso tutorial, agora finalizar o CSS vamos aplicar o background-repeat e o background-size:

background-repeat: repeat-x;
background-size:25px 20px, 25px 20px;

Aviso: É muito importante que essa parte esteja abaixo da aplicação anterior.

Como vocês viram eu determinei que o background-repeat será somento no eixo x ou seja ele vai repetir somente na horizontal e no background-size eu determinei que a largura será de 25px e a altura de 20px.

Abaixo vocês podem ver o resultado final do nosso tutorial:

https://codepen.io/chrdesigner/full/fzvFp/

Espero que vocês tenham gostado deste post e até breve, por favor se gostou compartilha o post e se tiver dúvida ou sugestão, por favor deixe um comentário. Até Mais…

César Ribeiro
Written by

Hi, my name’s Cesar H. Ribeiro, I’m Brazilian and I live in São Paulo country town. I’ve been working with Web Development since 2006, I’m Web Developer Freelancer, my main specialty is deploying custom Web Sites using the WordPress platform with base, transforming PSD/Layouts for Custom Themes. In feel years with Developer Freelancer, I worked with many agencies around the world like: Brazil, Australia, USA, Germany and Austria.

Related Posts