Description: In Konqueror 4.1.3, the baseline of an 'inline-table' is NOT the baseline of the first row of the table. According to CSS 2.1, the baseline of an 'inline-table' should be the baseline of the first row of the table. Self-explanatory testcase: http://www.gtalbot.org/BrowserBugsSection/Safari3Bugs/baseline-inline-table-vertical-align.html Expected results: __Baseline_of_first_row_of_table__ should be vertically aligned with ___text baseline___ on both sides. The underscore characters of the anonymous text nodes should adjoin, should meet, should vertically line up with the underscore characters of the cell of first row of inline-table. Actual results in Konqueror 4.1.3 and in Safari 3.2 build 525.26.13: The margin bottom edge of the inline-table is aligned with ___text baseline___ on both sides. The underscore characters of the anonymous text nodes do not adjoin, do not meet, do not vertically line up with the underscore characters of the cell of first row of inline-table. References: "(...) The baseline of an 'inline-table' is the baseline of the first row of the table." coming from CSS 2.1, section 10.8.1 Leading and half-leading, vertical-align http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align "The 'vertical-align' property of each table cell determines its alignment within the row. (...) The baseline of the cell is put at the same height as the baseline of the first of the rows it spans (...)" coming from CSS 2.1, section 17.5.3 Table height algorithms http://www.w3.org/TR/CSS21/tables.html#height-layout Notes: - Internet Explorer 8 pre-RC1 Partner Build 18344, Firefox 3.0.5, Opera 9.63, Opera 10.0 alpha build 1229 all pass the provided testcase. - More advanced or complex tests can be found at Vertical alignment of inline table testpage http://geocities.com/csssite/operabugs/bug34.xml from George Chavchanidze - I searched for a DUPLICATE and did not find any. Regards, Gérard
This bug has also been filed at WebKit Bugzilla: https://bugs.webkit.org/show_bug.cgi?id=23544
still exits in 4.2.90/2
Weird --- the code disables it supposedly for compatibility with Gecko, which doesn't do this. --- rendering/render_table.cpp (revision 1110535) +++ rendering/render_table.cpp (working copy) @@ -127,7 +127,7 @@ // CSS2.1 - 10.8.1 The baseline of an 'inline-table' is the baseline of the first row of the table. if (isReplaced() && !needsLayout()) { // compatibility with Gecko: only apply to generic containers, not to HTML Table. if (element() && element()->id() == ID_TABLE) Disabling this special-casing fixes the testcase, but I am not sure of all the implications. (I am also feeling like this came up before)
Additional testcases from CSS 2.1 test suite (RC6): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-002a.htm http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-002b.htm Expected result (reftest): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-002-ref.htm Konqueror 4.6.1 fails inline-table-002b but passes inline-table-002a -------------------- Additional testcase from CSS 2.1 test suite (RC6): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-003.htm Expected result (reftest): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-003-ref.htm Konqueror 4.6.1 passes inline-table-003 -------------------- Additional testcase from CSS 2.1 test suite (RC6): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-valign-001.htm Expected result (reftest): http://test.csswg.org/suites/css2.1/20110323/html4/inline-table-valign-001-ref.htm Konqueror 4.6.1 fails inline-table-valign-001 regards, Gérard
Dear user, KHTML (and KJS) was a long time more or less unmaintained and got removed in KF6. Please migrate to use a QWebEngine based HTML component. We will do no further fixes or improvements to the KF5 branches of these components beside important security fixes. For security issues, please see: https://kde.org/info/security/ Sorry that we did not fix this issue during the life-time of KHTML. Greetings Christoph Cullmann