mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Apply styles of html element for body element.
See test/css/css_body.html and test/css/css_html.html
This commit is contained in:
parent
ce48dc5ffd
commit
5f9b54f594
@ -42,6 +42,7 @@ struct html_context {
|
||||
* from <style>-tags and external stylesheets if enabled is merged
|
||||
* added to it. */
|
||||
struct css_stylesheet css_styles;
|
||||
struct html_element html;
|
||||
#endif
|
||||
|
||||
/* These are global per-document base values, alterable by the <base>
|
||||
@ -79,6 +80,7 @@ struct html_context {
|
||||
unsigned int has_link_lines:1;
|
||||
unsigned int was_body:1; /* For META refresh inside <body>. */
|
||||
unsigned int was_body_background:1; /* For <HTML> with style. */
|
||||
unsigned int was_html:1; /* was <HTML> */
|
||||
|
||||
/* For html/parser.c, html/renderer.c */
|
||||
int margin;
|
||||
|
@ -647,6 +647,7 @@ parse_html(unsigned char *html, unsigned char *eof,
|
||||
html_context->was_br = 0;
|
||||
html_context->was_li = 0;
|
||||
html_context->was_body = 0;
|
||||
html_context->was_html = 0;
|
||||
/* html_context->was_body_background = 0; */
|
||||
html_context->part = part;
|
||||
html_context->eoff = eof;
|
||||
@ -950,6 +951,21 @@ start_element(struct element_info *ei,
|
||||
/* Apply CSS styles. */
|
||||
#ifdef CONFIG_CSS
|
||||
if (html_top->options && html_context->options->css_enable) {
|
||||
if (ei->open == html_html) {
|
||||
html_context->html = *html_top;
|
||||
html_context->was_html = 1;
|
||||
}
|
||||
if (ei->open == html_body && html_context->was_html == 1) {
|
||||
selector = get_css_selector_for_element(html_context,
|
||||
&html_context->html,
|
||||
&html_context->css_styles,
|
||||
&html_context->stack);
|
||||
if (selector) {
|
||||
apply_css_selector_style(html_context, html_top, selector);
|
||||
done_css_selector(selector);
|
||||
}
|
||||
}
|
||||
|
||||
/* XXX: We should apply CSS otherwise as well, but that'll need
|
||||
* some deeper changes in order to have options filled etc.
|
||||
* Probably just applying CSS from more places, since we
|
||||
|
Loading…
Reference in New Issue
Block a user