Pergunta

É possível usar o elemento noscript em seletores CSS?

noscript p {
    font-weight: bold;
}
Foi útil?

Solução

Sim! Você pode definitivamente fazer isso.

Na verdade, muitos ( ALL? ) navegadores de apoio destinadas qualquer tag arbitrária usando CSS. Tag "oficial" na especificação HTML só definem o que um navegador deve fazer com eles. Mas CSS é uma linguagem que as metas de qualquer sabor de XML, assim você pode dizer foo {font-weight:bold;} e na maioria dos navegadores, <foo> hello world </foo> sairá negrito.

Como esclarece Darko Z , IE6 / 7 tarefas não adicione arbitrárias elementos (não-padrão) para o DOM automaticamente a partir da fonte; Eles têm que ser programaticamente acrescentou.

Outras dicas

Eu tenho um bug do IE para se manter em mente. Se, como OP, você quer apenas para estilizar o texto dentro da tag noscript e não a própria tag noscript, por favor desconsidere esta ..

Digamos que você queira fazer a tag noscript fundo vermelho. No IE8, ele vai aparecer com JS habilitado. Apenas a caixa em si, e não o texto do interior.

Assim, esta combinação não é bom:

CSS

noscript {
    background-color: red;
}

HTML

<noscript>Turn on your damned JavaScript! What is this, 1999?</noscript>

Mas esta solução alternativa funciona bem:

CSS

noscript div {
    background-color: red;
}

HTML

<noscript><div>Turn on your damned JavaScript! What is this, 1999?</div></noscript>

Estranhamente, eu só vejo esse comportamento no IE8, não IE7. E quem sabe cerca de 6 ..

Além de Rex M resposta - IE 6/7 (? 6 def, 7 talvez) não será um estilo tag arbitrária para você. Mas para sua sorte como com todas muitos problemas IE há uma solução alternativa.

Digamos que você queira estilo um elemento chamado foo. Para obter IE para reconhecê-lo como um elemento styleable você precisa incluir isso em algum lugar linha em seu JS:

document.createElement('foo');

Você não precisa anexá-lo, basta criá-lo.

Isso vai chutar IE para denominar esse elemento para você com a regra CSS:

foo { font-weight:bold; }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top