summaryrefslogtreecommitdiff
path: root/css/ruleset.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2008-10-12 21:22:28 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2008-10-12 21:22:28 +0000
commitb7a1b3999e2b9790bbd070b8e0cdef3abdc6f096 (patch)
treedf39e841ab8524c2ccc8e4d69ca4088e0e4e05b4 /css/ruleset.c
parentc1db0e90cca4a4b7fd7fc9ccbaf679554875bee1 (diff)
downloadnetsurf-b7a1b3999e2b9790bbd070b8e0cdef3abdc6f096.tar.gz
netsurf-b7a1b3999e2b9790bbd070b8e0cdef3abdc6f096.tar.bz2
Implement percentage heights for block level elements in normal flow, floats and positioned boxes. Percentage min/max-height not yet handled.
svn path=/trunk/netsurf/; revision=5550
Diffstat (limited to 'css/ruleset.c')
-rw-r--r--css/ruleset.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/css/ruleset.c b/css/ruleset.c
index 4529fba8d..d04f62359 100644
--- a/css/ruleset.c
+++ b/css/ruleset.c
@@ -2228,8 +2228,11 @@ void parse_height(struct css_style * const s, const struct css_node * const v)
if (v->type == CSS_NODE_IDENT && v->data_length == 4 &&
strncasecmp(v->data, "auto", 4) == 0)
s->height.height = CSS_HEIGHT_AUTO;
- else if ((v->type == CSS_NODE_DIMENSION || v->type == CSS_NODE_NUMBER) &&
- parse_length(&s->height.length, v, true) == 0)
+ else if (v->type == CSS_NODE_PERCENTAGE) {
+ s->height.height = CSS_HEIGHT_PERCENT;
+ s->height.value.percent = atof(v->data);
+ } else if ((v->type == CSS_NODE_DIMENSION || v->type == CSS_NODE_NUMBER) &&
+ parse_length(&s->height.value.length, v, true) == 0)
s->height.height = CSS_HEIGHT_LENGTH;
}