Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não entendi os desenhos com o CSS

Olá amigos. Realmente nesse exercício eu me perdi. Não entendi porque as bordas ficaram com aparência de outras figuras geométricas que não sejam quadradados (box model). Seguindo as dicas dos outros posts mudando as cores de cada borda separadamente ainda assim não entendi. Por exemplo o código abaixo:

#triangulo { border-left: 30px solid red; border-bottom: 30px solid green; border-top: 30px solid blue; border-right: 30px solid yellow; width: 200px; }

Ele pega uma div sem conteúdo chamada "triangulo" e determina as bordas separadamente com a mesma largura. Pra mim esse código deveria gerar uma caixa QUADRADA (com todas as laterais retas com cores diferentes) que abrigaria um conteúdo de tamanho 200px. Porém o resultado é uma caixa com as bordas esquerda e direita em formato de triangulo e bordas superior e inferior em formato de trapézio.

Por exemplo, no código abaixo, o resultado é uma caixa com as laterais retas de fato (ou não?)

#triangulo { border: 30px solid red; width: 200px; height: 200px; }

E definindo apenas a borda esquerda também temos uma linha reta

#triangulo { border-left: 30px solid red; width: 200px; height: 200px;}

Porque definindo as bordas individualmente elas ficaram parecendo figuras geométricas sem ser retângulos ou quadrados?

2 respostas
solução!

Olá Bruno.

No segundo exemplo, sim, de fato é uma caixa com as bordas iguais.

No primeiro exemplo, você deve ser perguntar: "Por que as bordas de cima e de baixo estão em formato de trapézio e não de triângulo como as laterais, uma vez que os atributos são os mesmos, só tendo a cor como diferença?".

É uma pergunta bem inteligente. Acho que você entenderá na hora quando colocar o width com valor 0 :)

Olá Bruno,

Quando passei pro próximo exercício entendi o motivo. O professor falou que essa aplicação de cores nas bordas, quando estas são diferentes, é o próprio browser que aplica as cores na diagonal.

Entendi isso como se o browser, quando detectasse em uma extremidade de duas bordas de determinado elemento, cores diferentes, ele divide as cores das duas bordas na diagonal. Ou seja, o "quadrado" de cada extremidade é "pintado" com as duas cores, no sentido diagonal. Ai sim, quando não se insere nenhum texto dentro deste elemento e se configura a propriedade WIDTH=0 e as outras bordas com cores transparentes, o quadrado é achatado e ficamos com o aspecto desejado de um triangulo.

Bem, não sei se a forma de interpretar é exatamente esta, mas desta forma eu consegui entender como os desenhos são realizados.