In terms of usability and SEO, you should not hide the elements that are critical to the web page, that is, the main navigation.
If your requirement is to hide it first and show it based on some user action, I would use jQuery to hide it.
EDIT: I understand your problem that the navigation may be visible for a short second before jQuery βstartsβ, however this can be solved using the built-in javascript instead of the regular $ (document) .load () event.
<ul id="menu"></ul> <script type="text/javascript"> document.getElementById('menu').style.display = 'none'; </script>
Hope this helps,
Marko
source share