Firstly, what you have there is an absolute-positioned (or AP) div. While absolute positioning may be useful within the context of another <div> tag where the positioning is defined by the parent, I have found AP <div> tags to be a good way to get very lost, very quickly. Don't do that.
If you look at an AP div in a browser and then expand the browser window, it will retain its absolute positioning, based on coordinates that start at 0,0 on the upper left-hand corner of the browser window.
Use the box model with margin, padding and border to set up your divs. A really handy resource is this web page, which you should refer back to as you begin building pages.
To position a <div> tag centered within another <div> tag, I usually do the math. If the container for the <div> to be centered is 800 pixels (px) wide and the <div> I want centered in it is 400 pixels wide, I will do this in CSS (and in a separate stylesheet):
Then in HTML (assuming you have proper head tags, doctype declarations and a link to your stylesheet:
<div id="container">stuff that is in the 800px wide div goes here.
<div id="centeredDiv>stuff for the centered div goes here.</div>
more stuff within that 800px wide div can go here.
Now, what I did not do is define heights, backgrounds or any other objects for these <div> tags in CSS. But you will find that this method always works.
There is a way to "cheat" and cause elements to always be centered, but it can cause lots of problems. When you define your <body> in CSS, you can do the following:
What will happen is all <div> tags in the body of your document will be centered. Also, all text within them will be centered as well. So you will have to adjust everything you don't want centered. To my way of thinking, that's a bit of a pain, but this method will work.