cssOMS/input.scss

192 lines
3.6 KiB
SCSS

@import "_mixins", "_vars";
input, select, textarea, .textarea {
border: $input-border solid $input-border-color;
}
progress {
height: 20px;
width: 100%;
min-width: 150px;
}
.textarea,
.tag-input,
textarea,
select,
input[type="password"],
input[type="text"],
input[type="datetime"],
input[type="email"],
input[type="date"],
input[type="number"],
input[type="datetime-local"] {
@include box-sizing(border-box);
color: $input-color;
background: $input-background;
width: 100%;
height: 2rem;
min-width: 70px;
max-width: 100%;
padding: 7px;
font-size: $input-font-size;
border: $input-border solid $input-border-color;
transition: background 0.3s, border 0.3s;
box-shadow: inset 1px 1px 4px -2px #c5c5c5;
&:focus, .active {
border-color: $default-highlighter;
}
&:disabled {
background: #efefef;
}
}
input ~ .dropdown {
position: absolute;
display: none;
z-index: 3;
}
input:focus ~ .dropdown, input ~ .dropdown.active {
display: inline-block;
}
select {
cursor: pointer;
padding: 0 7px 0 7px; /* overwrites input padding: 7px. don't know why i have to do this! */
}
option {
line-height: 1rem;
}
input[type="file"] {
border: solid $input-font-size $input-background;
width: 100%;
max-width: 100%;
color: $input-color;
padding: 10px;
@include box-sizing(border-box);
}
input::placeholder {
color: $input-placeholder-color;
opacity: 0.5;
}
input::placeholder, textarea {
font-family: 'FontAwesome', serif;
}
input:invalid {
transition: all 0.5s;
border-color: $input-invalid-border-color;
}
textarea, .textarea {
overflow: auto;
resize: both;
min-height: 100px;
@include box-sizing(border-box);
}
span.checkbox, span.radio {
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
label {
cursor: pointer;
}
}
span.checkbox input[type="checkbox"], span.radio input[type="radio"] {
position: relative;
vertical-align: middle;
bottom: 1px;
margin-right: 5px;
cursor: pointer;
}
input[type="range"] {
border: none;
width: 100%;
min-width: 150px;
cursor: pointer;
}
.input {
width: 100%;
min-width: 120px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
button {
@include box-sizing(border-box);
display: inline-block;
background: $input-background;
height: 2rem;
font-size: $input-font-size;
min-width: 40px;
border-left: solid $input-border $input-border-color;
border-top: solid $input-border $input-border-color;
border-bottom: solid $input-border $input-border-color;
border-right: none;
padding: 0;
position: relative;
vertical-align: middle;
flex-grow: 0;
flex-shrink: 0;
&:hover {
background: $input-background;
}
}
i {
position: relative;
vertical-align: middle;
}
input {
@include box-sizing(border-box);
font-size: $input-font-size;
position: relative;
vertical-align: middle;
flex-grow: 1;
flex-shrink: 1;
}
}
select.plain {
width: auto;
margin: 0;
padding: 0;
border: none;
outline: none;
display: inline-block;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor: pointer;
box-shadow: none;
}
.tag-input {
input {
border: none;
padding: 0;
margin: 0;
}
.tag {
padding: 3px;
font-size: 0.8rem;
}
}