From 72ccfcc4aa30a637faf1c7da0d294329f01e34f7 Mon Sep 17 00:00:00 2001 From: Dylan Bolger Date: Wed, 21 Mar 2018 12:34:37 -0500 Subject: working on web --- assets/sass/components/_form.scss | 275 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 assets/sass/components/_form.scss (limited to 'assets/sass/components/_form.scss') diff --git a/assets/sass/components/_form.scss b/assets/sass/components/_form.scss new file mode 100644 index 0000000..9ff5ab2 --- /dev/null +++ b/assets/sass/components/_form.scss @@ -0,0 +1,275 @@ +/// +/// Ethereal by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Form */ + + $gutter: (_size(element-margin) * 1); + + form { + + @include vendor('display', 'flex'); + @include vendor('flex-wrap', 'wrap'); + width: calc(100% + #{$gutter * 2}); + margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1); + + > .field { + @include vendor('flex-grow', '0'); + @include vendor('flex-shrink', '0'); + padding: $gutter 0 0 $gutter; + width: calc(100% - #{$gutter * 1}); + + &.half { + width: calc(50% - #{$gutter * 0.5}); + } + + &.third { + width: calc(#{100% / 3} - #{$gutter * (1 / 3)}); + } + + &.quarter { + width: calc(25% - #{$gutter * 0.25}); + } + } + + > .actions { + @include vendor('flex-grow', '0'); + @include vendor('flex-shrink', '1'); + margin: $gutter 0 0 $gutter; + } + } + + label { + color: _palette(fg-bold); + display: block; + font-family: _font(family-heading); + font-size: 0.8rem; + font-weight: _font(weight-heading); + margin: 0 0 (_size(element-margin) * 0.325) 0; + } + + input[type="text"], + input[type="password"], + input[type="email"], + input[type="tel"], + select, + textarea { + @include vendor('appearance', 'none'); + background: transparent; + border: solid 2px _palette(border); + border-radius: _size(border-radius); + color: inherit; + display: block; + outline: 0; + padding: 0 0.75rem; + text-decoration: none; + width: 100%; + + &:invalid { + box-shadow: none; + } + + &:focus { + border-color: _palette(accent3); + } + } + + option { + background-color: _palette(fg-bold); + color: _palette(bg); + } + + .select-wrapper { + @include icon; + display: block; + position: relative; + + &:before { + display: block; + content: '\f107'; + position: absolute; + top: 0; + right: 0; + width: _size(element-height); + height: _size(element-height); + line-height: _size(element-height); + color: _palette(fg); + pointer-events: none; + text-align: center; + + body.is-ie & { + line-height: 2.5; + } + } + + select::-ms-expand { + display: none; + } + } + + input[type="text"], + input[type="password"], + input[type="email"], + select { + height: _size(element-height); + } + + textarea { + padding: 0.75rem 1rem; + } + + input[type="checkbox"], + input[type="radio"], { + @include vendor('appearance', 'none'); + display: block; + float: left; + margin-right: -2rem; + opacity: 0; + width: 1rem; + z-index: -1; + + & + label { + @include icon; + position: relative; + color: _palette(fg); + cursor: pointer; + display: inline-block; + font-size: 1rem; + font-weight: _font(weight); + margin-bottom: 0; + padding-left: (_size(element-height) * 0.6) + 1rem; + padding-right: 1rem; + + &:before { + content: ''; + display: inline-block; + position: absolute; + top: 0; + left: 0; + width: (_size(element-height) * 0.6); + height: (_size(element-height) * 0.6); + line-height: (_size(element-height) * 0.575); + background: _palette(border-bg); + border: solid 1px _palette(border); + border-radius: _size(border-radius); + color: _palette(bg); + text-align: center; + + body.is-ie & { + line-height: 1.5; + } + } + } + + &:checked + label { + &:before { + content: '\f00c'; + background: _palette(fg-bold); + border-color: _palette(fg-bold); + } + } + + &:focus + label { + &:before { + border-color: _palette(accent3); + box-shadow: 0 0 0 1px _palette(accent3); + } + } + + &:focus:checked + label { + &:before { + background: _palette(accent3); + } + } + + &.color1 { + & + label { + &:before { + color: _palette(accent1); + } + } + } + + &.color2 { + & + label { + &:before { + color: _palette(accent2); + } + } + } + + &.color3 { + & + label { + &:before { + color: _palette(accent3); + } + } + } + + &.color4 { + & + label { + &:before { + color: _palette(accent4); + } + } + } + } + + input[type="checkbox"] { + & + label { + &:before { + border-radius: _size(border-radius); + } + } + } + + input[type="radio"] { + & + label { + &:before { + border-radius: 100%; + } + } + } + + ::-webkit-input-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + :-moz-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + ::-moz-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + :-ms-input-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + .formerize-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + @include breakpoint(small) { + form { + margin: ($gutter * -1) 0 _size(element-margin) 0; + width: 100%; + + > .field { + padding: $gutter 0 0 0; + width: 100% !important; + } + + > .actions { + margin: $gutter 0 0 0; + } + } + } \ No newline at end of file -- cgit v1.2.3