position: absolute, top and left

This commit is contained in:
Christopher Chedeau
2014-04-21 18:34:28 -07:00
parent 39cc1e9b01
commit 756babcdb7
2 changed files with 24 additions and 3 deletions

View File

@@ -102,6 +102,10 @@ var computeLayout = (function() {
return !isUndefined(node.style[dim[axis]]);
}
function isPosDefined(node, pos) {
return !isUndefined(node.style[pos]);
}
function getPosition(node, pos) {
if (pos in node.style) {
@@ -226,7 +230,11 @@ var computeLayout = (function() {
var/*float*/ mainPos = getPadding(node, leading[mainAxis]) + leadingMainDim;
for (var/*int*/ i = 0; i < node.children.length; ++i) {
var/*css_node_t**/ child = node.children[i];
child.layout[pos[mainAxis]] += mainPos;
if (getPositionType(child) === 'absolute' && isPosDefined(child, leading[mainAxis])) {
child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]);
} else {
child.layout[pos[mainAxis]] += mainPos;
}
if (getPositionType(child) === 'relative') {
mainPos += getDimWithMargin(child, mainAxis) + betweenMainDim;