Because a div container is part of your current werbsite and it accepts css styles and other stuff from the main website. Your HTML code is even invalid when you start a new html tag within a div container.
Use an iframe tag instead it is especially made to create "a website in a website":
<iframe src="http//path/to/my/site" height="1000" width="500"></iframe>
With this not even the w3c validator would have a problem with that and your css and scripts will not be overwritten by any other scripts included or executed before.
EDIT:
If you need to load content dynamically as you told me use JQuery to alter the iframe's src:
If iframe is not initialized at the beginning, just make it hidden:
<iframe id="content_iframe" src="" height="1000" width="500" style="display: none";></iframe>
Then later load your content however with jQuery, the url via ajax or any other way:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: "path/to/my/url-to-get-my-url-or-content.php",
type: "post",
data: any: var },
success: function(text) {
//Lets assume I got the target url for the iframe, then just alter its src tag and make it visible:
$("#content_iframe").attr("src", text);
//And make it visible with a cool effect :P
$("#content_iframe").show("slow");
//Incase you do not have the URL but the raw content, just use function html instead and make it visible same way:
$("#content_iframe").html(text);
$("#content_iframe").show("slow");
},
error: function() {
alert("Something went wrong, oops!");
}
});
});
</script>
And your done!