Commit 30fe3d97 authored by Mark Otto's avatar Mark Otto

Merge pull request #8 from twbs/scss-lint

Add SCSS-Lint to Grunt
parents f7e103a6 2edc7793
......@@ -38,6 +38,9 @@ Thumbs.db
validation-report.json
validation-status.json
# SCSS-Lint
scss-lint-report.xml
# Folders to ignore
bower_components
node_modules
......@@ -7,7 +7,7 @@ before_install:
- travis_retry sudo pip install -r test-infra/requirements.txt
- rvm use 1.9.3 --fuzzy
- export GEMDIR=$(rvm gemdir)
- if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION rouge=$ROUGE_VERSION" > pseudo_Gemfile.lock; fi
- if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION rouge=$ROUGE_VERSION scss-lint=$SCSS_LINT_VERSION" > pseudo_Gemfile.lock; fi
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
......@@ -23,6 +23,7 @@ env:
global:
- JEKYLL_VERSION="2.5.1"
- ROUGE_VERSION="1.7.2"
- SCSS_LINT_VERSION="0.30.0"
- SAUCE_USERNAME="bootstrap"
- secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
- secure: "gqjqISbxBJK6byFbsmr1AyP1qoWH+rap06A2gI7v72+Tn2PU2nYkIMUkCvhZw6K889jv+LhQ/ybcBxDOXHpNCExCnSgB4dcnmYp+9oeNZb37jSP0rQ+Ib4OTLjzc3/FawE/fUq5kukZTC7porzc/k0qJNLAZRx3YLALmK1GIdUY="
......
......@@ -167,6 +167,14 @@ module.exports = function (grunt) {
}
},
scsslint: {
scss: ['scss/*.scss', '!scss/_normalize.scss'],
options: {
config: 'scss/.scss-lint.yml',
reporterOutput: 'scss-lint-report.xml'
}
},
autoprefixer: {
options: {
browsers: configBridge.config.autoprefixerBrowsers
......@@ -369,7 +377,7 @@ module.exports = function (grunt) {
// Skip core tests if running a different subset of the test suite
if (runSubset('core') &&
// Skip core tests if this is a Savage build
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-js', 'docs']);
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'test-js', 'docs']);
}
// Skip HTML validation if running a different subset of the test suite
if (runSubset('validate-html') &&
......@@ -392,6 +400,8 @@ module.exports = function (grunt) {
// JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
grunt.registerTask('test-scss', ['scsslint:scss']);
// CSS distribution task.
grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']);
grunt.registerTask('dist-css', ['sass-compile', 'autoprefixer:core', 'usebanner', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']);
......
This diff is collapsed.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -27,8 +27,7 @@
position: relative;
height: 0;
overflow: hidden;
transition: height .35s ease;
transition-property: height, visibility;
transition-duration: .35s;
transition-timing-function: ease;
transition-duration: .35s;
transition-property: height, visibility;
}
......@@ -8,8 +8,8 @@
position: relative;
top: -.1em;
display: inline-block;
padding-left: .6em;
padding-right: .6em;
padding-left: .6em;
font-size: .75em;
font-weight: $badge-font-weight;
color: $badge-color;
......
......@@ -14,10 +14,10 @@
display: inline-block;
+ li:before {
content: "#{breadcrumb-divider}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
padding-left: .5rem;
padding-right: .5rem;
padding-left: .5rem;
color: $breadcrumb-divider-color;
content: "#{breadcrumb-divider}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
}
}
......
......@@ -106,12 +106,12 @@
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
padding-left: 12px;
}
// The clickable button for toggling the menu
......@@ -210,8 +210,8 @@
> .btn,
> .btn-group {
float: none;
display: table-cell;
float: none;
width: 1%;
}
......
......@@ -11,14 +11,14 @@
margin-bottom: 0; // For input.btn
font-weight: $btn-font-weight;
text-align: center;
white-space: nowrap;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
user-select: none;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: $border-width solid transparent;
white-space: nowrap;
@include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base);
user-select: none;
transition: all .2s ease-in-out;
&,
......@@ -38,16 +38,16 @@
&:active,
&.active {
outline: 0;
background-image: none;
outline: 0;
@include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
}
&.disabled,
&[disabled],
fieldset[disabled] & {
cursor: $cursor-disabled;
pointer-events: none; // Future-proof disabling of clicks
cursor: $cursor-disabled;
opacity: .65;
@include box-shadow(none);
}
......@@ -82,8 +82,8 @@
// Make a button look and behave like a link
.btn-link {
color: $link-color;
font-weight: normal;
color: $link-color;
border-radius: 0;
&,
......
......@@ -101,9 +101,9 @@
//
.card-blockquote {
border-left: 0;
padding: 0;
margin-bottom: 0;
border-left: 0;
}
// Card image
......@@ -143,14 +143,14 @@
border-spacing: 1.25rem 0;
.card {
float: none;
display: table-cell;
float: none;
max-width: none;
}
}
.card-set-wrapper {
margin-left: -1.25rem;
margin-right: -1.25rem;
margin-left: -1.25rem;
}
......@@ -164,13 +164,13 @@
table-layout: fixed;
.card {
float: none;
display: table-cell;
float: none;
max-width: none;
+ .card {
border-left: 0;
margin-left: 0;
border-left: 0;
}
}
}
......@@ -181,12 +181,11 @@
//
.card-columns {
column-count: 3;
column-gap: 1rem;
column-count: 3;
column-gap: 1rem;
.card {
display: inline-block;
width: 100%; // Don't let them exceed the column width
/*margin-bottom: 1rem;*/
}
}
......@@ -10,12 +10,12 @@
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
overflow: hidden;
> .item {
display: none;
position: relative;
display: none;
transition: .6s ease-in-out left;
// Account for jankitude on images
......@@ -33,19 +33,19 @@
&.next,
&.active.right {
transform: translate3d(100%, 0, 0);
left: 0;
transform: translate3d(100%, 0, 0);
}
&.prev,
&.active.left {
transform: translate3d(-100%, 0, 0);
left: 0;
transform: translate3d(-100%, 0, 0);
}
&.next.left,
&.prev.right,
&.active {
transform: translate3d(0, 0, 0);
left: 0;
transform: translate3d(0, 0, 0);
}
}
}
......@@ -93,14 +93,14 @@
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
left: 0;
width: $carousel-control-width;
opacity: $carousel-control-opacity;
font-size: $carousel-control-font-size;
color: $carousel-control-color;
text-align: center;
text-shadow: $carousel-text-shadow;
opacity: $carousel-control-opacity;
// We can't have this transition here because WebKit cancels the carousel
// animation if you trip this while in the middle of another animation.
......@@ -109,17 +109,17 @@
@include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
}
&.right {
left: auto;
right: 0;
left: auto;
@include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
}
// Hover/focus state
&:hover,
&:focus {
outline: 0;
color: $carousel-control-color;
text-decoration: none;
outline: 0;
opacity: .9;
}
......@@ -130,7 +130,7 @@
top: 50%;
z-index: 5;
display: inline-block;
width: 20px;
width: 20px;
height: 20px;
margin-top: -10px;
font-family: serif;
......@@ -146,12 +146,12 @@
}
.icon-prev {
&:before {
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
}
}
.icon-next {
&:before {
content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
}
}
}
......@@ -167,32 +167,31 @@
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
margin-left: -30%;
text-align: center;
list-style: none;
li {
display: inline-block;
width: 10px;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid $carousel-indicator-border-color;
border-radius: 10px;
cursor: pointer;
// IE9 hack for event handling
//
// Internet Explorer 9 does not support clicks on elements without a set
// `background-color`. We cannot use `filter` since that's not viewed as a
// background color by the browser. Thus, a hack is needed.
background-color: rgba(0,0,0,0); // IE9
border: 1px solid $carousel-indicator-border-color;
border-radius: 10px;
}
.active {
margin: 0;
width: 12px;
width: 12px;
height: 12px;
margin: 0;
background-color: $carousel-indicator-active-bg;
}
}
......@@ -202,9 +201,9 @@
// Hidden by default for smaller viewports
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
left: 15%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
......@@ -212,7 +211,7 @@
text-align: center;
text-shadow: $carousel-text-shadow;
& .btn {
.btn {
text-shadow: none; // No shadow for button elements in carousel-caption
}
}
......@@ -239,8 +238,8 @@
// Show and left align the captions
.carousel-caption {
left: 20%;
right: 20%;
left: 20%;
padding-bottom: 30px;
}
......
......@@ -13,12 +13,12 @@
display: inline-block;
width: 0;
height: 0;
content: "";
margin-left: .25rem;
vertical-align: middle;
border-top: $caret-width-base solid;
content: "";
border-top: $caret-width-base solid;
border-right: $caret-width-base solid transparent;
border-left: $caret-width-base solid transparent;
border-left: $caret-width-base solid transparent;
}
// Prevent the focus on the dropdown toggle when closing dropdowns
......@@ -38,14 +38,14 @@
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0; // override default ul
list-style: none;
font-size: $font-size-base;
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
list-style: none;
background-color: $dropdown-bg;
background-clip: padding-box;
border: 1px solid $dropdown-border;
@include border-radius($border-radius-base);
@include box-shadow(0 6px 12px rgba(0,0,0,.175));
background-clip: padding-box;
// Dividers (basically an hr) within the dropdown
.divider {
......@@ -68,8 +68,8 @@
.dropdown-menu > li > a {
&:hover,
&:focus {
text-decoration: none;
color: $dropdown-link-hover-color;
text-decoration: none;
background-color: $dropdown-link-hover-bg;
}
}
......@@ -81,8 +81,8 @@
&:focus {
color: $dropdown-link-active-color;
text-decoration: none;
outline: 0;
background-color: $dropdown-link-active-bg;
outline: 0;
}
}
......@@ -101,10 +101,10 @@
&:hover,
&:focus {
text-decoration: none;
cursor: $cursor-disabled;
background-color: transparent;
background-image: none; // Remove CSS gradient
@include reset-filter();
cursor: $cursor-disabled;
}
}
......@@ -126,8 +126,8 @@
// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
// menu with the parent.
.dropdown-menu-right {
left: auto; // Reset the default from `.dropdown-menu`
right: 0;
left: auto; // Reset the default from `.dropdown-menu`
}
// With v3, we enabled auto-flipping if you have a dropdown within a right
// aligned nav component. To enable the undoing of that, we provide an override
......@@ -136,8 +136,8 @@
// This is only for left-aligning a dropdown menu within a `.navbar-right` or
// `.pull-right` nav component.
.dropdown-menu-left {
left: 0;
right: auto;
left: 0;
}
// Dropdown section headers
......@@ -153,10 +153,10 @@
// Backdrop to catch body clicks on mobile, etc.
.dropdown-backdrop {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
top: 0;
left: 0;
z-index: ($zindex-dropdown - 10);
}
......@@ -175,10 +175,11 @@
.navbar-fixed-bottom .dropdown {
// Reverse the caret
.caret {
content: "";
border-top: 0;
border-bottom: $caret-width-base solid;
content: "";
}
// Different positioning for bottom up menu
.dropdown-menu {
top: auto;
......
......@@ -8,13 +8,13 @@
// Restyle and baseline non-control form elements.
fieldset {
padding: 0;
margin: 0;
border: 0;
// Chrome and Firefox set a `min-width: min-content;` on fieldsets,
// so we reset that to ensure it behaves more like a standard block element.
// See https://github.com/twbs/bootstrap/issues/12359.
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
......@@ -233,8 +233,8 @@ input[type="search"] {
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-left: -20px;
margin-top: 4px \9;
margin-left: -20px;
}
.radio + .radio,
......@@ -248,8 +248,8 @@ input[type="search"] {
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
vertical-align: middle;
cursor: pointer;
}
.radio-inline + .radio-inline,
......@@ -304,8 +304,8 @@ input[type="checkbox"] {
&.input-lg,
&.input-sm {
padding-left: 0;
padding-right: 0;
padding-left: 0;
}
}
......@@ -382,11 +382,12 @@ input[type="checkbox"] {
// Reposition feedback icon if input has visible label above
.has-feedback label {
& ~ .form-control-feedback {
top: ($line-height-computed + 5); // Height of the `label` and its margin
~ .form-control-feedback {
top: ($line-height-computed + 5); // Height of the `label` and its margin
}
&.sr-only ~ .form-control-feedback {
top: 0;
top: 0;
}
}
......@@ -501,9 +502,9 @@ input[type="checkbox"] {
.checkbox,
.radio-inline,
.checkbox-inline {
padding-top: ($padding-base-vertical + .1); // Default padding plus a border
margin-top: 0;
margin-bottom: 0;
padding-top: ($padding-base-vertical + .1); // Default padding plus a border
}
// Account for padding we're adding to ensure the alignment and of help text
// and other content below items
......@@ -521,9 +522,9 @@ input[type="checkbox"] {
// labels on narrow viewports stack the same as a default form example.
@include media-sm {
.control-label {
text-align: right;
margin-bottom: 0;
padding-top: ($padding-base-vertical + .1); // Default padding plus a border
margin-bottom: 0;
text-align: right;
}
}
......
......@@ -12,8 +12,8 @@
// Undo padding and float of grid classes
&[class*="col-"] {
float: none;
padding-left: 0;
padding-right: 0;
padding-left: 0;
}
.form-control {
......
......@@ -29,8 +29,8 @@
.container &,
.container-fluid & {
padding-left: ($jumbotron-padding * 2);
padding-right: ($jumbotron-padding * 2);
padding-left: ($jumbotron-padding * 2);
}
}
......
......@@ -9,8 +9,8 @@
.list-group {
// No need to set list-style: none; since .list-group-item is block level
margin-bottom: 20px;
padding-left: 0; // reset padding because ul and ol
margin-bottom: 20px;
}
......@@ -53,8 +53,8 @@ a.list-group-item {
// Hover state
&:hover,
&:focus {
text-decoration: none;
color: $list-group-link-hover-color;
text-decoration: none;
background-color: $list-group-hover-bg;
}
}
......@@ -64,9 +64,9 @@ a.list-group-item {
&.disabled,
&.disabled:hover,
&.disabled:focus {
background-color: $list-group-disabled-bg;
color: $list-group-disabled-color;
cursor: $cursor-disabled;
background-color: $list-group-disabled-bg;
// Force color to inherit for custom content
.list-group-item-heading {
......
......@@ -9,8 +9,8 @@
.media,
.media-body {
zoom: 1;
overflow: hidden;
zoom: 1;
}
.media-object {
......
......@@ -14,24 +14,22 @@
// Container that the modal scrolls within
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $zindex-modal;
-webkit-overflow-scrolling: touch;
display: none;
overflow: hidden;
// Prevent Chrome on Windows from adding a focus outline. For details, see
// https://github.com/twbs/bootstrap/pull/10951.
outline: 0;
-webkit-overflow-scrolling: touch;
// When fading in the modal, animate it to slide down
&.fade .modal-dialog {
transform: translate(0, -25%);
transform: transition .3s ease-out;
transform: transition .3s ease-out, translate(0, -25%);
}
&.in .modal-dialog { transform: translate(0, 0); }
}
......@@ -51,10 +49,10 @@
.modal-content {
position: relative;
background-color: $modal-content-bg;
background-clip: padding-box;
border: 1px solid $modal-content-border-color;
border-radius: $border-radius-lg;
@include box-shadow(0 3px 9px rgba(0,0,0,.5));
background-clip: padding-box;
// Remove focus outline from opened modal
outline: 0;
}
......@@ -74,9 +72,9 @@
// Modal header
// Top section of the modal w/ title and dismiss
.modal-header {
min-height: ($modal-title-padding + $modal-title-line-height);
padding: $modal-title-padding;
border-bottom: 1px solid $modal-header-border-color;
min-height: ($modal-title-padding + $modal-title-line-height);
}
// Close icon
.modal-header .close {
......@@ -105,8 +103,8 @@
// Properly space out buttons
.btn + .btn {
margin-left: 5px;
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
margin-left: 5px;
}
// but override that for button groups
.btn-group .btn + .btn {
......
......@@ -33,8 +33,8 @@
&:hover,
&:focus {
color: $nav-disabled-link-hover-color;
background-color: transparent;
cursor: $cursor-disabled;
background-color: transparent;
}
}
}
......@@ -120,16 +120,16 @@
&:hover,
&:focus {
color: $component-active-color;
background-color: $component-active-bg;
cursor: default;
background-color: $component-active-bg;
}
}
}
.nav-stacked {
.nav-item {
float: none;
display: block;
float: none;
+ .nav-item {
margin-top: .2rem;
......
......@@ -11,9 +11,7 @@
.navbar {
position: relative;
padding: $spacer;
/*min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)*/
margin-bottom: $navbar-margin-bottom;
/*border: 1px solid transparent;*/
// Prevent floats from breaking the navbar
@include clearfix();
......@@ -73,7 +71,6 @@
margin-bottom: 0; // For headings
font-size: $font-size-lg;
line-height: $line-height-computed;
/*height: $navbar-height;*/
> a:hover,
> a:focus {
......@@ -172,9 +169,9 @@
// our navbars.
.navbar-form {
margin-left: -$navbar-padding-horizontal;
margin-right: -$navbar-padding-horizontal;
padding: 10px $navbar-padding-horizontal;
margin-right: -$navbar-padding-horizontal;
margin-left: -$navbar-padding-horizontal;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1));
......@@ -198,11 +195,11 @@
// Undo 100% width for pull classes
@media (min-width: $grid-float-breakpoint) {
width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0;
padding-bottom: 0;
margin-right: 0;
margin-left: 0;
border: 0;
@include box-shadow(none);
}
}
......@@ -247,8 +244,8 @@
@media (min-width: $grid-float-breakpoint) {
float: left;
margin-left: $navbar-padding-horizontal;
margin-right: $navbar-padding-horizontal;
margin-left: $navbar-padding-horizontal;
}
}
......@@ -286,6 +283,7 @@
.navbar-brand {
color: $navbar-default-brand-color;
&:hover,
&:focus {
color: $navbar-default-brand-hover-color;
......@@ -348,8 +346,8 @@
&,
&:hover,
&:focus {
background-color: $navbar-default-link-active-bg;
color: $navbar-default-link-active-color;
background-color: $navbar-default-link-active-bg;
}
}
......@@ -506,8 +504,8 @@
&,
&:hover,
&:focus {
background-color: $navbar-inverse-link-active-bg;
color: $navbar-inverse-link-active-color;
background-color: $navbar-inverse-link-active-bg;
}
}
......
......@@ -6,8 +6,8 @@
.pager {
padding-left: 0;
margin: $line-height-computed 0;
list-style: none;
text-align: center;
list-style: none;
@include clearfix();
li {
......@@ -49,8 +49,8 @@
> a:focus,
> span {
color: $pager-disabled-color;
background-color: $pager-bg;
cursor: $cursor-disabled;
background-color: $pager-bg;
}
}
}
......@@ -15,12 +15,12 @@
position: relative;
float: left; // Collapse white-space
padding: $padding-base-vertical $padding-base-horizontal;
margin-left: -1px;
line-height: $line-height-base;
text-decoration: none;
color: $pagination-color;
text-decoration: none;
background-color: $pagination-bg;
border: 1px solid $pagination-border;
margin-left: -1px;
}
&:first-child {
> a,
......@@ -54,9 +54,9 @@
&:focus {
z-index: 2;
color: $pagination-active-color;
cursor: default;
background-color: $pagination-active-bg;
border-color: $pagination-active-border;
cursor: default;
}
}
......@@ -68,9 +68,9 @@
> a:hover,
> a:focus {
color: $pagination-disabled-color;
cursor: $cursor-disabled;
background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border;
cursor: $cursor-disabled;
}
}
}
......
......@@ -17,15 +17,14 @@
font-weight: normal;
line-height: $line-height-base;
text-align: left;
// Overrides for proper insertion
white-space: normal;
background-color: $popover-bg;
background-clip: padding-box;
border: 1px solid $popover-border-color;
@include border-radius($border-radius-lg);
@include box-shadow(0 5px 10px rgba(0,0,0,.2));
// Overrides for proper insertion
white-space: normal;
// Offset the popover to account for the popover arrow
&.top { margin-top: -$popover-arrow-width; }
&.right { margin-left: $popover-arrow-width; }
......@@ -34,8 +33,8 @@
}
.popover-title {
margin: 0; // reset heading margin
padding: 8px 14px;
margin: 0; // reset heading margin
font-size: $font-size-base;
background-color: $popover-title-bg;
border-bottom: 1px solid darken($popover-title-bg, 5%);
......@@ -65,49 +64,49 @@
border-width: $popover-arrow-outer-width;
}
.popover > .arrow:after {
border-width: $popover-arrow-width;
content: "";
border-width: $popover-arrow-width;
}
.popover {
&.top > .arrow {
bottom: -$popover-arrow-outer-width;
left: 50%;
margin-left: -$popover-arrow-outer-width;
border-bottom-width: 0;
border-top-color: $popover-arrow-outer-color;
bottom: -$popover-arrow-outer-width;
border-bottom-width: 0;
&:after {
content: " ";
bottom: 1px;
margin-left: -$popover-arrow-width;
border-bottom-width: 0;
content: "";
border-top-color: $popover-arrow-color;
border-bottom-width: 0;
}
}
&.right > .arrow {
top: 50%;
left: -$popover-arrow-outer-width;
margin-top: -$popover-arrow-outer-width;
border-left-width: 0;
border-right-color: $popover-arrow-outer-color;
border-left-width: 0;
&:after {
content: " ";
left: 1px;
bottom: -$popover-arrow-width;
border-left-width: 0;
left: 1px;
content: "";
border-right-color: $popover-arrow-color;
border-left-width: 0;
}
}
&.bottom > .arrow {
top: -$popover-arrow-outer-width;
left: 50%;
margin-left: -$popover-arrow-outer-width;
border-top-width: 0;
border-bottom-color: $popover-arrow-outer-color;
top: -$popover-arrow-outer-width;
&:after {
content: " ";
top: 1px;
margin-left: -$popover-arrow-width;
content: "";
border-top-width: 0;
border-bottom-color: $popover-arrow-color;
}
......@@ -120,11 +119,11 @@
border-right-width: 0;
border-left-color: $popover-arrow-outer-color;
&:after {
content: " ";
right: 1px;
bottom: -$popover-arrow-width;
content: "";
border-right-width: 0;
border-left-color: $popover-arrow-color;
bottom: -$popover-arrow-width;
}
}
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
// ==========================================================================
// Print styles.
......@@ -6,102 +6,102 @@
// ==========================================================================
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important; // Black prints faster: h5bp.com/s
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
// Don't show links that are fragment identifiers,
// or use the `javascript:` pseudo protocol
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; // h5bp.com/t
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
// Bootstrap specific changes start
//
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
// Once fixed, we can just straight up remove this.
select {
background: #fff !important;
}
// Bootstrap components
.navbar {
display: none;
}
.btn,
.dropup > .btn {
> .caret {
border-top-color: #000 !important;
}
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
td,
th {
background-color: #fff !important;
}
}
.table-bordered {
th,
td {
border: 1px solid #ddd !important;
}
}
// Bootstrap specific changes end
*,
*:before,
*:after {
color: #000 !important; // Black prints faster: h5bp.com/s
text-shadow: none !important;
background: transparent !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
// Don't show links that are fragment identifiers,
// or use the `javascript:` pseudo protocol
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; // h5bp.com/t
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
// Bootstrap specific changes start
//
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
// Once fixed, we can just straight up remove this.
select {
background: #fff !important;
}
// Bootstrap components
.navbar {
display: none;
}
.btn,
.dropup > .btn {
> .caret {
border-top-color: #000 !important;
}
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
td,
th {
background-color: #fff !important;
}
}
.table-bordered {
th,
td {
border: 1px solid #ddd !important;
}
}
// Bootstrap specific changes end
}
/*csslint empty-rules: false, important: true*/
//
// Progress bars
// --------------------------------------------------
......@@ -26,12 +24,12 @@
margin-bottom: $line-height-computed;
}
.progress[value] {
// Reset the default appearance
appearance: none;
// Remove Firefox and Opera border
border: 0;
// IE10 uses `color` to set the bar background-color
color: #0074d9;
// Remove Firefox and Opera border
border: 0;
// Reset the default appearance
appearance: none;
}
.progress[value]::-webkit-progress-bar {
background-color: #eee;
......@@ -94,8 +92,8 @@
border-bottom-left-radius: $border-radius-base;
}
.progress[width^="0"] {
color: $gray-light;
min-width: 2rem;
color: $gray-light;
background-color: transparent;
background-image: none;
}
......
......@@ -16,10 +16,10 @@
video {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 100%;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
......
......@@ -108,7 +108,7 @@ img {
// Horizontal rules
hr {
margin-top: $spacer;
margin-top: $spacer;
margin-bottom: $spacer;
border: 0;
border-top: .05rem solid $hr-border;
......@@ -123,8 +123,8 @@ hr {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
......
......@@ -134,16 +134,17 @@ th {
table col[class*="col-"] {
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-column;
float: none;
}
table {
td,
th {
&[class*="col-"] {
position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-cell;
float: none;
}
}
}
......@@ -169,15 +170,15 @@ table {
// will display normally.
.table-responsive {
overflow-x: auto;
min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
overflow-x: auto;
@media screen and (max-width: $screen-xs-max) {
width: 100%;
margin-bottom: $spacer;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid $table-border-color;
-ms-overflow-style: -ms-autohiding-scrollbar;
// Tighten up spacing
> .table {
......
......@@ -8,19 +8,35 @@
position: absolute;
z-index: $zindex-tooltip;
display: block;
visibility: visible;
// Reset font and text propertes given new insertion method
font-family: $font-family-base;
font-size: $font-size-sm;
font-weight: normal;
line-height: 1.4;
visibility: visible;
opacity: 0;
&.in { opacity: $tooltip-opacity; }
&.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }
&.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }
&.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }
&.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }
&.in { opacity: $tooltip-opacity; }
&.top {
padding: $tooltip-arrow-width 0;
margin-top: -3px;
}
&.right {
padding: 0 $tooltip-arrow-width;
margin-left: 3px;
}
&.bottom {
padding: $tooltip-arrow-width 0;
margin-top: 3px;
}
&.left {
padding: 0 $tooltip-arrow-width;
margin-left: -3px;
}
}
// Wrapper for the tooltip content
......@@ -52,8 +68,8 @@
border-top-color: $tooltip-arrow-color;
}
&.top-left .tooltip-arrow {
bottom: 0;
right: $tooltip-arrow-width;
bottom: 0;
margin-bottom: -$tooltip-arrow-width;
border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color;
......
......@@ -76,8 +76,8 @@ small,
mark,
.mark {
background-color: $state-warning-bg;
padding: .2em;
background-color: $state-warning-bg;
}
......@@ -99,6 +99,7 @@ ul,
ol {
margin-top: 0;
margin-bottom: ($line-height-computed / 2);
ul,
ol {
margin-bottom: 0;
......@@ -120,8 +121,8 @@ ol {
> li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
padding-left: 5px;
}
}
......@@ -203,7 +204,7 @@ blockquote {
color: $blockquote-small-color;
&:before {
content: '\2014 \00A0'; // em dash, nbsp
content: "\2014 \00A0"; // em dash, nbsp
}
}
}
......@@ -212,15 +213,15 @@ blockquote {
.blockquote-reverse {
padding-right: $spacer;
padding-left: 0;
text-align: right;
border-right: .25rem solid $blockquote-border-color;
border-left: 0;
text-align: right;
// Account for citation
footer {
&:before { content: ''; }
&:before { content: ""; }
&:after {
content: '\00A0 \2014'; // nbsp, em dash
content: "\00A0 \2014"; // nbsp, em dash
}
}
}
......
......@@ -103,15 +103,15 @@
}
@include media-sm-max {
@include responsive-invisibility('.hidden-sm');
@include responsive-invisibility(".hidden-sm");
}
@include media-md-max {
@include responsive-invisibility('.hidden-md');
@include responsive-invisibility(".hidden-md");
}
@include media-lg {
@include responsive-invisibility('.hidden-lg');
@include responsive-invisibility(".hidden-lg");
}
......@@ -143,6 +143,6 @@
.hidden-print {
@media print {
@include responsive-invisibility('.hidden-print');
@include responsive-invisibility(".hidden-print");
}
}
......@@ -29,8 +29,8 @@
padding: $spacer;
}
.p-h {
padding-left: $spacer;
padding-right: $spacer;
padding-left: $spacer;
}
.p-v {
padding-top: $spacer;
......@@ -41,8 +41,8 @@
.pos-f-t {
position: fixed;
top: 0;
left: 0;
right: 0;
left: 0;
z-index: $zindex-navbar-fixed;
}
......
......@@ -7,6 +7,6 @@
"rubygems": {
"key": "../pseudo_Gemfile.lock",
"cache": "$GEMDIR",
"generate": "gem install -N jekyll -v $JEKYLL_VERSION && gem install -N rouge -v $ROUGE_VERSION"
"generate": "gem install -N scss-lint -v $SCSS_LINT_VERSION && gem install -N jekyll -v $JEKYLL_VERSION && gem install -N rouge -v $ROUGE_VERSION"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment