<p>I don't understand it. </p>

<p>The ids of html elements in the master page are changed by the same id but with a prefix and it's breaking the css design.</p>

<p>In the master page I have:</p>

<pre><code>&lt;div id="container" runat="server"&gt;

    &lt;asp:ContentPlaceHolder ...

...
</code></pre>

<p>The above code is rendered</p>

<pre><code>&lt;div id="ctl00_ctloo_container"&gt;

     ...
</code></pre>

<p>And the CSS styles are gone obviously.</p>

<p>How do I stop it?</p>

<p>Thanks!</p>

AFAIK you cannot do this. This is the default behaviour because of the control tree.
If you would like to use CSS then set the CSS class directly, don't depend on IDs, like
```
```
<asp:Whatever runat="server" id="whatever" CssClass="whateverClass">
```
```
Update:
Here
is a similair thread, but it won't help on your CSS problem.