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

por que no CSS eu devo criar outras tags para setar outras funcionalidades?

Bom dia, minha dúvida a seguinte: por que no CSS eu devo criar outras tags para setar outras funcionalidades? exemplo:

h2{ 
    background-color: #B3A742;
    padding-top: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
    padding-right: 5px;
    color: #FFFFFF
}
h2{
background:-webkit-linear-gradient(left,#B3A742, #C7BE9B 90%)
}
h2{
    border-radius:15px;
    border: 1px solid black;
}
    quando eu coloco todas as funcionalidades dentro de um ´único <h2> algumas param de funcionar
3 respostas

você está sobrescrevendo a tag h2 pois o css é em cascata, ou seja vai obedecer o ultimo seletor h2 que você colocou

solução!

Olá André! Você poderia sim colocar todas essas funcionalidades dentro de um único h2 sem problemas. O fato de separar em vários h2 ou colocar em um único h2 não deve interferir no funcionamento das propriedades.

O que interfere é a ordem em que elas são colocadas, pois uma pode sobrepor a outra. Exemplo:

h2{ 
    background-color: #B3A742; // linha 1
    background:-webkit-linear-gradient(left,#B3A742, #C7BE9B 90%); // linha 2
}

Aqui, a linha 2 sobrepõe a linha 1 caso o navegador trabalhe com gradiente. Fazemos isso, pois caso o usuário utilize um navegador que não suporte essa propriedade ele teria a linha 1 sendo utilizada e a linha 2 ignorada. Agora, veja a diferença:

h2{ 
    background:-webkit-linear-gradient(left,#B3A742, #C7BE9B 90%); // linha 2
    background-color: #B3A742; // linha 1
}

Invertendo as posições a que sempre será utilizada é a linha 1, pois mesmo um navegador reconhecendo a propriedade gradiente ele também reconhece a propriedade background-color e, como essa linha vem depois, é essa que ele irá renderizar na página.

Agora, o fato de você fizer isso assim:

h2{ 
    background-color: #B3A742; // linha 1
    background:-webkit-linear-gradient(left,#B3A742, #C7BE9B 90%); // linha 2
}

Ou assim:

 h2{ 
    background-color: #B3A742; // linha 1
}
 h2{
    background:-webkit-linear-gradient(left,#B3A742, #C7BE9B 90%); // linha 2
}

Não interfere em nada em como o navegador vai exibir sua página.

Pelo código que você postou acima, percebi que em algumas linhas você não colocou o ponto e vírgula (;). Isso faz com que esta linha não seja interpretada. Talvez seja isso que esteja ocorrendo quando você faz as mudanças. Testa aí e nos dê uma alô!

Abraços e sucesso nos estudos!

André Alexandre Stella, perfeito executei os testes e compreendi sua explicação, excelente :D!!!