| <!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-022 in 'writing-mode: vertical-rl'</title> |
| |
| <!-- |
| position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: ltr' in initial containing block |
| --> |
| |
| <style type="text/css"> |
| html |
| { |
| direction: ltr; |
| } |
| |
| 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> |