Most basic HTML website - naming and CSS rules I'm trying to accomplish something very simple as seen here.

HTML



&lt;div id="header"&gt;
    &lt;div class="container"&gt;
        &lt;img src="#"&gt;
        &lt;ul id="header_nav"&gt;
            &lt;li&gt;Link&lt;/li&gt;
            &lt;li&gt;Link&lt;/li&gt;
            &lt;li&gt;Link&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/div&gt;
&lt;/div&gt;


CSS



.container {
    padding-left: 80px;
    padding-right: 80px;
}
#header {
    height: 50px;
    line-height: 50px;
    background-color: blue;
}
#header_nav {
    float:right;
}
#header_nav li {
    display: inline-block;
}


Questions:


Am I using the IDs and classes correctly?  For example, should header be an ID or class?
Is my naming convention ok?
Should I be using nested rules instead? E.g #header ul li { ...  }
Is this the best way to achieve this layout?


Any advice at this stage would be good, so I can take these practices forward when doing the next steps of the structure.
You should be using HTML 5 elements such as header and nav making some/all classes and IDs unnecessary:

&lt;header&gt;
    &lt;nav&gt;
        &lt;img src="#"&gt;
        &lt;ul&gt;
            &lt;li&gt;Link&lt;/li&gt;
            &lt;li&gt;Link&lt;/li&gt;
            &lt;li&gt;Link&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/nav&gt;
&lt;/header&gt;