node-align.html revision 9105e71ca724b8d1bbc25cea4d5f2353248f19d9
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen<meta http-equiv="content-type" content="text/html; charset=utf-8">
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen/*margin and padding on body element
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen can introduce errors in determining
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen element position and are not recommended;
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen we turn them off as a foundation for YUI
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen CSS treatments. */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen margin:0 auto;
7f7e7c16d956de8e92376a0633ca6e4cb85e8d84Aki Tuomi#test-bleed {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen text-align: center;
7f7e7c16d956de8e92376a0633ca6e4cb85e8d84Aki Tuomi margin: auto;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen<link type="text/css" rel="stylesheet" href="/build/cssfonts/fonts-min.css" />
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen<script type="text/javascript" src="/build/yui/yui-min.js"></script>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen<!--begin custom header content for this example-->
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen.yui-overlay-content {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen border:1px solid #000;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen background-color:#aaa;
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen font-size:93%;
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen.yui-overlay-content .yui-widget-hd {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen font-weight:bold;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen text-align:center;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen border:2px solid #aa0000;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen background-color:#fff;
d861bc0977b229cdaeb3fb77377e2a2bd9d40d3dTimo Sirainen.yui-overlay-content .yui-widget-bd {
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen text-align:left;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen border:2px solid #0000aa;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen background-color:#fff;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen/* Example Layout CSS */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen#overlay-align {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen border: 1px solid green;
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen.overlay-example {
d861bc0977b229cdaeb3fb77377e2a2bd9d40d3dTimo Sirainen position:relative;
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi border:1px solid #000;
cf41318871bd42358df3420e50614f5310b08c77Martti Rannanjärvi background-color:#eee;
d861bc0977b229cdaeb3fb77377e2a2bd9d40d3dTimo Sirainen.overlay-example button {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen margin-left:1px;
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi.overlay-example .filler {
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi border:1px solid #000;
a022e47f45597650f71f00c3af3fa783982a65adTimo Sirainen text-align:center;
7ee626fd396f5549fb1fc6b0c320038638af9058Martti Rannanjärvi.align-box .title {
7ee626fd396f5549fb1fc6b0c320038638af9058Martti Rannanjärvi font-weight:bold;
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi position:static;
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi background-color:#0000cc;
bb11a1957aefbd2a2edf7ae25af4032899c34c41Martti Rannanjärvi position:relative;
a022e47f45597650f71f00c3af3fa783982a65adTimo Sirainen background-color:#00cc00;
47a5a7e8296f3b8f2fac9a0659d4de3f2723ba4aMartti Rannanjärvi position:absolute;
a022e47f45597650f71f00c3af3fa783982a65adTimo Sirainen bottom:130px;
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen background-color:#cc0000;
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen display:inline;
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen background-color:#fff;
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen border:1px solid black;
0d1b8b6bec79746c5d89d57dd8c1688946bd9237Josef 'Jeff' Sipek font-size:85%;
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen margin-left:5px;
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen<!--end custom header content for this example-->
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen This example shows how you can use Overlay's extended positioning support to align or center the overlay either in the viewport or relative to another node on the page. You can specify any one of 9 points (top-left, top-right, bottom-left, bottom-right, top-center, bottom-center, left-center, right-center, center) to align on both the Overlay and the node/viewport it is being aligned to.
5de0c65da362236080fa699af3da03e45e480ab8Timo Sirainen<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen<div class="overlay-example" id="overlay-align">
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <p><button type="button" id="align">Next Alignment</button></p>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <p class="filler">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.</p>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div id="align1" class="align-box"><span class="title">id = #align1</span></div>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div id="align2" class="align-box"><span class="title">id = #align2</span></div>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div id="align3" class="align-box"><span class="title">id = #align3</span></div>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div class="yui-overlay-content yui-widget-stdmod">
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div class="yui-widget-hd">Aligned Overlay</div>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen <div class="yui-widget-bd">Click the 'Align Next' button to try a new alignment</div>
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo SirainenYUI({filter:'raw'}).use("align-plugin", function(Y) {
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen var stepNumber = Y.one("#step"),
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen ie6 = ie && ie < 7,
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen useShim = (ie6 || (ie && document.compatMode === 'backCompat')),
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen node = Y.one("#overlay-align .yui-overlay-content")
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen var steps = [
588a0579058849aed9f7b59d8259e0c58d9fd23cTimo Sirainen /* Align top-left corner of overlay, with top-right corner of #align1 */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen /* Align right-center edge of overlay with right-center edge of viewport */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen /* Align right-center edge of overlay with right-center edge of viewport
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen /* Center overlay in viewport and re-position on window resize */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen /* Align top-center edge of overlay with bottom-center edge of #align3 */
1f2f38f518ea14d1042c98ab039e6df053f7b285Timo Sirainen stepNumber.setContent("Alignment " + (step+1) + " of " + totalSteps);