¿Puedes diseñar un elemento noscript?
Pregunta
¿Es posible utilizar el noscript
elemento en selectores CSS?
noscript p {
font-weight: bold;
}
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; }