Aguarde...

27 de novembro de 2021

Como fazer formas básicas e avançadas com CSS puro

Como fazer formas básicas e avançadas com CSS puro

Quer adicionar um quadrado ou um retângulo à sua página da web? Veja como fazer isso e muito mais com CSS.

Você já viu um site de CSS puro onde cada elemento é finalizado por meio de CSS? CSS faz mais do que apenas estilizar elementos. As formas CSS permitem que os web designers criem caminhos personalizados, como um triângulo, círculos, polígonos e muito mais. Dessa forma, você não é mais obrigado a inserir uma imagem flutuante com um fundo transparente, apenas para ficar desapontado com uma caixa retangular ao redor dela.

Neste artigo, usaremos formas CSS e alguns valores funcionais para codificar formas diferentes.

Desenho de formas CSS básicas

Vamos começar com as formas básicas como quadrado, retângulo, triângulo, círculo e elipse.

Quadrado e Retângulo

Quadrado e retângulo são as formas mais fáceis de fazer em CSS. Tudo o que você precisa fazer é criar um <div> e atribuir-lhe altura e largura .

HTML

<body>
<div class="rec-sq">
<div class="square"></div>
<div class="rectangle"></div>
</div>
</body>

CSS

.rec-sq {
display: flex;
gap: 2em;
margin: 2em;
}
.square {
width: 15rem;
height: 15rem;
background: rgb(255, 123, 0);
}
.rectangle {
width: 24rem;
height: 14rem;
background: rgb(0, 119, 128);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Círculo e Elipse

Você só precisa atribuir um raio de borda de 50% a um quadrado e você obterá um círculo. Faça o mesmo com o retângulo para obter uma elipse.

HTML

<div class="rec-sq">
<div class="circle"></div>
<div class="ellipse"></div>
</div>

CSS

.circle {
width: 15rem;
height: 15rem;
background: rgb(255, 123, 0);
border-radius: 50%;
}
.ellipse {
width: 24rem;
height: 14rem;
background: rgb(0, 119, 128);
border-radius: 50%;
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Triângulos

Usaremos bordas para criar triângulos. Quer saber como isso funciona? Tudo o que você precisa fazer é definir a largura e a altura do triângulo como zero. Isso significa que, avançando, a largura real do elemento será a largura da borda . Além disso, você já deve saber que as bordas das bordas são diagonais de 45 graus entre si. Dê cores diferentes a cada borda e defina qualquer uma delas como transparente. No final das contas, você terá seu triângulo.

HTML

<body>
<div class="sample"></div>
<div class="triangle"></div>
</body>

CSS

//common to all
body {
display: flex;
gap: 5em;
margin: 15em;
}.sample {
height: 8.5em;
width: 8.5em;
border-top: 1em solid #9ee780;
border-right: 1em solid rgb(240, 241, 141);
border-bottom: 1em solid rgb(145, 236, 252);
border-left: 1em solid rgb(248, 115, 106);
}.triangle {
height: 0;
width: 0;
border-top: 5em solid #9ee780;
border-right: 5em solid rgb(240, 241, 141);
border-bottom: 5em solid rgb(145, 236, 252);
border-left: 5em solid rgb(248, 115, 106);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Você pode brincar com a altura e a cor das bordas para obter diferentes tipos de triângulos. Por exemplo, você pode criar um triângulo apontando para cima, dando à borda inferior uma cor sólida enquanto todas as outras bordas são definidas como transparentes. Além disso, você pode criar um triângulo apontando para a direção certa ou um triângulo de ângulo reto por brincar com border-width e border-color .

HTML

<body>
<div class="triangle-up"></div>
<div class="triangle-right"></div>
<div class="triangle-bottom-right"></div>

</body>

CSS

.triangle-up {
height: 0;
width: 0;
border-top: 5em solid transparent;
border-right: 5em solid transparent;
border-bottom: 5em solid rgb(145, 236, 252);
border-left: 5em solid transparent;
}
.triangle-right {
width: 0;
height: 0;
border-style: solid;
border-width: 4em 0 4em 8em;
border-color: transparent transparent transparent rgb(245, 149, 221);
}
.triangle-bottom-right {
width: 0;
height: 0;
border-style: solid;
border-width: 8em 0 0 8em;
border-color: transparent transparent transparent rgb(151, 235, 158);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Criação de formas avançadas usando CSS

Você pode usar :: before e :: after pseudo-elementos para criar formas avançadas. Com o uso inteligente das propriedades de posição e transformação, você pode construir facilmente formas complexas usando CSS puro.

Formato de estrela (5 pontos)

Você precisará manipular as bordas usando o valor de rotação da transformação. A ideia é criar dois lados usando uma classe = ”estrela” , os outros dois lados usando o elemento :: after , e o último lado usando o elemento :: before .

HTML

<div class="star-five"></div>

CSS

.star-five {
margin: 3.125em 0;
position: relative;
display: block;
width: 0em;
height: 0em;
border-right: 6.25em solid transparent;
border-bottom: 4.3em solid rgb(255, 174, 81);
border-left: 6.25em solid transparent;
transform: rotate(35deg);
}
.star-five:before {
border-bottom: 5em solid rgb(255, 174, 81);
border-left: 2em solid transparent;
border-right: 1.875em solid transparent;
position: absolute;
height: 0;
width: 0;
top: -45px;
left: -65px;
display: block;
content: '';
transform: rotate(-35deg);
}
.star-five:after {
position: absolute;
display: block;
top: 3px;
left: -105px;
width: 0;
height: 0;
border-right: 6.25em solid transparent;
border-bottom: 4.3em solid rgb(255, 174, 81);
border-left: 5.95em solid transparent;
transform: rotate(-70deg);
content: '';
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Pentágono

Você pode criar um pentágono combinando um trapézio e um triângulo. Use a forma das propriedades de borda e posição e agrupe-as.

HTML

<div class="pentagon"></div>

CSS

.pentagon {
position: relative;
width: 10em;
box-sizing: content-box;
border-width: 10em 5em 0;
border-style: solid;
border-color: rgb(7, 185, 255) transparent;

margin-top: 20rem;
margin-left: 10rem;
}

.pentagon:before {
content: "";
position: absolute;
height: 0;
width: 0;
top: -18em;
left: -5em;
border-width: 0 10em 8em;
border-style: solid;
border-color: transparent transparent rgb(7, 185, 255);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Diamante

Agrupe dois triângulos apontando para cima e para baixo usando a posição para criar uma forma de diamante. Sim, usaremos as propriedades da borda para criar esses triângulos.

HTML

<div class="diamond"></div>

CSS

.diamond {
width: 0;
height: 0;
position: relative;
top: -3em;
border: 3em solid transparent;
border-bottom-color: rgb(129, 230, 255);

}
.diamond:after {
content: '';
width: 0;
height: 0;
position: absolute;
left: -3em;
top: 3em;
border: 3em solid transparent;
border-top-color: rgb(129, 230, 255);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Você pode criar uma forma de escudo de diamante alterando a altura do triângulo superior, conforme mostrado abaixo:

HTML

<div class="diamond-shield"></div>

CSS

.diamond-shield
{
width: 0;
height: 0;
border: 3em solid transparent;
border-bottom: 1.25em solid rgb(71, 194, 231);
position: relative;
top: -3em;
}
.diamond-cut:after {
content: '';
position: absolute;
left: -3em;
top: 1.25em;
width: 0;
height: 0;
border: 3em solid transparent;
border-top: 4.4em solid rgb(71, 194, 231);
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Coração

O formato do coração é um pouco difícil, mas você pode fazer isso usando os pseudo-elementos :: before e :: after . Você pode usar diferentes valores de transformação para girá-los de diferentes ângulos até que formem perfeitamente o formato de um coração. Por fim, você pode definir a origem da transformação para definir o ponto em torno do qual a transformação é aplicada.

HTML

<div class="heart"></div>

CSS

.heart {
width: 6.25em;
height: 55em;
position: relative;
}
.heart:before,
.heart:after {
content: "";
width: 3em;
height: 5em;
position: absolute;
left: 3em;
top: 0;
background: red;
border-radius: 3em 3em 0 0;
transform: rotate(-45deg);
transform-origin: 0 100%;
}
.heart:after {
left: 0;
transform: rotate(45deg);
transform-origin: 100% 100%;
}

Saída:

Como fazer formas básicas e avançadas com CSS puro

Experiência com formas CSS puras

Agora você deve estar familiarizado com as diferentes imagens CSS puras que podem ser construídas escrevendo algumas linhas de código. Construir um site super-rápido não é mais uma tarefa agitada, pois você sabe como brincar com o código. A melhor parte é que você pode ressoar com a voz da marca manipulando diferentes formas e cores de acordo com sua necessidade. Portanto, continue experimentando e descubra novas maneiras de desenhar formas incríveis puramente por CSS.

Postado em Blog
Escreva um comentário