993414fa85
Replace Drupal Commons by Openstack theme. Change-Id: Ifc18969c3e089aa1ff11a3d98daac1442b444bef
211 lines
5.1 KiB
SCSS
211 lines
5.1 KiB
SCSS
/**
|
|
* @file
|
|
* Positioning for a responsive layout.
|
|
*
|
|
* Define CSS classes to create a fluid grid layout with optional sidebars
|
|
* depending on whether blocks are placed in the left or right sidebars.
|
|
*
|
|
* This layout uses the Zen Grids plugin for Compass: http://zengrids.com
|
|
*/
|
|
|
|
// We are going to create a fluid grid with 1, 3, or 5 columns and 20px gutters
|
|
// between columns (applied as 10px of left/right padding on each column).
|
|
$zen-column-count: 1;
|
|
$zen-gutter-width: 20px;
|
|
|
|
// If you need IE6/7 support for box-sizing: border-box (default), see _base.scss
|
|
//$zen-box-sizing: content-box;
|
|
|
|
// You can generate more efficient CSS if you manually apply the
|
|
// zen-grid-item-base mixin to all grid items from within a single ruleset.
|
|
$zen-auto-include-item-base: false;
|
|
// $zen-auto-include-flow-item-base: false;
|
|
|
|
// Suppress this section of CSS for RTL layouts since it contains no LTR-specific styles.
|
|
@if $zen-reverse-all-floats == false {
|
|
|
|
/**
|
|
* Center the page.
|
|
*
|
|
* For screen sizes larger than 1200px, prevent excessively long lines of text
|
|
* by setting a max-width.
|
|
*/
|
|
#page,
|
|
.region-bottom {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
max-width: 1200px;
|
|
}
|
|
|
|
/* Apply the shared properties of grid items in a single, efficient ruleset. */
|
|
#header,
|
|
#content,
|
|
#navigation,
|
|
.region-sidebar-first,
|
|
.region-sidebar-second,
|
|
#footer {
|
|
// See the note about $zen-auto-include-item-base above.
|
|
@include zen-grid-item-base();
|
|
}
|
|
|
|
/* Containers for grid items and flow items. */
|
|
#header,
|
|
#main,
|
|
#footer {
|
|
@include zen-grid-container();
|
|
}
|
|
|
|
/* Navigation bar */
|
|
@media all and (min-width: 480px) {
|
|
#main {
|
|
/* Move all the children of #main down to make room. */
|
|
padding-top: $nav-height;
|
|
position: relative;
|
|
}
|
|
#navigation {
|
|
/* Move the navbar up inside #main's padding. */
|
|
position: absolute;
|
|
top: 0;
|
|
height: $nav-height;
|
|
width: $zen-grid-width;
|
|
}
|
|
}
|
|
|
|
} // End of @if $zen-reverse-all-floats == true
|
|
|
|
/**
|
|
* Use 3 grid columns for smaller screens.
|
|
*/
|
|
@media all and (min-width: 480px) and (max-width: 959px) {
|
|
|
|
$zen-column-count: 3;
|
|
|
|
/**
|
|
* The layout when there is only one sidebar, the left one.
|
|
*/
|
|
.sidebar-first {
|
|
/* Span 2 columns, starting in 2nd column from left. */
|
|
#content {
|
|
@include zen-grid-item(2, 2);
|
|
}
|
|
|
|
/* Span 1 column, starting in 1st column from left. */
|
|
.region-sidebar-first {
|
|
@include zen-grid-item(1, 1);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* The layout when there is only one sidebar, the right one.
|
|
*/
|
|
.sidebar-second {
|
|
/* Span 2 columns, starting in 1st column from left. */
|
|
#content {
|
|
@include zen-grid-item(2, 1);
|
|
}
|
|
|
|
/* Span 1 column, starting in 3rd column from left. */
|
|
.region-sidebar-second {
|
|
@include zen-grid-item(1, 3);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* The layout when there are two sidebars.
|
|
*/
|
|
.two-sidebars {
|
|
/* Span 2 columns, starting in 2nd column from left. */
|
|
#content {
|
|
@include zen-grid-item(2, 2);
|
|
}
|
|
|
|
/* Span 1 column, starting in 1st column from left. */
|
|
.region-sidebar-first {
|
|
@include zen-grid-item(1, 1);
|
|
}
|
|
|
|
/* Start a new row and span all 3 columns. */
|
|
.region-sidebar-second {
|
|
@include zen-grid-item(3, 1);
|
|
@include zen-nested-container(); // Since we're making every block in this region be a grid item.
|
|
@include zen-clear();
|
|
|
|
/* Apply the shared properties of grid items in a single, efficient ruleset. */
|
|
.block {
|
|
@include zen-grid-item-base();
|
|
}
|
|
/* Span 1 column, starting in the 1st column from left. */
|
|
.block:nth-child(3n+1) {
|
|
@include zen-grid-item(1, 1);
|
|
@include zen-clear();
|
|
}
|
|
/* Span 1 column, starting in the 2nd column from left. */
|
|
.block:nth-child(3n+2) {
|
|
@include zen-grid-item(1, 2);
|
|
}
|
|
/* Span 1 column, starting in the 3rd column from left. */
|
|
.block:nth-child(3n) {
|
|
@include zen-grid-item(1, 3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Use 5 grid columns for larger screens.
|
|
*/
|
|
@media all and (min-width: 960px) {
|
|
|
|
$zen-column-count: 5;
|
|
|
|
/**
|
|
* The layout when there is only one sidebar, the left one.
|
|
*/
|
|
.sidebar-first {
|
|
/* Span 4 columns, starting in 2nd column from left. */
|
|
#content {
|
|
@include zen-grid-item(4, 2);
|
|
}
|
|
|
|
/* Span 1 column, starting in 1st column from left. */
|
|
.region-sidebar-first {
|
|
@include zen-grid-item(1, 1);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* The layout when there is only one sidebar, the right one.
|
|
*/
|
|
.sidebar-second {
|
|
/* Span 4 columns, starting in 1st column from left. */
|
|
#content {
|
|
@include zen-grid-item(4, 1);
|
|
}
|
|
|
|
/* Span 1 column, starting in 5th column from left. */
|
|
.region-sidebar-second {
|
|
@include zen-grid-item(1, 5);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* The layout when there are two sidebars.
|
|
*/
|
|
.two-sidebars {
|
|
/* Span 3 columns, starting in 2nd column from left. */
|
|
#content {
|
|
@include zen-grid-item(3, 2);
|
|
}
|
|
|
|
/* Span 1 column, starting in 1st column from left. */
|
|
.region-sidebar-first {
|
|
@include zen-grid-item(1, 1);
|
|
}
|
|
|
|
/* Span 1 column, starting in 5th column from left. */
|
|
.region-sidebar-second {
|
|
@include zen-grid-item(1, 5);
|
|
}
|
|
}
|
|
}
|