mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-24 16:17:57 -05:00
409 lines
8.1 KiB
SCSS
409 lines
8.1 KiB
SCSS
//
|
|
// Navs
|
|
// --------------------------------------------------
|
|
|
|
|
|
// BASE CLASS
|
|
// ----------
|
|
|
|
.nav {
|
|
margin-left: 0;
|
|
margin-bottom: $baseLineHeight;
|
|
list-style: none;
|
|
}
|
|
|
|
// Make links block level
|
|
.nav > li > a {
|
|
display: block;
|
|
}
|
|
.nav > li > a:hover,
|
|
.nav > li > a:focus {
|
|
text-decoration: none;
|
|
background-color: $grayLighter;
|
|
}
|
|
|
|
// Prevent IE8 from misplacing imgs
|
|
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
|
|
.nav > li > a > img {
|
|
max-width: none;
|
|
}
|
|
|
|
// Redeclare pull classes because of specifity
|
|
.nav > .pull-right {
|
|
float: right;
|
|
}
|
|
|
|
// Nav headers (for dropdowns and lists)
|
|
.nav-header {
|
|
display: block;
|
|
padding: 3px 15px;
|
|
font-size: 11px;
|
|
font-weight: bold;
|
|
line-height: $baseLineHeight;
|
|
color: $grayLight;
|
|
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
|
text-transform: uppercase;
|
|
}
|
|
// Space them out when they follow another list item (link)
|
|
.nav li + .nav-header {
|
|
margin-top: 9px;
|
|
}
|
|
|
|
|
|
|
|
// NAV LIST
|
|
// --------
|
|
|
|
.nav-list {
|
|
padding-left: 15px;
|
|
padding-right: 15px;
|
|
margin-bottom: 0;
|
|
}
|
|
.nav-list > li > a,
|
|
.nav-list .nav-header {
|
|
margin-left: -15px;
|
|
margin-right: -15px;
|
|
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
|
}
|
|
.nav-list > li > a {
|
|
padding: 3px 15px;
|
|
}
|
|
.nav-list > .active > a,
|
|
.nav-list > .active > a:hover,
|
|
.nav-list > .active > a:focus {
|
|
color: $white;
|
|
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
|
|
background-color: $linkColor;
|
|
}
|
|
.nav-list [class^="icon-"],
|
|
.nav-list [class*=" icon-"] {
|
|
margin-right: 2px;
|
|
}
|
|
// Dividers (basically an hr) within the dropdown
|
|
.nav-list .divider {
|
|
@include nav-divider();
|
|
}
|
|
|
|
|
|
|
|
// TABS AND PILLS
|
|
// -------------
|
|
|
|
// Common styles
|
|
.nav-tabs,
|
|
.nav-pills {
|
|
@include clearfix();
|
|
}
|
|
.nav-tabs > li,
|
|
.nav-pills > li {
|
|
float: left;
|
|
}
|
|
.nav-tabs > li > a,
|
|
.nav-pills > li > a {
|
|
padding-right: 12px;
|
|
padding-left: 12px;
|
|
margin-right: 2px;
|
|
line-height: 14px; // keeps the overall height an even number
|
|
}
|
|
|
|
// TABS
|
|
// ----
|
|
|
|
// Give the tabs something to sit on
|
|
.nav-tabs {
|
|
border-bottom: 1px solid #ddd;
|
|
}
|
|
// Make the list-items overlay the bottom border
|
|
.nav-tabs > li {
|
|
margin-bottom: -1px;
|
|
}
|
|
// Actual tabs (as links)
|
|
.nav-tabs > li > a {
|
|
padding-top: 8px;
|
|
padding-bottom: 8px;
|
|
line-height: $baseLineHeight;
|
|
border: 1px solid transparent;
|
|
@include border-radius(4px 4px 0 0);
|
|
&:hover,
|
|
&:focus {
|
|
border-color: $grayLighter $grayLighter #ddd;
|
|
}
|
|
}
|
|
// Active state, and it's :hover/:focus to override normal :hover/:focus
|
|
.nav-tabs > .active > a,
|
|
.nav-tabs > .active > a:hover,
|
|
.nav-tabs > .active > a:focus {
|
|
color: $gray;
|
|
background-color: $bodyBackground;
|
|
border: 1px solid #ddd;
|
|
border-bottom-color: transparent;
|
|
cursor: default;
|
|
}
|
|
|
|
|
|
// PILLS
|
|
// -----
|
|
|
|
// Links rendered as pills
|
|
.nav-pills > li > a {
|
|
padding-top: 8px;
|
|
padding-bottom: 8px;
|
|
margin-top: 2px;
|
|
margin-bottom: 2px;
|
|
@include border-radius(5px);
|
|
}
|
|
|
|
// Active state
|
|
.nav-pills > .active > a,
|
|
.nav-pills > .active > a:hover,
|
|
.nav-pills > .active > a:focus {
|
|
color: $white;
|
|
background-color: $linkColor;
|
|
}
|
|
|
|
|
|
|
|
// STACKED NAV
|
|
// -----------
|
|
|
|
// Stacked tabs and pills
|
|
.nav-stacked > li {
|
|
float: none;
|
|
}
|
|
.nav-stacked > li > a {
|
|
margin-right: 0; // no need for the gap between nav items
|
|
}
|
|
|
|
// Tabs
|
|
.nav-tabs.nav-stacked {
|
|
border-bottom: 0;
|
|
}
|
|
.nav-tabs.nav-stacked > li > a {
|
|
border: 1px solid #ddd;
|
|
@include border-radius(0);
|
|
}
|
|
.nav-tabs.nav-stacked > li:first-child > a {
|
|
@include border-top-radius(4px);
|
|
}
|
|
.nav-tabs.nav-stacked > li:last-child > a {
|
|
@include border-bottom-radius(4px);
|
|
}
|
|
.nav-tabs.nav-stacked > li > a:hover,
|
|
.nav-tabs.nav-stacked > li > a:focus {
|
|
border-color: #ddd;
|
|
z-index: 2;
|
|
}
|
|
|
|
// Pills
|
|
.nav-pills.nav-stacked > li > a {
|
|
margin-bottom: 3px;
|
|
}
|
|
.nav-pills.nav-stacked > li:last-child > a {
|
|
margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
|
|
}
|
|
|
|
|
|
|
|
// DROPDOWNS
|
|
// ---------
|
|
|
|
.nav-tabs .dropdown-menu {
|
|
@include border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
|
|
}
|
|
.nav-pills .dropdown-menu {
|
|
@include border-radius(6px); // make rounded corners match the pills
|
|
}
|
|
|
|
// Default dropdown links
|
|
// -------------------------
|
|
// Make carets use linkColor to start
|
|
.nav .dropdown-toggle .caret {
|
|
border-top-color: $linkColor;
|
|
border-bottom-color: $linkColor;
|
|
margin-top: 6px;
|
|
}
|
|
.nav .dropdown-toggle:hover .caret,
|
|
.nav .dropdown-toggle:focus .caret {
|
|
border-top-color: $linkColorHover;
|
|
border-bottom-color: $linkColorHover;
|
|
}
|
|
/* move down carets for tabs */
|
|
.nav-tabs .dropdown-toggle .caret {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
// Active dropdown links
|
|
// -------------------------
|
|
.nav .active .dropdown-toggle .caret {
|
|
border-top-color: #fff;
|
|
border-bottom-color: #fff;
|
|
}
|
|
.nav-tabs .active .dropdown-toggle .caret {
|
|
border-top-color: $gray;
|
|
border-bottom-color: $gray;
|
|
}
|
|
|
|
// Active:hover/:focus dropdown links
|
|
// -------------------------
|
|
.nav > .dropdown.active > a:hover,
|
|
.nav > .dropdown.active > a:focus {
|
|
cursor: pointer;
|
|
}
|
|
|
|
// Open dropdowns
|
|
// -------------------------
|
|
.nav-tabs .open .dropdown-toggle,
|
|
.nav-pills .open .dropdown-toggle,
|
|
.nav > li.dropdown.open.active > a:hover,
|
|
.nav > li.dropdown.open.active > a:focus {
|
|
color: $white;
|
|
background-color: $grayLight;
|
|
border-color: $grayLight;
|
|
}
|
|
.nav li.dropdown.open .caret,
|
|
.nav li.dropdown.open.active .caret,
|
|
.nav li.dropdown.open a:hover .caret,
|
|
.nav li.dropdown.open a:focus .caret {
|
|
border-top-color: $white;
|
|
border-bottom-color: $white;
|
|
@include opacity(100);
|
|
}
|
|
|
|
// Dropdowns in stacked tabs
|
|
.tabs-stacked .open > a:hover,
|
|
.tabs-stacked .open > a:focus {
|
|
border-color: $grayLight;
|
|
}
|
|
|
|
|
|
|
|
// TABBABLE
|
|
// --------
|
|
|
|
|
|
// COMMON STYLES
|
|
// -------------
|
|
|
|
// Clear any floats
|
|
.tabbable {
|
|
@include clearfix();
|
|
}
|
|
.tab-content {
|
|
overflow: auto; // prevent content from running below tabs
|
|
}
|
|
|
|
// Remove border on bottom, left, right
|
|
.tabs-below > .nav-tabs,
|
|
.tabs-right > .nav-tabs,
|
|
.tabs-left > .nav-tabs {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
// Show/hide tabbable areas
|
|
.tab-content > .tab-pane,
|
|
.pill-content > .pill-pane {
|
|
display: none;
|
|
}
|
|
.tab-content > .active,
|
|
.pill-content > .active {
|
|
display: block;
|
|
}
|
|
|
|
|
|
// BOTTOM
|
|
// ------
|
|
|
|
.tabs-below > .nav-tabs {
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
.tabs-below > .nav-tabs > li {
|
|
margin-top: -1px;
|
|
margin-bottom: 0;
|
|
}
|
|
.tabs-below > .nav-tabs > li > a {
|
|
@include border-radius(0 0 4px 4px);
|
|
&:hover,
|
|
&:focus {
|
|
border-bottom-color: transparent;
|
|
border-top-color: #ddd;
|
|
}
|
|
}
|
|
.tabs-below > .nav-tabs > .active > a,
|
|
.tabs-below > .nav-tabs > .active > a:hover,
|
|
.tabs-below > .nav-tabs > .active > a:focus {
|
|
border-color: transparent #ddd #ddd #ddd;
|
|
}
|
|
|
|
// LEFT & RIGHT
|
|
// ------------
|
|
|
|
// Common styles
|
|
.tabs-left > .nav-tabs > li,
|
|
.tabs-right > .nav-tabs > li {
|
|
float: none;
|
|
}
|
|
.tabs-left > .nav-tabs > li > a,
|
|
.tabs-right > .nav-tabs > li > a {
|
|
min-width: 74px;
|
|
margin-right: 0;
|
|
margin-bottom: 3px;
|
|
}
|
|
|
|
// Tabs on the left
|
|
.tabs-left > .nav-tabs {
|
|
float: left;
|
|
margin-right: 19px;
|
|
border-right: 1px solid #ddd;
|
|
}
|
|
.tabs-left > .nav-tabs > li > a {
|
|
margin-right: -1px;
|
|
@include border-radius(4px 0 0 4px);
|
|
}
|
|
.tabs-left > .nav-tabs > li > a:hover,
|
|
.tabs-left > .nav-tabs > li > a:focus {
|
|
border-color: $grayLighter #ddd $grayLighter $grayLighter;
|
|
}
|
|
.tabs-left > .nav-tabs .active > a,
|
|
.tabs-left > .nav-tabs .active > a:hover,
|
|
.tabs-left > .nav-tabs .active > a:focus {
|
|
border-color: #ddd transparent #ddd #ddd;
|
|
*border-right-color: $white;
|
|
}
|
|
|
|
// Tabs on the right
|
|
.tabs-right > .nav-tabs {
|
|
float: right;
|
|
margin-left: 19px;
|
|
border-left: 1px solid #ddd;
|
|
}
|
|
.tabs-right > .nav-tabs > li > a {
|
|
margin-left: -1px;
|
|
@include border-radius(0 4px 4px 0);
|
|
}
|
|
.tabs-right > .nav-tabs > li > a:hover,
|
|
.tabs-right > .nav-tabs > li > a:focus {
|
|
border-color: $grayLighter $grayLighter $grayLighter #ddd;
|
|
}
|
|
.tabs-right > .nav-tabs .active > a,
|
|
.tabs-right > .nav-tabs .active > a:hover,
|
|
.tabs-right > .nav-tabs .active > a:focus {
|
|
border-color: #ddd #ddd #ddd transparent;
|
|
*border-left-color: $white;
|
|
}
|
|
|
|
|
|
|
|
// DISABLED STATES
|
|
// ---------------
|
|
|
|
// Gray out text
|
|
.nav > .disabled > a {
|
|
color: $grayLight;
|
|
}
|
|
// Nuke hover/focus effects
|
|
.nav > .disabled > a:hover,
|
|
.nav > .disabled > a:focus {
|
|
text-decoration: none;
|
|
background-color: transparent;
|
|
cursor: default;
|
|
}
|