Page
Design
Page is the surface that defines the interactive space and contains the global elements that are: the layout, the header, the footer, and the content.
Code
API: stable
Page layout
The overall page layout is set by the base class ace-page
on the BODY, plus optional modifiers (fluid is the default if no modifier is set):
<body class="ace-page ace-page-fluid">
</body>
<body class="ace-page ace-page-fixed">
</body>
<body class="ace-page ace-page-hybrid">
</body>
<body class="ace-page ace-page-popup">
</body>
To ensure Page works on mobiles, include the viewport meta tag in the HEAD:
<meta name="viewport" content="width=device-width, initial-scale=1" />
The pattern continues with a page wrapper, header, content and footer element. The #hidden div provides a location for content which should never be visible, for example script elements.
<body class="ace-page">
<div id="page">
<header id="header" role="banner">
<!-- Header goes here-->
</header>
<main id="content" role="main">
<!-- Content goes here-->
</main>
<footer id="footer" role="contentinfo">
<!-- Footer goes here-->
</footer>
</div>
<div id="hidden">
<!-- Hidden content like scripts goes here-->
</div>
</body>
Header
Refer to the Header documentation for full details.
Content
Content has the optional pattern to set up content with a sidebar:
<div class="ace-group ace-page-content">
<div class="ace-item ace-page-content-sidebar">
<p>Sidebar</p>
</div>
<div class="ace-item ace-page-content-content">
<h1>Content</h1>
<p>Your masterpiece begins here.</p>
</div>
</div>
footer
To set up a simple footer with right-aligned content:
<div class="ace-footer">
<div class="ace-footer-content">
<p>ACE © ansarada</p>
</div>
</div>
Putting it together
<div id="page">
<header id="header" role="banner">
<div class="ace-header ace-group ace-group-split">
<div class="ace-item ace-header-logo"><img src="filename.ext" alt="Descriptive text" />
</div>
<div class="ace-item ace-header-main">
<h1>ACE</h1>
</div>
<div class="ace-item ace-header-controls">
<ul>
<li>Control</li>
<li>Control</li>
</ul>
</div>
</div>
</header>
<main id="content" role="main">
<div class="ace-group ace-page-content">
<div class="ace-item ace-page-content-sidebar">
<p>Sidebar</p>
</div>
<div class="ace-item ace-page-content-content">
<h1>Content</h1>
<p>Your masterpiece begins here.</p>
</div>
</div>
</main>
<footer id="footer" role="contentinfo">
<div class="ace-footer">
<div class="ace-footer-content">
<p>ACE © ansarada</p>
</div>
</div>
</footer>
</div>
<div id="hidden">
</div>
Popup pattern
<body class="ace-page ace-page-popup">
<div id="page">
<header id="header" role="banner">
<h1>Header Text</h1>
</header>
<main id="content" role="main">
<div class="ace-group ace-page-content">
<div class="ace-item ace-page-content-content">
<p>Content</p>
</div>
</div>
</main>
<footer id="footer" role="contentinfo">
<button class="ace-button" id="printButton" type="button"><span>Print</span></button>
<button class="ace-button ace-button-icon ace-button-icon" type="button"><span><span class="ace-icon ace-icon-control-close">close</span></span></button>
</footer>
</div>
<div id="hidden">
</div>
</body>
Popup with form pattern
<body class="ace-page ace-page-popup">
<div id="page">
<header id="header" role="banner">
<h1>Header Text</h1>
</header>
<form method="POST" action="http://example.com">
<main id="content" role="main">
<div class="ace-group ace-page-content">
<div class="ace-item ace-page-content-content">
<div class="ace-form ace-form-sidelabel">
<!-- Form content goes here-->
</div>
</div>
</div>
</main>
<footer id="footer" role="contentinfo">
<button class="ace-button" type="submit"><span>Submit</span></button>
<button class="ace-button ace-button-icon ace-button-icon" type="button"><span><span class="ace-icon ace-icon-control-close">close</span></span></button>
</footer>
</form>
</div>
<div id="hidden">
</div>
</body>