Pregunta

¿Es posible utilizar el noscript elemento en selectores CSS?

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

Solución

¡Sí!Definitivamente puedes hacer eso.

De hecho, muchos (¿todo?) los navegadores admiten la orientación a cualquier etiqueta arbitraria mediante CSS.Las etiquetas "oficiales" en la especificación HTML sólo definen lo que un navegador debe hacer con ellas.Pero CSS es un lenguaje que apunta a cualquier tipo de XML, por lo que puedes decir foo {font-weight:bold;} y en la mayoría de los navegadores, <foo> hello world </foo> saldrá atrevido.

Como Darko Z aclara que IE6/7 no agrega elementos arbitrarios (no estándar) al DOM automáticamente desde la fuente;deben agregarse mediante programación.

Otros consejos

Tengo un fallo de IE a tener en cuenta. Si, como OP, lo que desea es el estilo del texto dentro de la etiqueta noscript y no la etiqueta noscript sí, por favor ignore este ..

Digamos que quiere hacer antecedentes de la etiqueta noscript rojo. En Internet Explorer 8, se mostrará con JS habilitado. Sólo la propia caja, no el texto dentro.

Así que esta combinación no es bueno:

CSS

noscript {
    background-color: red;
}

HTML

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

Sin embargo, esta solución funciona bien:

CSS

noscript div {
    background-color: red;
}

HTML

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

Extrañamente, solamente veo este comportamiento en IE8, IE7 no. Y que sabe de 6 ..

Además de respuesta de Rex M - IE 6/7 (? 6 def, tal vez 7) no el estilo de una etiqueta arbitraria para usted. Pero por suerte para que al igual que con todos los muchos problemas es decir, no es una solución.

Supongamos que quiere el estilo de un elemento llamado foo. Para obtener IE para reconocerlo como un elemento styleable es necesario incluir esta línea en algún lugar de sus JS:

document.createElement('foo');

No es necesario añadir que, al crearlo.

Esto dará inicio IE en labrar ese elemento para usted con la regla CSS:

foo { font-weight:bold; }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top