groups/themes/openstack/sass/layouts/_responsive.scss
Marton Kiss 993414fa85 Openstack theme
Replace Drupal Commons by Openstack theme.

Change-Id: Ifc18969c3e089aa1ff11a3d98daac1442b444bef
2013-10-24 16:34:47 +02:00

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);
}
}
}