CSS
语言:
CSSSCSS
确定
@import url(http://fonts.googleapis.com/css?family=Lobster);
html {
font-size: 1em;
}
body {
color: #bbb;
background-color: #444;
text-align: center;
}
fieldset {
border: #999 solid 0.2em;
border-radius: 0.5em;
display: inline-block;
text-align: left;
position: relative;
transition: border-color 0.25s linear;
}
fieldset:hover {
border: #bbb solid 0.2em;
}
legend {
font-size: 1.8em;
font-family: "Lobster", sans-serif;
padding-left: 0.3em;
padding-right: 0.2em;
color: #ace;
/* Slider *
* ====== */
/* ## Slider main element */
text-shadow: -0.125em 0.05em 0 #214893, -0.25em 0.1em 0 #313131;
}
input[type='range'] {
display: block;
margin: 0;
padding: 0;
font-size: inherit;
width: 9.9em;
height: 1em;
border-radius: 0.25em;
border: 0.2em solid #242424;
background-color: #242424;
background-size: 100% 100%;
background-repeat: no-repeat;
overflow: hidden;
cursor: pointer;
transition: box-shadow 0.2s linear;
box-shadow: 0 0 0 0 transparent;
}
input[type='range']:focus {
box-shadow: 0 0 0 0.1em #aaa;
}
input[type='range']:hover {
/* ## Orientation tweak, with [orient] attribute in degrees */
/* > I know it's not standard, but that's the cleaner way I was thinking of. */
box-shadow: 0 0 0 0.15em #6fc5f0;
}
input[type='range'][orient] {
transform: rotate(attr(orient));
}
input[type='range'][orient='90deg'] {
transform: rotate(90deg);
}
input[type='range'][orient='180deg'] {
transform: rotate(180deg);
}
input[type='range'][orient='270deg'] {
/* ### all vertical ranges : */
transform: rotate(270deg);
}
input[type='range'][orient='90deg'],
input[type='range'][orient='270deg'] {
margin: 4.5em -4.5em;
display: inline-block;
}
input[type='range'][orient='90deg']::-webkit-slider-thumb,
input[type='range'][orient='270deg']::-webkit-slider-thumb {
cursor: ns-resize;
}
input[type='range'][orient='90deg']::-moz-range-thumb,
input[type='range'][orient='270deg']::-moz-range-thumb {
cursor: ns-resize;
}
input[type='range'][orient='90deg']::-ms-thumb,
input[type='range'][orient='270deg']::-ms-thumb {
/* ## Slider components */
/* ### Slider::-track */
cursor: ns-resize;
}
input[type='range']::-webkit-slider-runnable-track {
border: none;
background: none;
height: 100%;
width: 100%;
}
input[type='range']::-moz-range-track {
border: none;
background: none;
height: 100%;
width: 100%;
}
input[type='range']::-ms-track {
border: none;
background: none;
height: 100%;
/* ### Slider::-thumb */
width: 100%;
}
input[type='range']::-webkit-slider-thumb {
margin: 0.05em;
padding: 0;
height: 0.9em;
width: 0.9em;
border-radius: 0.1em;
box-sizing: border-box;
border: none;
background-color: #6fc5f0;
box-shadow: -10em 0 0 0 #313131, -9em 0 0 0 #313131, -8em 0 0 0 #2f343f, -7em 0 0 0 #283f6b, -6em 0 0 0 #214893, -5em 0 0 0 #1a52bc, -4em 0 0 0 #2769d3, -3em 0 0 0 #3e87dc, -2em 0 0 0 #55a5e6, -1em 0 0 0 #6fc5f0, 1em 0 0 0 #181818, 2em 0 0 0 #181818, 3em 0 0 0 #181818, 4em 0 0 0 #181818, 5em 0 0 0 #181818, 6em 0 0 0 #181818, 7em 0 0 0 #181818, 8em 0 0 0 #181818, 9em 0 0 0 #181818;
cursor: ew-resize;
}
input[type='range']::-moz-range-thumb {
margin: 0.05em;
padding: 0;
height: 0.9em;
width: 0.9em;
border-radius: 0.1em;
box-sizing: border-box;
border: none;
background-color: #6fc5f0;
box-shadow: -10em 0 0 0 #313131, -9em 0 0 0 #313131, -8em 0 0 0 #2f343f, -7em 0 0 0 #283f6b, -6em 0 0 0 #214893, -5em 0 0 0 #1a52bc, -4em 0 0 0 #2769d3, -3em 0 0 0 #3e87dc, -2em 0 0 0 #55a5e6, -1em 0 0 0 #6fc5f0, 1em 0 0 0 #181818, 2em 0 0 0 #181818, 3em 0 0 0 #181818, 4em 0 0 0 #181818, 5em 0 0 0 #181818, 6em 0 0 0 #181818, 7em 0 0 0 #181818, 8em 0 0 0 #181818, 9em 0 0 0 #181818;
cursor: ew-resize;
}
input[type='range']::-ms-thumb {
margin: 0.05em;
padding: 0;
height: 0.9em;
width: 0.9em;
border-radius: 0.1em;
box-sizing: border-box;
border: none;
background-color: #6fc5f0;
box-shadow: -10em 0 0 0 #313131, -9em 0 0 0 #313131, -8em 0 0 0 #2f343f, -7em 0 0 0 #283f6b, -6em 0 0 0 #214893, -5em 0 0 0 #1a52bc, -4em 0 0 0 #2769d3, -3em 0 0 0 #3e87dc, -2em 0 0 0 #55a5e6, -1em 0 0 0 #6fc5f0, 1em 0 0 0 #181818, 2em 0 0 0 #181818, 3em 0 0 0 #181818, 4em 0 0 0 #181818, 5em 0 0 0 #181818, 6em 0 0 0 #181818, 7em 0 0 0 #181818, 8em 0 0 0 #181818, 9em 0 0 0 #181818;
/* ## Browser tweaks */
/* ### webkit */
cursor: ew-resize;
}
input[type='range'],
input[type='range']::-webkit-slider-runnable-track,
input[type='range']::-webkit-slider-thumb {
/* ### IE */
-webkit-appearance: none;
}
input[type='range']::-ms-track {
color: transparent;
}
input[type='range']::-ms-fill-lower,
input[type='range']::-ms-fill-upper,
input[type='range']::-ms-tooltip {
/* Label *
* ====== */
/* ## Label main element */
display: none;
}
label[type='range'] {
display: block;
position: relative;
margin: 0;
padding: 0;
font-size: inherit;
line-height: 0.6em;
width: 9.9em;
height: 1em;
border-radius: 0.25em;
color: #242424;
font-family: arial;
border: 0.2em solid transparent;
text-align: center;
border-bottom-color: #242424;
background-image: linear-gradient(#242424 calc(50% - .1em), #242424 calc(50% + .1em));
background-position: bottom center;
background-repeat: no-repeat;
background-size: 0.2em 0.2em;
color: #999;
}
label[type='range']:first-letter {
font-size: 0.6em;
}
label[type='range']::before,
label[type='range']::after {
display: block;
position: absolute;
height: 1em;
line-height: 1em;
width: 1em;
}
label[type='range']::before {
content: attr(before);
left: -0.2em;
text-align: left;
}
label[type='range']::after {
content: attr(after);
top: 0;
right: -0.2em;
text-align: right;
}
label[type='range'][orient='90deg'],
label[type='range'][orient='270deg'] {
border-bottom-color: transparent;
display: inline-block;
width: 1em;
height: 10.1em;
line-height: 10.1em;
vertical-align: top;
}
label[type='range'][orient='90deg'] {
border-bottom-color: transparent;
border-left-color: #242424;
background-position: center left;
text-align: center;
}
label[type='range'][orient='90deg']::before {
top: -0.2em;
bottom: auto;
left: 0.1em;
}
label[type='range'][orient='90deg']::after {
left: 0.1em;
top: auto;
bottom: -0.2em;
right: 0;
text-align: left;
}
label[type='range'][orient='180deg'] {
border-bottom-color: transparent;
border-top-color: #242424;
background-position: top center;
line-height: 1.4em;
}
label[type='range'][orient='180deg']::before {
bottom: 0;
left: auto;
right: -0.2em;
text-align: right;
}
label[type='range'][orient='180deg']::after {
bottom: 0;
left: -0.2em;
right: auto;
text-align: left;
}
label[type='range'][orient='270deg'] {
border-bottom-color: transparent;
border-right-color: #242424;
background-position: center right;
text-align: center;
}
label[type='range'][orient='270deg']::before {
bottom: -0.2em;
top: auto;
right: 0.1em;
left: auto;
text-align: right;
}
label[type='range'][orient='270deg']::after {
right: 0.1em;
bottom: auto;
top: -0.2em;
left: auto;
text-align: right;
}