mirror of
https://github.com/servo/servo
synced 2026-04-28 18:37:39 +02:00
160 lines
4.4 KiB
HTML
160 lines
4.4 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
|
|
<title>CSS Test: box offsets - relatively positioned boxes</title>
|
|
|
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
|
|
<link rel="help" title="9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'" href="http://www.w3.org/TR/CSS21/visuren.html#position-props" />
|
|
<meta content="image" name="flags" />
|
|
<meta content="Box offsets (bottom, left, right, top) expressed in absolute units (not with percentage unit) for relatively positioned boxes are with respect to the edges of the boxes themselves." name="assert" />
|
|
|
|
<style type="text/css"><![CDATA[
|
|
body {margin: 8px;}
|
|
|
|
div#statically-positioned-box
|
|
{
|
|
background-color: yellow; /* padding box will be yellow */
|
|
border: orange solid 50px; /* border box will be orange */
|
|
height: 100px; /* a bright green square 100px by 100px image will serve as content box */
|
|
margin-left: 100px;
|
|
padding: 50px;
|
|
position: static;
|
|
width: 100px;
|
|
}
|
|
|
|
div.blue-relatively-positioned
|
|
{
|
|
background-color: blue;
|
|
color: white;
|
|
height: 25px;
|
|
position: relative;
|
|
width: 25px;
|
|
}
|
|
|
|
div#top-left
|
|
{
|
|
left: 150px;
|
|
/*
|
|
Calculation of left offset:
|
|
|
|
100px (div#statically-positioned-box's margin-left)
|
|
+ 50px (div#statically-positioned-box's border-left)
|
|
==================
|
|
150px
|
|
*/
|
|
|
|
top: -250px;
|
|
/*
|
|
Calculation of top offset:
|
|
- 50px (div#statically-positioned-box's border-bottom)
|
|
- 50px (div#statically-positioned-box's padding-bottom)
|
|
- 100px (div#statically-positioned-box's content height)
|
|
- 50px (div#statically-positioned-box's padding-top)
|
|
==================
|
|
-250px
|
|
*/
|
|
}
|
|
|
|
div#top-right
|
|
{
|
|
right: -325px;
|
|
/*
|
|
Calculation of right offset:
|
|
|
|
- 100px (div#statically-positioned-box's margin-left)
|
|
- 50px (div#statically-positioned-box's border-left)
|
|
- 50px (div#statically-positioned-box's padding-left)
|
|
- 100px (div#statically-positioned-box's content height)
|
|
- 50px (div#statically-positioned-box's padding-right)
|
|
+ 25px (div#top-right's content width)
|
|
==================
|
|
-325px
|
|
*/
|
|
|
|
top: -275px;
|
|
/*
|
|
Calculation of top offset:
|
|
- 25px (div#top-left's content height)
|
|
- 50px (div#statically-positioned-box's border-bottom)
|
|
- 50px (div#statically-positioned-box's padding-bottom)
|
|
- 100px (div#statically-positioned-box's content height)
|
|
- 50px (div#statically-positioned-box's padding-top)
|
|
==================
|
|
-275px
|
|
*/
|
|
}
|
|
|
|
div#bottom-left
|
|
{
|
|
bottom: 125px;
|
|
/*
|
|
Calculation of bottom offset:
|
|
25px (div#top-left's content height)
|
|
+ 25px (div#top-right's content height)
|
|
+ 50px (div#statically-positioned-box's border-bottom)
|
|
+ 25px (div#bottom-left's content height)
|
|
==================
|
|
125px
|
|
*/
|
|
|
|
left: 150px;
|
|
/*
|
|
Calculation of left offset:
|
|
|
|
100px (div#statically-positioned-box's margin-left)
|
|
+ 50px (div#statically-positioned-box's border-left)
|
|
==================
|
|
150px
|
|
*/
|
|
}
|
|
|
|
div#bottom-right
|
|
{
|
|
bottom: 150px;
|
|
/*
|
|
Calculation of bottom offset:
|
|
25px (div#top-left's content height)
|
|
+ 25px (div#top-right's content height)
|
|
+ 25px (div#bottom-left's content height)
|
|
+ 50px (div#statically-positioned-box's border-bottom)
|
|
+ 25px (div#bottom-right's content height)
|
|
==================
|
|
150px
|
|
*/
|
|
|
|
right: -325px;
|
|
/*
|
|
Calculation of right offset:
|
|
|
|
- 100px (div#statically-positioned-box's margin-left)
|
|
- 50px (div#statically-positioned-box's border-left)
|
|
- 50px (div#statically-positioned-box's padding-left)
|
|
- 100px (div#statically-positioned-box's content height)
|
|
- 50px (div#statically-positioned-box's padding-right)
|
|
+ 25px (div#bottom-right's content width)
|
|
==================
|
|
-325px
|
|
*/
|
|
}
|
|
]]></style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<p>Test passes if there is a blue square at each corner of the yellow square.</p>
|
|
|
|
<div id="statically-positioned-box"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></div>
|
|
|
|
<div class="blue-relatively-positioned" id="top-left">TL</div>
|
|
|
|
<div class="blue-relatively-positioned" id="top-right">TR</div>
|
|
|
|
<div class="blue-relatively-positioned" id="bottom-left">BL</div>
|
|
|
|
<div class="blue-relatively-positioned" id="bottom-right">BR</div>
|
|
|
|
</body>
|
|
</html> |