Commit b92534c6 authored by Mark Otto's avatar Mark Otto

improve code quality on custom forms

parent dacac2ab
...@@ -1887,7 +1887,6 @@ legend { ...@@ -1887,7 +1887,6 @@ legend {
label { label {
display: inline-block; display: inline-block;
margin-bottom: 5px; margin-bottom: 5px;
font-weight: bold;
} }
input[type="search"] { input[type="search"] {
...@@ -3019,7 +3018,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3019,7 +3018,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: relative; position: relative;
display: inline; display: inline;
padding-left: 1.5rem; padding-left: 1.5rem;
font-weight: normal;
color: #555; color: #555;
cursor: pointer; cursor: pointer;
} }
...@@ -3027,7 +3025,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3027,7 +3025,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: absolute; position: absolute;
z-index: -1; z-index: -1;
opacity: 0; opacity: 0;
/* Put the input behind the label so it doesn't overlay text */
} }
.c-input > input:focus ~ .c-indicator { .c-input > input:focus ~ .c-indicator {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
...@@ -3059,7 +3056,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3059,7 +3056,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
background-color: #eee; background-color: #eee;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
...@@ -3081,7 +3078,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3081,7 +3078,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==);
} }
/* Alternately, use another character */
.control-x input:checked ~ .control-indicator { .control-x input:checked ~ .control-indicator {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xLjQsMEwwLDEuNGwwLjcsMC43bDEuOCwxLjhMMC43LDUuN0wwLDYuNGwxLjQsMS40bDAuNy0wLjdsMS44LTEuOGwxLjgsMS44bDAuNywwLjdsMS40LTEuNEw3LjEsNS43DQoJTDUuMywzLjlsMS44LTEuOGwwLjctMC43TDYuNCwwTDUuNywwLjdMMy45LDIuNUwyLjEsMC43QzIuMSwwLjcsMS40LDAsMS40LDB6Ii8+DQo8L3N2Zz4NCg==); background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xLjQsMEwwLDEuNGwwLjcsMC43bDEuOCwxLjhMMC43LDUuN0wwLDYuNGwxLjQsMS40bDAuNy0wLjdsMS44LTEuOGwxLjgsMS44bDAuNywwLjdsMS40LTEuNEw3LjEsNS43DQoJTDUuMywzLjlsMS44LTEuOGwwLjctMC43TDYuNCwwTDUuNywwLjdMMy45LDIuNUwyLjEsMC43QzIuMSwwLjcsMS40LDAsMS40LDB6Ii8+DQo8L3N2Zz4NCg==);
} }
...@@ -3095,23 +3091,19 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3095,23 +3091,19 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
.c-inputs-stacked .c-input:after { .c-inputs-stacked .c-input:after {
display: block; display: block;
margin-bottom: .25rem; margin-bottom: .25rem;
content: ""; content: "";
} }
.c-inputs-stacked .c-input + .c-input { .c-inputs-stacked .c-input + .c-input {
margin-left: 0; margin-left: 0;
} }
/*
* Select
*/
.select { .select {
position: relative; position: relative;
display: inline-block; display: inline-block;
color: #555; color: #555;
} }
.select > select {
.select select {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
-webkit-appearance: none; -webkit-appearance: none;
...@@ -3125,17 +3117,23 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3125,17 +3117,23 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-radius: .25rem; border-radius: .25rem;
outline: 0; outline: 0;
-moz-appearance: none;
appearance: none; appearance: none;
} }
.select > select:focus {
/* Undo the Firefox inner focus ring */ -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
.select select:focus:-moz-focusring { box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
}
.select > select:focus:-moz-focusring {
color: transparent; color: transparent;
text-shadow: 0 0 0 #000; text-shadow: 0 0 0 #000;
} }
.select > select:active {
/* Dropdown arrow */ color: #fff;
background-color: #0074d9;
}
.select > select::-ms-expand {
display: none;
}
.select:after { .select:after {
position: absolute; position: absolute;
top: 50%; top: 50%;
...@@ -3152,37 +3150,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3152,37 +3150,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-left: .35rem solid transparent; border-left: .35rem solid transparent;
} }
/* Hover state */
/* Uncomment if you need it, but be aware of the sticky iOS states.
.select select:hover {
background-color: #ddd;
}
*/
/* Focus */
.select select:focus {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
}
/* Active/open */
.select select:active {
color: #fff;
background-color: #0074d9;
}
/* Hide the arrow in IE10 and up */
.select select::-ms-expand {
display: none;
}
/* Media query to target Firefox only */
@-moz-document url-prefix() { @-moz-document url-prefix() {
/* Firefox hack to hide the arrow */
/* <option> elements inherit styles from <select>, so reset them. */
.select select { .select select {
padding-right: 1rem; padding-right: 1rem;
text-indent: .01px; text-indent: .01px;
text-overflow: ''; text-overflow: "";
} }
.select option { .select option {
...@@ -3190,7 +3162,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3190,7 +3162,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
} }
/* IE9 hack to hide the arrow */
@media screen and (min-width: 0\0) { @media screen and (min-width: 0\0) {
.select select { .select select {
z-index: 1; z-index: 1;
...@@ -3219,13 +3190,10 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3219,13 +3190,10 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
} }
/*
* File
*/
.file { .file {
position: relative; position: relative;
display: inline-block; display: inline-block;
height: 2.5rem; height: 2.5rem;
cursor: pointer; cursor: pointer;
} }
...@@ -3249,7 +3217,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3249,7 +3217,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
background-color: #fff; background-color: #fff;
border: .075rem solid #ddd; border: .075rem solid #ddd;
border-radius: .25rem; border-radius: .25rem;
...@@ -3278,40 +3246,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3278,40 +3246,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-radius: 0 .25rem .25rem 0; border-radius: 0 .25rem .25rem 0;
} }
/* Focus */
.file input:focus ~ .file-custom { .file input:focus ~ .file-custom {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
} }
/*
* Control layouts
*/
.controls-stacked {
margin: 1rem 0;
}
.controls-stacked .control, .controls-stacked .progress {
display: block;
}
.controls-stacked .control + .control, .controls-stacked .progress + .progress {
margin-top: .5rem;
}
.controls-inline {
margin: 1rem 0;
}
.controls-inline .control {
display: inline-block;
height: 1rem;
}
.controls-inline .control + .control {
margin-left: 1rem;
}
.nav { .nav {
margin-bottom: 0; margin-bottom: 0;
} }
......
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.
...@@ -68,14 +68,14 @@ Custom checkboxes and radios are inline to start. Add a parent with class `.c-in ...@@ -68,14 +68,14 @@ Custom checkboxes and radios are inline to start. Add a parent with class `.c-in
Similar to the checkboxes and radios, we wrap the `<select>` in a `<label>` as a semantic wrapper that we can generate custom styles on with CSS's generated content. Similar to the checkboxes and radios, we wrap the `<select>` in a `<label>` as a semantic wrapper that we can generate custom styles on with CSS's generated content.
{% example html %} {% example html %}
<label class="select"> <label class="select">
<select> <select>
<option selected>Open this select menu</option> <option selected>Open this select menu</option>
<option value="1">One</option> <option value="1">One</option>
<option value="2">Two</option> <option value="2">Two</option>
<option value="3">Three</option> <option value="3">Three</option>
</select> </select>
</label> </label>
{% endexample %} {% endexample %}
The `<select>` has quite a few styles to override and includes a few hacks to get things done. Here's what's happening: The `<select>` has quite a few styles to override and includes a few hacks to get things done. Here's what's happening:
...@@ -94,3 +94,24 @@ The `<select>` has quite a few styles to override and includes a few hacks to ge ...@@ -94,3 +94,24 @@ The `<select>` has quite a few styles to override and includes a few hacks to ge
- The custom caret is unable to receive the selected state's `color`. - The custom caret is unable to receive the selected state's `color`.
Any ideas on improving these are most welcome. Any ideas on improving these are most welcome.
## File browser
{% example html %}
<label class="file">
<input type="file" id="file">
<span class="file-custom"></span>
</label>
{% endexample %}
The file input is the most gnarly of the bunch. Here's how it works:
- We wrap the `<input>` in a `<label>` so the custom control properly triggers the file browser.
- We hide the default file `<input>` via `opacity`.
- We use `:after` to generate a custom background and directive (*Choose file...*).
- We use `:before` to generate and position the *Browse* button.
- We declare a `height` on the `<input>` for proper spacing for surrounding content.
In other words, it's an entirely custom element, all generated via CSS.
**Heads up!** The custom file input is currently unable to update the *Choose file...* text with the filename. Without JavaScript, this might not be possible to change, but I'm open to ideas.
...@@ -1887,7 +1887,6 @@ legend { ...@@ -1887,7 +1887,6 @@ legend {
label { label {
display: inline-block; display: inline-block;
margin-bottom: 5px; margin-bottom: 5px;
font-weight: bold;
} }
input[type="search"] { input[type="search"] {
...@@ -3019,7 +3018,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3019,7 +3018,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: relative; position: relative;
display: inline; display: inline;
padding-left: 1.5rem; padding-left: 1.5rem;
font-weight: normal;
color: #555; color: #555;
cursor: pointer; cursor: pointer;
} }
...@@ -3027,7 +3025,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3027,7 +3025,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: absolute; position: absolute;
z-index: -1; z-index: -1;
opacity: 0; opacity: 0;
/* Put the input behind the label so it doesn't overlay text */
} }
.c-input > input:focus ~ .c-indicator { .c-input > input:focus ~ .c-indicator {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
...@@ -3059,7 +3056,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3059,7 +3056,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
background-color: #eee; background-color: #eee;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
...@@ -3081,7 +3078,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3081,7 +3078,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==);
} }
/* Alternately, use another character */
.control-x input:checked ~ .control-indicator { .control-x input:checked ~ .control-indicator {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xLjQsMEwwLDEuNGwwLjcsMC43bDEuOCwxLjhMMC43LDUuN0wwLDYuNGwxLjQsMS40bDAuNy0wLjdsMS44LTEuOGwxLjgsMS44bDAuNywwLjdsMS40LTEuNEw3LjEsNS43DQoJTDUuMywzLjlsMS44LTEuOGwwLjctMC43TDYuNCwwTDUuNywwLjdMMy45LDIuNUwyLjEsMC43QzIuMSwwLjcsMS40LDAsMS40LDB6Ii8+DQo8L3N2Zz4NCg==); background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xLjQsMEwwLDEuNGwwLjcsMC43bDEuOCwxLjhMMC43LDUuN0wwLDYuNGwxLjQsMS40bDAuNy0wLjdsMS44LTEuOGwxLjgsMS44bDAuNywwLjdsMS40LTEuNEw3LjEsNS43DQoJTDUuMywzLjlsMS44LTEuOGwwLjctMC43TDYuNCwwTDUuNywwLjdMMy45LDIuNUwyLjEsMC43QzIuMSwwLjcsMS40LDAsMS40LDB6Ii8+DQo8L3N2Zz4NCg==);
} }
...@@ -3095,23 +3091,19 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3095,23 +3091,19 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
.c-inputs-stacked .c-input:after { .c-inputs-stacked .c-input:after {
display: block; display: block;
margin-bottom: .25rem; margin-bottom: .25rem;
content: ""; content: "";
} }
.c-inputs-stacked .c-input + .c-input { .c-inputs-stacked .c-input + .c-input {
margin-left: 0; margin-left: 0;
} }
/*
* Select
*/
.select { .select {
position: relative; position: relative;
display: inline-block; display: inline-block;
color: #555; color: #555;
} }
.select > select {
.select select {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
-webkit-appearance: none; -webkit-appearance: none;
...@@ -3125,17 +3117,23 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3125,17 +3117,23 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-radius: .25rem; border-radius: .25rem;
outline: 0; outline: 0;
-moz-appearance: none;
appearance: none; appearance: none;
} }
.select > select:focus {
/* Undo the Firefox inner focus ring */ -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
.select select:focus:-moz-focusring { box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
}
.select > select:focus:-moz-focusring {
color: transparent; color: transparent;
text-shadow: 0 0 0 #000; text-shadow: 0 0 0 #000;
} }
.select > select:active {
/* Dropdown arrow */ color: #fff;
background-color: #0074d9;
}
.select > select::-ms-expand {
display: none;
}
.select:after { .select:after {
position: absolute; position: absolute;
top: 50%; top: 50%;
...@@ -3152,37 +3150,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3152,37 +3150,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-left: .35rem solid transparent; border-left: .35rem solid transparent;
} }
/* Hover state */
/* Uncomment if you need it, but be aware of the sticky iOS states.
.select select:hover {
background-color: #ddd;
}
*/
/* Focus */
.select select:focus {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
}
/* Active/open */
.select select:active {
color: #fff;
background-color: #0074d9;
}
/* Hide the arrow in IE10 and up */
.select select::-ms-expand {
display: none;
}
/* Media query to target Firefox only */
@-moz-document url-prefix() { @-moz-document url-prefix() {
/* Firefox hack to hide the arrow */
/* <option> elements inherit styles from <select>, so reset them. */
.select select { .select select {
padding-right: 1rem; padding-right: 1rem;
text-indent: .01px; text-indent: .01px;
text-overflow: ''; text-overflow: "";
} }
.select option { .select option {
...@@ -3190,7 +3162,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3190,7 +3162,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
} }
/* IE9 hack to hide the arrow */
@media screen and (min-width: 0\0) { @media screen and (min-width: 0\0) {
.select select { .select select {
z-index: 1; z-index: 1;
...@@ -3219,13 +3190,10 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3219,13 +3190,10 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
} }
} }
/*
* File
*/
.file { .file {
position: relative; position: relative;
display: inline-block; display: inline-block;
height: 2.5rem; height: 2.5rem;
cursor: pointer; cursor: pointer;
} }
...@@ -3249,7 +3217,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3249,7 +3217,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
background-color: #fff; background-color: #fff;
border: .075rem solid #ddd; border: .075rem solid #ddd;
border-radius: .25rem; border-radius: .25rem;
...@@ -3278,40 +3246,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3278,40 +3246,11 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
border-radius: 0 .25rem .25rem 0; border-radius: 0 .25rem .25rem 0;
} }
/* Focus */
.file input:focus ~ .file-custom { .file input:focus ~ .file-custom {
-webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9;
} }
/*
* Control layouts
*/
.controls-stacked {
margin: 1rem 0;
}
.controls-stacked .control, .controls-stacked .progress {
display: block;
}
.controls-stacked .control + .control, .controls-stacked .progress + .progress {
margin-top: .5rem;
}
.controls-inline {
margin: 1rem 0;
}
.controls-inline .control {
display: inline-block;
height: 1rem;
}
.controls-inline .control + .control {
margin-left: 1rem;
}
.nav { .nav {
margin-bottom: 0; margin-bottom: 0;
} }
......
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.
...@@ -32,7 +32,6 @@ legend { ...@@ -32,7 +32,6 @@ legend {
label { label {
display: inline-block; display: inline-block;
margin-bottom: 5px; margin-bottom: 5px;
font-weight: bold;
} }
......
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