Hi, here comes my proposal to get css support started. Note that I'm new to this stuff so I will probabely simplify things a lot and miss many issues that will have to be addressed later on. * Separate out the style handling from html.cc in a new class StyleEngine (better name welcome). This class will be fed the html tree via a SAX like interface as the document is parsed and will hand out the current Style object. * Initially StyleEngine will be implemented to just mimic the current behaviour of html.cc. So after this step everything should work as currently. * Then we can design the data structures to hold parsed css data and make StyleEngine use these structures which will be statically filled initially. Again dillo should work as it does now. * Next we can implement a css parser that is able to fill the data structures from the last step. Now we should already be able to set a fixed user style sheet. * Hooking up the css parser to automatically load css information as referenced in html pages would be next. * In parallel to all this we would need to make floating objects work in dw/textblock.cc. This approach has some issues. In contrast to http://www.dillo.org/CSS.html it would only be possible to apply style information that is available when starting parsing of a document. However we could start rendering with what style information is available and reload once all css files have been loaded. Currently dillo parses attributes on demand. So we don't have a complete list of attributes and their values. As StyleEngine might access any attribute, we might need to change this. Comments or more advanced plans would be more than welcome! Cheers, Johannes