2012-12-19 6 views
5

Mögliche Duplizieren:
Embedding extra styles with noscript
Define css if javascript is not enabledWie definiere ich CSS-Stile, wenn Javascript deaktiviert ist?

ich nur bestimmte CSS-Stile zu definieren versuchen, wenn Javascript deaktiviert ist. Ich verwende:

<noscript> 
    <style type="text/css"> 
    .needjs {display:none !important;} 
    .mwnojs { margin-top: 40px !important; } 
    </style> 
</noscript> 

Beim Versuch, die Seite Quelle zu bestätigen, erhalte ich die Fehlermeldung „Element Stil nicht als Kind des Elements erlaubt noscript in diesem Zusammenhang“.

Also, wie würde ich dies tun, während mein Markup gültig bleibt?

+2

Yuck. Verwenden Sie nicht '! Wichtig'. – gilly3

+1

modernisierer - http://modernizr.com/ – jsweazy

+0

Was ist los mit '! Wichtig'? – JROB

Antwort

0

versuchen, etwas wie folgt aus:

<html class="nojs"> 
<head> 
<script type="text/javascript"> 
document.getElementByTagName("html")[0].className=""; 
</script> 
<style> 
html#nojs { 
    /* do something */ 
} 
</style> 

Diese eine Klasse entfernt, während die Seite geladen wird. Wenn JavaScript nicht aktiviert ist, wird die Klasse nicht entfernt.

0

Sie können dies umgehen, indem Sie diese Klassen in Ihrem Standard-Stylesheet haben und JavaScript beim Laden der Seite loswerden. Dies funktioniert nur, wenn JavaScript aktiviert ist, andernfalls würde es die gewünschten Stile laden.

3

<noscript> Tags sind "Körper" -Tags und <style> Tags sind "Kopf" -Tags. Daher erhalten Sie einen Fehler.

Sie sollten Nicht-Javascript-Stil-Standard und verwenden Sie dann js, um Ihren Stil zu ändern. Sehen Sie hier für weitere Informationen: https://stackoverflow.com/a/218917/1068167

1

scheint sehr ähnlich wie diese question

„die Validierung Problem zu klären. Noscript nur im Körperelement erlaubt ist, Stil nur im Kopf erlaubt daher , Letzteres ist nicht innerhalb der ehemaligen erlaubt. "

Es könnte von Bedeutung sein, wo sich Ihr <noscript>-Tag befindet.

0

Sie könnten zum Beispiel tun es anders herum und einige CSS-Datei über Javascript deaktivieren, die ‚t doesn passieren, wenn es nicht aktiviert ist.

Verwandte Themen