<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-024 in 'writing-mode: vertical-rl'</title> <!-- position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: rtl' in initial containing block --> <style type="text/css"> html { direction: rtl; } div { background-color: green; border-left: green none 0px; border-right: green none 0px; height: 100px; left: 60%; position: absolute; right: 20%; top: 0px; width: auto; writing-mode: vertical-rl; } /* " 5. [If] 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width' " 10.3.7 Absolutely positioned, non-replaced elements http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width So: 60% : left + 0px : margin-left + 0px : border-left-width + 0px : padding-left + auto : width + 0px : padding-right + 0px : border-right-width + 0px : margin-right + 20% : right ==================== 500px : width of containing block (width of Initial Containing Block) becomes 300px : left (60% of 500px) + 0px : margin-left + 0px : border-left-width + 0px : padding-left + solve : width + 0px : padding-right + 0px : border-right-width + 0px : margin-right + 100px : right (20% of 500px == 100px) ==================== 500px : width of containing block (width of Initial Containing Block) so used width value must be 100px . */ </style> </head> <body> <div></div> </body> </html>