2013-11-16 06:21:12 +08:00
|
|
|
//
|
|
|
|
// Mixins
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
// UTILITY MIXINS
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
// Clearfix
|
|
|
|
// --------
|
|
|
|
// For clearing floats like a boss h5bp.com/q
|
|
|
|
.clearfix {
|
2021-02-19 04:06:19 +08:00
|
|
|
&::before,
|
|
|
|
&::after {
|
2013-11-16 06:21:12 +08:00
|
|
|
display: table;
|
|
|
|
content: "";
|
|
|
|
// Fixes Opera/contenteditable bug:
|
|
|
|
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
|
|
|
|
line-height: 0;
|
|
|
|
clear: both;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Webkit-style focus
|
|
|
|
// ------------------
|
|
|
|
.tab-focus() {
|
|
|
|
// Default
|
|
|
|
outline: thin dotted #333;
|
|
|
|
// Webkit
|
|
|
|
outline: 5px auto -webkit-focus-ring-color;
|
|
|
|
outline-offset: -2px;
|
|
|
|
}
|
|
|
|
|
|
|
|
// FORMS
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
2020-09-04 18:05:17 +08:00
|
|
|
// Block level inputs
|
|
|
|
.input-block-level {
|
|
|
|
display: block;
|
|
|
|
width: 100%;
|
|
|
|
min-height: 30px; // Make inputs at least the height of their button counterpart
|
|
|
|
box-sizing: border-box; // Makes inputs behave like true block-level elements
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-16 06:21:12 +08:00
|
|
|
// Mixin for form field states
|
|
|
|
.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
|
|
|
|
// Set the text color
|
2021-02-19 04:06:19 +08:00
|
|
|
> label {
|
2013-11-16 06:21:12 +08:00
|
|
|
color: @textColor;
|
|
|
|
}
|
|
|
|
// Style inputs accordingly
|
|
|
|
input,
|
|
|
|
select,
|
|
|
|
textarea {
|
|
|
|
color: @textColor;
|
|
|
|
border-color: @borderColor;
|
2020-09-03 03:30:23 +08:00
|
|
|
box-shadow: inset 0 1px 1px rgba(0,0,0,.075); // Redeclare so transitions work
|
2013-11-16 06:21:12 +08:00
|
|
|
&:focus {
|
|
|
|
border-color: darken(@borderColor, 10%);
|
|
|
|
// Write out in full since the lighten() function isn't easily escaped
|
2020-09-03 03:30:23 +08:00
|
|
|
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
|
2013-11-16 06:21:12 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// COMPONENT MIXINS
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
// Grid System
|
|
|
|
// -----------
|
|
|
|
|
|
|
|
// Table columns
|
|
|
|
.tableColumns(@columnSpan: 1) {
|
|
|
|
width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
|
|
|
|
}
|
|
|
|
|
|
|
|
// The Grid
|
|
|
|
#grid {
|
|
|
|
|
|
|
|
.core (@gridColumnWidth, @gridGutterWidth) {
|
|
|
|
|
|
|
|
.spanX (@index) when (@index > 0) {
|
2014-06-17 03:56:11 +08:00
|
|
|
// (~".span@{index}") { .span(@index); }
|
|
|
|
.span@{index} { .span(@index); }
|
2013-11-16 06:21:12 +08:00
|
|
|
.spanX(@index - 1);
|
|
|
|
}
|
|
|
|
.spanX (0) {}
|
|
|
|
|
|
|
|
.span (@columns) {
|
|
|
|
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
|
|
|
|
}
|
|
|
|
|
|
|
|
.row {
|
|
|
|
margin-left: @gridGutterWidth * -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
[class*="span"] {
|
2021-02-19 04:06:19 +08:00
|
|
|
display: inline-block;
|
2013-11-16 06:21:12 +08:00
|
|
|
margin-left: @gridGutterWidth;
|
2021-02-19 04:06:19 +08:00
|
|
|
vertical-align: top;
|
2013-11-16 06:21:12 +08:00
|
|
|
}
|
|
|
|
|
2020-09-02 23:06:35 +08:00
|
|
|
// Set the container width
|
|
|
|
.container { .span(@gridColumns); }
|
2013-11-16 06:21:12 +08:00
|
|
|
|
|
|
|
// generate .spanX
|
|
|
|
.spanX (@gridColumns);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|