Question: > 
> **Possible Duplicate:**  
> 
> [Embedding extra styles with noscript](https://stackoverflow.com/questions/218162/embedding-extra-styles-with-noscript)  
> 
> [Define css if javascript is not enabled](https://stackoverflow.com/questions/4665748/define-css-if-javascript-is-not-enabled) 
> 
> 
> 

I am trying to define specific CSS styles only if Javascript is turned off. I am using:

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

```

When trying to validate the page source, I get the error "Element style not allowed as child of element noscript in this context".

So, how would I go about doing this while keeping my markup valid?

Answer: 
`<noscript>` tags are "body" tags and `<style>` tags are "head" tags. Therefor you get an error.

You should make non-javascript style default and then use js to change your style. See here for more details:
<https://stackoverflow.com/a/218917/1068167>
Try something like this:

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

```

This removes a class while loading the page. If javascript is not activated the class won't be removed.