absolute, top and marginTop

This commit is contained in:
Christopher Chedeau
2014-04-21 18:45:01 -07:00
parent b11c04ed0f
commit 6da9e221d6
2 changed files with 13 additions and 1 deletions

View File

@@ -231,7 +231,8 @@ var computeLayout = (function() {
for (var/*int*/ i = 0; i < node.children.length; ++i) { for (var/*int*/ i = 0; i < node.children.length; ++i) {
var/*css_node_t**/ child = node.children[i]; var/*css_node_t**/ child = node.children[i];
if (getPositionType(child) === 'absolute' && isPosDefined(child, leading[mainAxis])) { if (getPositionType(child) === 'absolute' && isPosDefined(child, leading[mainAxis])) {
child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]); child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]) +
getMargin(child, leading[mainAxis]);
} else { } else {
child.layout[pos[mainAxis]] += mainPos; child.layout[pos[mainAxis]] += mainPos;
} }

View File

@@ -570,6 +570,17 @@ describe('Layout', function() {
); );
}); });
it('should layout node with position: absolute, top and marginTop', function() {
testLayout(
{style: {}, children: [
{style: {top: 5, marginTop: 5, position: 'absolute'}}
]},
{width: 0, height: 0, top: 0, left: 0, children: [
{width: 0, height: 0, top: 10, left: 0}
]}
);
});
it('should layout randomly', function() { it('should layout randomly', function() {
function RNG(seed) { function RNG(seed) {
this.state = seed; this.state = seed;