159 lines
3.1 KiB
CSS
159 lines
3.1 KiB
CSS
/* Forms
|
|
/* ---------------------------------------------------------- */
|
|
|
|
form {
|
|
margin: 0 0 var(--margin) 0;
|
|
}
|
|
|
|
fieldset {
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
}
|
|
|
|
label {
|
|
color: var(--color-primary);
|
|
play: block;
|
|
font-size: 0.9em;
|
|
font-weight: var(--font-bold);
|
|
margin: 0 0 (var(--margin) * 0.5) 0;
|
|
}
|
|
|
|
input[type="text"],
|
|
input[type="password"],
|
|
input[type="email"],
|
|
input[type="tel"],
|
|
input[type="search"],
|
|
input[type="url"],
|
|
select,
|
|
textarea {
|
|
background: var(--color-bg);
|
|
border-radius: var(--radius);
|
|
border: none;
|
|
border: solid 1px var(--color-border);
|
|
color: inherit;
|
|
display: block;
|
|
outline: 0;
|
|
padding: 0 0.6em;
|
|
text-decoration: none;
|
|
width: 100%;
|
|
}
|
|
|
|
input[type="text"]:invalid,
|
|
input[type="password"]:invalid,
|
|
input[type="email"]:invalid,
|
|
input[type="tel"]:invalid,
|
|
input[type="search"]:invalid,
|
|
input[type="url"]:invalid,
|
|
select:invalid,
|
|
textarea:invalid {
|
|
box-shadow: none;
|
|
}
|
|
|
|
input[type="text"]:focus,
|
|
input[type="password"]:focus,
|
|
input[type="email"]:focus,
|
|
input[type="tel"]:focus,
|
|
input[type="search"]:focus,
|
|
input[type="url"]:focus,
|
|
select:focus,
|
|
textarea:focus {
|
|
border-color: var(--color-primary);
|
|
box-shadow: 0 0 0 1px var(--color-primary);
|
|
}
|
|
|
|
select {
|
|
height: var(--height);
|
|
padding-right: var(--height);
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
select option {
|
|
color: var(--color-primary);
|
|
background: var(--color-bg);
|
|
}
|
|
|
|
select:focus::-ms-value {
|
|
background-color: transparent;
|
|
}
|
|
|
|
select::-ms-expand {
|
|
display: none;
|
|
}
|
|
|
|
|
|
input[type="text"],
|
|
input[type="password"],
|
|
input[type="email"],
|
|
input[type="tel"],
|
|
input[type="search"],
|
|
input[type="url"],
|
|
select {
|
|
height: var(--height);
|
|
}
|
|
|
|
textarea {
|
|
padding: 0.3em 0.6em;
|
|
resize: vertical;
|
|
}
|
|
|
|
input[type="checkbox"],
|
|
input[type="radio"] {
|
|
display: block;
|
|
margin-right: -2em;
|
|
opacity: 0;
|
|
width: 1em;
|
|
z-index: -1;
|
|
}
|
|
|
|
input[type="checkbox"] + label,
|
|
input[type="radio"] + label {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--color-base);
|
|
cursor: pointer;
|
|
font-size: 1em;
|
|
font-weight: var(--font-normal);
|
|
padding-left: calc(var(--height) * 0.6) + 0.75em;
|
|
padding-right: 2rem;
|
|
position: relative;
|
|
user-select: none;
|
|
}
|
|
|
|
input[type="checkbox"] + label:before,
|
|
input[type="radio"] + label:before {
|
|
background: var(--color-bg);
|
|
border-radius: var(--radius);
|
|
border: solid 1px var(--color-border);
|
|
content: '';
|
|
display: inline-block;
|
|
height: calc(var(--height) * 0.6);
|
|
line-height: calc(var(--height) * 0.56);
|
|
text-align: center;
|
|
width: calc(var(--height) * 0.6);
|
|
margin-right: 1rem;
|
|
}
|
|
|
|
input[type="checkbox"]:checked + label:before,
|
|
input[type="radio"]:checked + label:before {
|
|
background: var(--color-primary);
|
|
border-color: var(--color-primary);
|
|
color: var(--color-bg);
|
|
content: '✓';
|
|
}
|
|
|
|
input[type="checkbox"]:focus + label:before,
|
|
input[type="radio"]:focus + label:before {
|
|
border-color: var(--color-primary);
|
|
box-shadow: 0 0 0 1px var(--color-primary);
|
|
}
|
|
|
|
|
|
input[type="checkbox"] + label:before {
|
|
border-radius: var(--radius);
|
|
}
|
|
|
|
input[type="radio"] + label:before {
|
|
border-radius: 100%;
|
|
}
|