Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EvaldoBahr

herança CSS

Recommended Posts

Bom dia pessoal.

 

Estava dando uma limpada no meu código e decidi aplicar algumas regras na mesma linha. Até aí tudo bem, background, color, repeat, tudo certo.

 

Resolvi experimentar a teoria da herança CSS, ou seja, o efeito cascata.

 

Se eu entendi bem, uma definição herda o q foi definido antes dela, correto? Mas isso se aplica a todas as definições ou só a algumas?

 

Explico melhor.

 

Eu tenho um código onde uso algumas divs pra fazer o contorno do layout, ou seja, uma pequena imagem posicionada a esquerda superior, outra na direita superior, esquerda inferior e direita inferior.

 

Todas tem o mesmo tamanho, só muda a posição e a imagem, então defini o tamanho da div apenas na primeira, as outras eu só mudei a posição e a imagem. Resultado... não funcionou.

 

Ocorre o mesmo nas definições do menu e em algumas outras.

 

Daí minha dúvida.... o efeito cascata só funciona com algumas definições? Tem diferenças entre IDs e Classes?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não foi isso que eu quis dizer... eu sei o que é ID e o que é Class, a diferença que eu pergunto é na hierarquia, na herança, relativo ao que disse antes.

 

Um outro exemplo... todas as minhas DIVs estão dentro de uma DIV principal. Todas as DIVs possuem ID justamente por estarem em lugares diferentes, porém, todas (com exceção da principal) possuem position:absolute, então, imaginei que se eu declarasse na primeira DIV, as seguintes iriam herdar esta propriedade, coisa que não acontece.

 

Esta é minha dúvida... pq algumas propriedades são herdadas, outras não, e quais as que são herdadas?

Existe diferença na hierarquia/herança entre ID e Class?

 

Será que compliquei mais??? http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Giovani, já conhecia esta matéria, por isso mesmo é que abri este tópico, pois seguindo este modelo, o código não usou a herança, pelo menos não em todos os aspectos.

 

Leonardo, eu estou usando o código em um arquivo lincado.

 

Bom, o elemento que mais me deu este problema, foi a DIV. Mesmo eu as declarando em sequência, não respeitou a herança, por isso estou perguntando.

 

A herança é respeitada quando declarada no código ou de acordo com sua posição no layout?

 

Para vcs entenderem mais ou menos o que estou falando, vejam o código:

#logo {
	position:absolute;
	height:50px;
	width:480px;
	background-color:white;
	text-align:right;
	right:20px;
	top:30px;
}
#logocli {
	position:absolute;
	height:50px;
	width:480px;
	background:white url(img/logo.gif) no-repeat left;
	left:20px;
	top:30px;
}

Reparem que position, height, width e top possuem exatamente as mesmas definições, mas se eu deixar de informar algum deles nas especificações de #logocli por exemplo, meu layout se quebra.

 

Entenderam agora quando eu digo que não respeita a herança?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse caso você precisa sim especificar, mesmo que coloque, por exemplo, assim position:inherit (esqueci como se escreve... :huh: ) assim ele herda realmente do pai.

 

não tenho certeza mas acho que o que você disse está certo, algumas propriedades ele herda implicitamente, outas não...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.