Created
May 27, 2013 02:10
-
-
Save sharapeco/5654841 to your computer and use it in GitHub Desktop.
オレオレBootstrap
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////////////////////////////////////////////////////////////////// | |
// Components | |
@keyframes fade-in { | |
0% { opacity: 0; } | |
100% { opacity: 1; } | |
} | |
@-webkit-keyframes fade-in { | |
0% { opacity: 0; } | |
100% { opacity: 1; } | |
} | |
.overlay-black() { color: #fff; background: rgba(0,0,0,.6); } | |
.overlay-white() { color: #222; background: rgba(255,255,255,.6); } | |
.emboss(@opacity: 1) { text-shadow: 0 1px 0 rgba(255, 255, 255, @opacity); } | |
.box-shadow-basic() { box-shadow: 0 1px 3px rgba(0,0,0,.25); } | |
.box-shadow-image() { box-shadow: 0 .2px 7px rgba(0,0,0,.25); } | |
// 画像置換 | |
.image-text(@image, @width, @height, @type: "png") { | |
display: inline-block; width: 1px*@width; height: 1px*@height; | |
background: ~"url(@{image}.@{type}) no-repeat 0 0"; | |
background-size: 1px*@width 1px*@height; | |
text-indent: -99em; overflow: hidden; text-decoration: none; vertical-align: middle; | |
@media (min-device-pixel-ratio: 1.5) { background-image: ~"url(@{image}-2x.@{type})"; } | |
@media (-webkit-min-device-pixel-ratio: 1.5) { background-image: ~"url(@{image}-2x.@{type})"; } | |
} | |
// 三角マーク | |
.add-mark-after() { | |
position: relative; padding-right: 25px; | |
&:after { display: block; overflow: hidden; | |
position: absolute; right: 5px; top: 8px; width: 14px; height: 14px; | |
font: normal 6px/14px Arial, sans-serif; text-align: center; | |
color: #333; background: #fff; border-radius: 8px; } | |
} | |
.add-triangle-u-after() { | |
.add-mark-after(); | |
&:after { content: "▲"; } | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// BASE | |
// ================================================================ | |
body, | |
input, | |
textarea, | |
th, td { font-size: @baseFontSize; line-height: 1.5; font-family: @baseFontFamily; } | |
html, body { color: @textColor; background: @bodyBackground; -webkit-text-size-adjust: 100%; } | |
a { color: @linkColor; } | |
a:hover { color: @linkColorHover; } | |
ul, ol { list-style: none; } | |
// your code here |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Responsive | |
// ---------------------------------------------------------------- | |
@LargeWidth: ~"(min-width: 1200px)"; | |
@LargePortrait: ~"(min-height: 801px) and (max-width: 1000px), (min-height: 1001px) and (max-width: 1250px)"; | |
@Tablet: ~"(max-width: 880px)"; | |
@Phone: ~"(max-width: 640px) and (max-height: 800px)"; | |
@PhoneWidth: ~"(max-width: 640px)"; | |
@SmallPhone: ~"(max-width: 460px)"; | |
// your code here |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Mixins | |
// | |
// from Twitter Bootstrap | |
// http://twitter.github.io/bootstrap/ | |
// | |
// -------------------------------------------------- | |
// UTILITY MIXINS | |
// -------------------------------------------------- | |
// Clearfix | |
// -------- | |
// For clearing floats like a boss h5bp.com/q | |
.clearfix { | |
*zoom: 1; | |
&:before, | |
&:after { | |
display: table; | |
content: ""; | |
// Fixes Opera/contenteditable bug: | |
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952 | |
line-height: 0; | |
} | |
&:after { | |
clear: both; | |
} | |
} | |
// Webkit-style focus | |
// ------------------ | |
.tab-focus() { | |
// Default | |
outline: thin dotted #333; | |
// Webkit | |
outline: 5px auto -webkit-focus-ring-color; | |
outline-offset: -2px; | |
} | |
// Center-align a block level element | |
// ---------------------------------- | |
.center-block() { | |
display: block; | |
margin-left: auto; | |
margin-right: auto; | |
} | |
// IE7 inline-block | |
// ---------------- | |
.ie7-inline-block() { | |
*display: inline; /* IE7 inline-block hack */ | |
*zoom: 1; | |
} | |
// IE7 likes to collapse whitespace on either side of the inline-block elements. | |
// Ems because we're attempting to match the width of a space character. Left | |
// version is for form buttons, which typically come after other elements, and | |
// right version is for icons, which come before. Applying both is ok, but it will | |
// mean that space between those elements will be .6em (~2 space characters) in IE7, | |
// instead of the 1 space in other browsers. | |
.ie7-restore-left-whitespace() { | |
*margin-left: .3em; | |
&:first-child { | |
*margin-left: 0; | |
} | |
} | |
.ie7-restore-right-whitespace() { | |
*margin-right: .3em; | |
} | |
// Sizing shortcuts | |
// ------------------------- | |
.size(@height, @width) { | |
width: @width; | |
height: @height; | |
} | |
.square(@size) { | |
.size(@size, @size); | |
} | |
// Placeholder color | |
// ------------------------- | |
.placeholder(@color) { | |
&:-moz-placeholder { | |
color: @color; | |
} | |
&:-ms-input-placeholder { | |
color: @color; | |
} | |
&::-webkit-input-placeholder { | |
color: @color; | |
} | |
} | |
// Text overflow | |
// ------------------------- | |
// Requires inline-block or block for proper styling | |
.text-overflow() { | |
overflow: hidden; | |
text-overflow: ellipsis; | |
white-space: nowrap; | |
} | |
// CSS image replacement | |
// ------------------------- | |
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 | |
.hide-text() { | |
font: 0/0 a; | |
color: transparent; | |
text-shadow: none; | |
background-color: transparent; | |
border: 0; | |
} | |
// CSS3 PROPERTIES | |
// -------------------------------------------------- | |
// Drop shadows | |
// note: Safari < 5.0 do not supports multiple shadow | |
.box-shadow(@shadowA, @shadowB:X, ...){ | |
// Multiple shadow solution from http://toekneestuck.com/blog/2012/05/15/less-css-arguments-variable/ | |
@props: ~`"@{arguments}".replace(/[\[\]]|\,\sX/g, '')`; | |
-webkit-box-shadow: @props; // for 1.12% (2013-04) and Android 2.3 | |
// -moz-box-shadow: @props; // for 0.31% (2013-04) | |
box-shadow: @props; // Chrome 10+, Firefox 4+, Explorer 9+, Opera 10.5+, Safari 5.1+ | |
} | |
// Transitions | |
.transition(...) { | |
-webkit-transition: @arguments; // for 8.12% (2013-04) | |
-moz-transition: @arguments; // for 2.35% (2013-04) | |
// -o-transition: @arguments; // for 0.11% (2013-04) | |
transition: @arguments; // Chrome 26+, Firefox 16+, Explorer 10+, Opera 12.10+ | |
} | |
.transition-duration(...) { | |
-webkit-transition-duration: @arguments; | |
-moz-transition-duration: @arguments; | |
// -o-transition-duration: @arguments; | |
transition-duration: @arguments; | |
} | |
.transition-delay(@transition-delay) { | |
-webkit-transition-delay: @transition-delay; | |
-moz-transition-delay: @transition-delay; | |
// -o-transition-delay: @transition-delay; | |
transition-delay: @transition-delay; | |
} | |
// Transformations | |
.transform(...) { | |
-webkit-transform: @arguments; | |
-moz-transform: @arguments; // for 1.16% (2013-04) | |
-ms-transform: @arguments; // for 31.55% (2013-04) | |
// -o-transform: @arguments; // for 0.11% (2013-04) | |
transform: @arguments; // Firefox 16+, Explorer 10+, Opera 12.10+ | |
} | |
.transform-origin(...) { | |
-webkit-transform-origin: @arguments; | |
-moz-transform-origin: @arguments; | |
-ms-transform-origin: @arguments; | |
// -o-transform-origin: @arguments; | |
transform-origin: @arguments; | |
} | |
.rotate(@degrees) { | |
-webkit-transform: rotate(@degrees); | |
-moz-transform: rotate(@degrees); | |
-ms-transform: rotate(@degrees); | |
// -o-transform: rotate(@degrees); | |
transform: rotate(@degrees); | |
} | |
.scale(@ratio) { | |
-webkit-transform: scale(@ratio); | |
-moz-transform: scale(@ratio); | |
-ms-transform: scale(@ratio); | |
// -o-transform: scale(@ratio); | |
transform: scale(@ratio); | |
} | |
.translate(@x, @y) { | |
-webkit-transform: translate(@x, @y); | |
-moz-transform: translate(@x, @y); | |
-ms-transform: translate(@x, @y); | |
// -o-transform: translate(@x, @y); | |
transform: translate(@x, @y); | |
} | |
.skew(@x, @y) { | |
-webkit-transform: skew(@x, @y); | |
-moz-transform: skew(@x, @y); | |
-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885 | |
// -o-transform: skew(@x, @y); | |
transform: skew(@x, @y); | |
} | |
// 3D transform is supported on Chrome 12+, Firefox 10+, Explorer 10+, Safari 4+ | |
.translate3d(@x, @y, @z) { | |
-webkit-transform: translate3d(@x, @y, @z); | |
// -moz-transform: translate3d(@x, @y, @z); // for 0.68% (2013-04) | |
// -o-transform: translate3d(@x, @y, @z); // not supported | |
transform: translate3d(@x, @y, @z); // Firefox 16+ | |
} | |
// Backface visibility | |
// Prevent browsers from flickering when using CSS 3D transforms. | |
// Default value is `visible`, but can be changed to `hidden | |
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples | |
.backface-visibility(@visibility){ | |
-webkit-backface-visibility: @visibility; | |
-moz-backface-visibility: @visibility; | |
backface-visibility: @visibility; | |
} | |
// Background clipping | |
// Heads up: FF 3.6 and under need "padding" instead of "padding-box" | |
.background-clip(@clip) { | |
// -webkit-background-clip: @clip; | |
// -moz-background-clip: @clip; | |
background-clip: @clip; // Chrome 1+, Firefox 4+, Explorer 9+, Opera 10.5+, Safari 3+ | |
} | |
// Background sizing | |
.background-size(@size){ | |
// -webkit-background-size: @size; | |
// -moz-background-size: @size; | |
// -o-background-size: @size; | |
background-size: @size; // Chrome 3+, Firefox 3.6+, Explorer 9+, Opera 10.0+, Safari 4.1+ | |
} | |
// Box sizing | |
.box-sizing(@boxmodel) { | |
-webkit-box-sizing: @boxmodel; // for 1.24% (2013-04) and Android 2.3 | |
-moz-box-sizing: @boxmodel; // still needed (2013-04) | |
box-sizing: @boxmodel; // Chrome 9+, Explorer 8+, Opera 7+, Safari 5.1+ | |
} | |
// User select | |
// For selecting text on the page | |
.user-select(@select) { | |
-webkit-user-select: @select; | |
-moz-user-select: @select; | |
-ms-user-select: @select; | |
// -o-user-select: @select; // not supported | |
user-select: @select; | |
} | |
// Resize anything | |
.resizable(@direction) { | |
resize: @direction; // Options: horizontal, vertical, both | |
overflow: auto; // Safari fix | |
} | |
// CSS3 Content Columns | |
.content-columns(@columnCount, @columnGap: @gridGutterWidth) { | |
-webkit-column-count: @columnCount; | |
-moz-column-count: @columnCount; | |
column-count: @columnCount; // Explorer 10+, Opera 11.1+ | |
-webkit-column-gap: @columnGap; | |
-moz-column-gap: @columnGap; | |
column-gap: @columnGap; | |
} | |
// Optional hyphenation | |
.hyphens(@mode: auto) { | |
word-wrap: break-word; | |
-webkit-hyphens: @mode; // Chrome 13+ | |
-moz-hyphens: @mode; // Firefox 6+ | |
-ms-hyphens: @mode; // Explorer 10+ | |
// -o-hyphens: @mode; // ? | |
hyphens: @mode; // Safari 5.1+ | |
} | |
// Opacity | |
.opacity(@opacity) { | |
opacity: @opacity / 100; | |
filter: ~"alpha(opacity=@{opacity})"; | |
} | |
// Animation | |
.animation(@args) { | |
-webkit-animation: @args; | |
animation: @args; // Firefox 16+, Explorer 10+, Opera 12.10+ | |
} | |
.animation(@args, @fillmode) { | |
-webkit-animation: @args; | |
animation: @args; | |
-webkit-animation-fill-mode: @fillmode; | |
animation-fill-mode: @fillmode; | |
} | |
// BACKGROUNDS | |
// -------------------------------------------------- | |
// Add an alphatransparency value to any background or border color (via Elyse Holladay) | |
#translucent { | |
.background(@color: @white, @alpha: 1) { | |
background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); | |
} | |
.border(@color: @white, @alpha: 1) { | |
border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); | |
.background-clip(padding-box); | |
} | |
} | |
// Gradient Bar Colors for buttons and alerts | |
.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { | |
color: @textColor; | |
text-shadow: @textShadow; | |
#gradient > .vertical(@primaryColor, @secondaryColor); | |
border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); | |
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); | |
} | |
// Gradients | |
#gradient { | |
.horizontal(@startColor: #555, @endColor: #333) { | |
background-color: @endColor; | |
background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ | |
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ | |
//background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ | |
background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 | |
background-image: linear-gradient(to right, @startColor, @endColor); // Standard, Explorer 10+ | |
background-repeat: repeat-x; | |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down | |
} | |
.vertical(@startColor: #555, @endColor: #333) { | |
background-color: mix(@startColor, @endColor, 60%); | |
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ | |
//background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ | |
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 | |
background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10 | |
background-repeat: repeat-x; | |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down | |
} | |
.directional(@startColor: #555, @endColor: #333, @deg: 45deg) { | |
background-color: @endColor; | |
background-repeat: repeat-x; | |
background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ | |
background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ | |
background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 | |
background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10 | |
} | |
.vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { | |
background-color: mix(@midColor, @endColor, 80%); | |
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); | |
//background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); | |
background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); | |
background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); | |
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); | |
background-repeat: no-repeat; | |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback | |
} | |
.radial(@innerColor: #555, @outerColor: #333) { | |
background-color: @outerColor; | |
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); | |
//background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); | |
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); | |
background-image: -o-radial-gradient(circle, @innerColor, @outerColor); | |
background-repeat: no-repeat; | |
} | |
.striped(@color: #555, @angle: 45deg) { | |
background-color: @color; | |
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); | |
//background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); | |
background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); | |
background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); | |
background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); | |
} | |
} | |
// Reset filters for IE | |
.reset-filter() { | |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); | |
} | |
// COMPONENT MIXINS | |
// -------------------------------------------------- | |
// Horizontal dividers | |
// ------------------------- | |
// Dividers (basically an hr) within dropdowns and nav lists | |
.nav-divider(@top: #e5e5e5, @bottom: @white) { | |
// IE7 needs a set width since we gave a height. Restricting just | |
// to IE7 to keep the 1px left/right space in other browsers. | |
// It is unclear where IE is getting the extra space that we need | |
// to negative-margin away, but so it goes. | |
*width: 100%; | |
height: 1px; | |
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px | |
*margin: -5px 0 5px; | |
overflow: hidden; | |
background-color: @top; | |
border-bottom: 1px solid @bottom; | |
} | |
// Button backgrounds | |
// ------------------ | |
.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { | |
// gradientBar will set the background to a pleasing blend of these, to support IE<=9 | |
.gradientBar(@startColor, @endColor, @textColor, @textShadow); | |
*background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ | |
.reset-filter(); | |
// in these cases the gradient won't cover the background, so we override | |
&:hover, &:active, &.active, &.disabled, &[disabled] { | |
color: @textColor; | |
background-color: @endColor; | |
*background-color: darken(@endColor, 5%); | |
} | |
// IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves | |
&:active, | |
&.active { | |
background-color: darken(@endColor, 10%) e("\9"); | |
} | |
} | |
// Grid System | |
// ----------- | |
// Centered container element | |
.container-fixed() { | |
margin-right: auto; | |
margin-left: auto; | |
.clearfix(); | |
} | |
// Table columns | |
.tableColumns(@columnSpan: 1) { | |
float: none; // undo default grid column styles | |
width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells | |
margin-left: 0; // undo default grid column styles | |
} | |
// Make a Grid | |
// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior | |
.makeRow() { | |
margin-left: @gridGutterWidth * -1; | |
.clearfix(); | |
} | |
.makeColumn(@columns: 1, @offset: 0) { | |
float: left; | |
margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2); | |
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); | |
} | |
// The Grid | |
#grid { | |
.core (@gridColumnWidth, @gridGutterWidth) { | |
.spanX (@index) when (@index > 0) { | |
(~".span@{index}") { .span(@index); } | |
.spanX(@index - 1); | |
} | |
.spanX (0) {} | |
.offsetX (@index) when (@index > 0) { | |
(~".offset@{index}") { .offset(@index); } | |
.offsetX(@index - 1); | |
} | |
.offsetX (0) {} | |
.offset (@columns) { | |
margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1)); | |
} | |
.span (@columns) { | |
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); | |
} | |
.row { | |
margin-left: @gridGutterWidth * -1; | |
.clearfix(); | |
} | |
[class*="span"] { | |
float: left; | |
min-height: 1px; // prevent collapsing columns | |
margin-left: @gridGutterWidth; | |
} | |
// Set the container width, and override it for fixed navbars in media queries | |
.container, | |
.navbar-static-top .container, | |
.navbar-fixed-top .container, | |
.navbar-fixed-bottom .container { .span(@gridColumns); } | |
// generate .spanX and .offsetX | |
.spanX (@gridColumns); | |
.offsetX (@gridColumns); | |
} | |
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) { | |
.spanX (@index) when (@index > 0) { | |
(~".span@{index}") { .span(@index); } | |
.spanX(@index - 1); | |
} | |
.spanX (0) {} | |
.offsetX (@index) when (@index > 0) { | |
(~'.offset@{index}') { .offset(@index); } | |
(~'.offset@{index}:first-child') { .offsetFirstChild(@index); } | |
.offsetX(@index - 1); | |
} | |
.offsetX (0) {} | |
.offset (@columns) { | |
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2); | |
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%); | |
} | |
.offsetFirstChild (@columns) { | |
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth); | |
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); | |
} | |
.span (@columns) { | |
width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); | |
*width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%); | |
} | |
.row-fluid { | |
width: 100%; | |
.clearfix(); | |
[class*="span"] { | |
.input-block-level(); | |
float: left; | |
margin-left: @fluidGridGutterWidth; | |
*margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); | |
} | |
[class*="span"]:first-child { | |
margin-left: 0; | |
} | |
// generate .spanX and .offsetX | |
.spanX (@gridColumns); | |
.offsetX (@gridColumns); | |
} | |
} | |
.input(@gridColumnWidth, @gridGutterWidth) { | |
.spanX (@index) when (@index > 0) { | |
(~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); } | |
.spanX(@index - 1); | |
} | |
.spanX (0) {} | |
.span(@columns) { | |
width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14; | |
} | |
input, | |
textarea, | |
.uneditable-input { | |
margin-left: 0; // override margin-left from core grid system | |
} | |
// Space grid-sized controls properly if multiple per line | |
.controls-row [class*="span"] + [class*="span"] { | |
margin-left: @gridGutterWidth; | |
} | |
// generate .spanX | |
.spanX (@gridColumns); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Modals | |
// Adapted from http://github.com/necolas/normalize.css | |
// -------------------------------------------------- | |
// Display in IE6-9 and FF3 | |
// ------------------------- | |
article, | |
aside, | |
details, | |
figcaption, | |
figure, | |
footer, | |
header, | |
hgroup, | |
nav, | |
section { | |
display: block; | |
} | |
// Display block in IE6-9 and FF3 | |
// ------------------------- | |
audio, | |
canvas, | |
video { | |
display: inline-block; | |
*display: inline; | |
*zoom: 1; | |
} | |
// Prevents modern browsers from displaying 'audio' without controls | |
// ------------------------- | |
audio:not([controls]) { | |
display: none; | |
} | |
// Base settings | |
// ------------------------- | |
html { | |
font-size: 100%; | |
// -webkit-text-size-adjust: 100%; | |
// -ms-text-size-adjust: 100%; | |
} | |
// Focus states | |
a:focus { | |
.tab-focus(); | |
} | |
// Hover & Active | |
a:hover, | |
a:active { | |
outline: 0; | |
} | |
html, body, div, span, | |
p, pre, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, blockquote, | |
table, caption, thead, tbody, tfoot, tr, td, form, fieldset, legend { margin: 0; padding: 0; } | |
// Prevents sub and sup affecting line-height in all browsers | |
// ------------------------- | |
sub, | |
sup { | |
position: relative; | |
font-size: 75%; | |
line-height: 0; | |
vertical-align: baseline; | |
} | |
sup { | |
top: -0.5em; | |
} | |
sub { | |
bottom: -0.25em; | |
} | |
// Img border in a's and image quality | |
// ------------------------- | |
img { | |
/* Responsive images (ensure images don't scale beyond their parents) */ | |
max-width: 100%; /* Part 1: Set a maxium relative to the parent */ | |
width: auto\9; /* IE7-8 need help adjusting responsive images */ | |
height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ | |
vertical-align: middle; | |
border: 0; | |
-ms-interpolation-mode: bicubic; | |
} | |
// Prevent max-width from affecting Google Maps | |
#map_canvas img { | |
max-width: none; | |
} | |
// Forms | |
// ------------------------- | |
// Font size in all browsers, margin changes, misc consistency | |
button, | |
input, | |
select, | |
textarea { | |
margin: 0; | |
font-size: 100%; | |
vertical-align: middle; | |
} | |
button, | |
input { | |
*overflow: visible; // Inner spacing ie IE6/7 | |
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet | |
} | |
button::-moz-focus-inner, | |
input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 | |
padding: 0; | |
border: 0; | |
} | |
button, | |
input[type="button"], | |
input[type="reset"], | |
input[type="submit"] { | |
cursor: pointer; // Cursors on all buttons applied consistently | |
-webkit-appearance: button; // Style clickable inputs in iOS | |
} | |
input[type="search"] { // Appearance in Safari/Chrome | |
-webkit-box-sizing: content-box; | |
-moz-box-sizing: content-box; | |
box-sizing: content-box; | |
-webkit-appearance: textfield; | |
} | |
input[type="search"]::-webkit-search-decoration, | |
input[type="search"]::-webkit-search-cancel-button { | |
-webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 | |
} | |
textarea { | |
overflow: auto; // Remove vertical scrollbar in IE6-9 | |
vertical-align: top; // Readability and alignment cross-browser | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@charset "UTF-8"; | |
@import "reset"; | |
@import "variables"; | |
@import "mixins"; | |
@import "components"; | |
@import "layouts"; | |
@import "contents"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Scaffolding | |
// ------------------------- | |
@bodyBackground: #f2f2ed; | |
@textColor: #333; | |
// Links | |
// ------------------------- | |
@linkColor: #08c; | |
@linkColorHover: darken(@linkColor, 15%); | |
// Typography | |
// ------------------------- | |
@sansFontFamily: "メイリオ", Meiryo, sans-serif; | |
@serifFontFamily: Georgia, "Times New Roman", Times, serif; | |
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace; | |
@baseFontSize: 14px; | |
@baseFontFamily: @sansFontFamily; | |
@baseLineHeight: 20px; | |
@altFontFamily: @serifFontFamily; | |
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily | |
@headingsFontWeight: bold; // instead of browser default, bold | |
@headingsColor: inherit; // empty to use BS default, @textColor | |
// GRID | |
// -------------------------------------------------- | |
// Default 940px grid | |
// ------------------------- | |
@gridColumns: 12; | |
@gridColumnWidth: 60px; | |
@gridGutterWidth: 20px; | |
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); | |
// 1200px min | |
@gridColumnWidth1200: 70px; | |
@gridGutterWidth1200: 30px; | |
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1)); | |
// 768px-979px | |
@gridColumnWidth768: 42px; | |
@gridGutterWidth768: 20px; | |
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1)); | |
// Fluid grid | |
// ------------------------- | |
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth); | |
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth); | |
// 1200px min | |
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200); | |
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200); | |
// 768px-979px | |
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768); | |
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment