I do not believe that this is possible strictly through HTML. However, you can use server side scripts such as PHP to do this. What you are talking about is a template and is used quite often. You want your menu items (and CSS) and your header / footer code on separate pages. Thus, if you make changes to the menu or to the header / footer, it will be displayed on all pages (written using PHP) that you created using the template method.
You will need menu.html, header.html and footer.html in a place accessible to your main page code. That is, you must use the template method to record the contents of your pages.
An example psuedo code in PHP would be:
<?php include('header.html'); include('menu.html'); echo "Your main content items here"; include('footer.html'); ?>
Penguincoder
source share