Pode a segunda de duas folhas de estilo consecutivamente invocadas substituir todos os estilos definidos no primeiro?

StackOverflow https://stackoverflow.com/questions/1054362

Pergunta

Se eu tiver uma página HTML que links para duas folhas de estilo que são invocados como esta:

<link rel="stylesheet" href="original.css" media="screen, projection" />
<link rel="stylesheet" href="override.css" media="screen, projection" />

Se esses dois arquivos definir exatamente os mesmos nomes de estilo, é verdade que original.css terá qualquer influência sobre o resultado da página com estilo e que todos os estilos virá dos estilos definidos no override.css?

A razão que eu peço é esta: Eu tenho uma original.css que não posso modificar, e eu não quero tocar as linhas de código que invocar esse arquivo. Em vez disso eu gostaria de inserir uma chamada para o meu novo direito arquivo após o original é chamado e override tudo definido no original. Eu não tenho certeza se isso vai funcionar, se é aconselhável, etc.

Foi útil?

Solução

Sim, com certeza pode. Essa é a parte em cascata de Cascading Style Sheets.

Eu tenho que perguntar, porém, por que você não pode simplesmente original.css de exclusão, ou não a saída dele, ou .... alguma coisa? Ele parece ser uma abordagem muito grande martelo para substituir completamente tudo no original :-) Se você fizer original.css fato de saída e override.css, o navegador vai ter que fazer muito mais trabalho do que se estivesse a saída apenas override.css.

Outras dicas

Sim, isso vai funcionar. Você está certo de que não é realmente embora aconselhável. Em vez de "não tocar" as linhas originais do código, você poderia inserir tags de comentário em torno dele?

Ele vai substituir tudo o que é substituído, mas está indo para complementar tudo não é o mesmo, mas diferente informações aplicada a uma classe ou id ou pseudo seletores ou qualquer outra coisa. Quer dizer, IE:

original.css -

p { margin: 4px 6px 10px 12px; }
h1 { font-size: 2.2em }

override.css -

p { padding: 6px; color: #666666; }
h1 { font-size: 1.5em }

O que eu disse é que P é complementada em override.css porque os estilos não são conflitantes entre si. Por outro lado, o exemplo H1 é realmente substituído e as duas regras em cada estilo são conflitantes assim as vitórias de última declaração.

Isto não é tão ruim quanto se pode pensar ... Eu só terminou um par de meses atrás, um site na moodle que é um hospício de estilos e de dados mebeded um similares. Os dados de estilo modelo utilizado a partir do modelo padrão, em seguida, a partir do modelo PAGE, seguida de curso. Quando eu tentei perceber o estilo fiz o que eu estava tão estressado por não encontrar a peça correta de código para a mudança para o meu próprio ... Eu finalmente decidiu anexar uma folha de estilo do meu próprio com os novos estilos sobrescritos e os novos complementado. que me fez economizar cerca de duas semanas de escavação em um designer nunca sonhou-inferno-de-código.

Espero que isso ajuda você obter uma ideia mais clara.

Bye.

Um grande exemplo dessa necessidade é Sharepoint. Editar qualquer tema vai deixar você com toda uma série de mudanças que você precisa para substituir a partir da classe core.css.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top