I am currently trying to specifically position multiple divs, inside of another div, which is itself centered in another div.
To get a visual perspective of what I'm trying to do:

I have a parent div with a specific height and width. Inside of that div element should be another div (white border), which is centered. Again, inside of that div should be a number of specifically positioned (green) divs. The green divs should be created and appended by a javascript function.
I now want the centered divs' height and width dynamically change, when I put my green divs inside.
My current code is:
HTML:
<div id="grandparent">
<div id="parent">
<!-- <div class="child"></div> -->
<!-- <div class="child"></div> -->
<!-- <div class="child"></div> -->
<!-- <div class="child"></div> --> (commented because they're not yet in there)
</div>
</div>
CSS:
#grandparent{
height: 130px;
width: 145px;
background-color: #000000;
border: 3px solid #00ffff;
display: table;
}
#parent{
display: table-cell;
vertical-align: middle;
}
.child{
height: 23px;
width: 23px;
float: left;
}
javascript:
for(var i = 0; i < number; i++){
var top = ...
var left = ...
var child = $("<div class='child'></div>");
child.css("top", top);
child.css("left", left);
$("#parent").append(child)
}
So far my content was based on this guide: http://www.vanseodesign.com/css/vertical-centering/
How can a div's size change according to its content? Will a div then stay centered, if you change this content?