X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=assets%2Fmain%2Fsass%2Fcomponents%2F_form.scss;fp=assets%2Fmain%2Fsass%2Fcomponents%2F_form.scss;h=059f945553896894d1804d41c393c41baabb70a4;hb=283508bd265ef3430abc21e0599313c250e57942;hp=60f1086ccdf558547954b8c9450e1d275b89ad81;hpb=8af2079e4b096e77ba2f922d6a18224ce01cb7bd;p=editorial.git diff --git a/assets/main/sass/components/_form.scss b/assets/main/sass/components/_form.scss index 60f1086..059f945 100644 --- a/assets/main/sass/components/_form.scss +++ b/assets/main/sass/components/_form.scss @@ -1,5 +1,5 @@ /// -/// Massively by HTML5 UP +/// Editorial by HTML5 UP /// html5up.net | @ajlkn /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) /// @@ -8,110 +8,60 @@ form { margin: 0 0 _size(element-margin) 0; - - > :last-child { - margin-bottom: 0; - } - - > .fields { - $gutter: (_size(element-margin) * 0.75); - - @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}); - } - } - } - - @include breakpoint('<=xsmall') { - > .fields { - $gutter: (_size(element-margin) * 0.75); - - width: calc(100% + #{$gutter * 2}); - margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1); - - > .field { - padding: $gutter 0 0 $gutter; - width: calc(100% - #{$gutter * 1}); - - &.half { - width: calc(100% - #{$gutter * 1}); - } - - &.third { - width: calc(100% - #{$gutter * 1}); - } - - &.quarter { - width: calc(100% - #{$gutter * 1}); - } - } - } - } } label { + color: _palette(fg-bold); display: block; - font-family: _font(family-heading); - font-weight: _font(weight-heading); - line-height: 1.5; - letter-spacing: 0.075em; - font-size: 0.8rem; - text-transform: uppercase; - margin: 0 0 (_size(element-margin) * 0.375) 0; - - @include breakpoint('<=medium') { - font-size: 0.9rem; - } + font-size: 0.9em; + font-weight: _font(weight-bold); + margin: 0 0 (_size(element-margin) * 0.5) 0; } input[type="text"], input[type="password"], input[type="email"], + input[type="tel"], + input[type="search"], + input[type="url"], select, textarea { @include vendor('appearance', 'none'); - background: transparent; - border-radius: 0; - border: solid 2px; + background: _palette(bg); + border-radius: _size(border-radius); + border: none; + border: solid 1px _palette(border); color: inherit; display: block; outline: 0; - padding: 0 1rem; + padding: 0 1em; text-decoration: none; width: 100%; &:invalid { box-shadow: none; } + + &:focus { + border-color: _palette(accent); + box-shadow: 0 0 0 1px _palette(accent); + } } select { - background-size: 1.25rem; + background-image: svg-url(""); + background-size: 1.25em; background-repeat: no-repeat; - background-position: calc(100% - 1rem) center; + background-position: calc(100% - 1em) center; height: _size(element-height); padding-right: _size(element-height); text-overflow: ellipsis; + option { + color: _palette(fg-bold); + background: _palette(bg); + } + &:focus { &::-ms-value { background-color: transparent; @@ -126,12 +76,15 @@ input[type="text"], input[type="password"], input[type="email"], + input[type="tel"], + input[type="search"], + input[type="url"], select { height: _size(element-height); } textarea { - padding: 0.75rem 1rem; + padding: 0.75em 1em; } input[type="checkbox"], @@ -139,27 +92,26 @@ @include vendor('appearance', 'none'); display: block; float: left; - margin-right: -2rem; + margin-right: -2em; opacity: 0; - width: 1rem; + width: 1em; z-index: -1; & + label { @include icon; + color: _palette(fg); cursor: pointer; display: inline-block; - font-size: 1rem; - letter-spacing: 0; - font-family: _font(family); - text-transform: none; + font-size: 1em; font-weight: _font(weight); - padding-left: (_size(element-height) * 0.6) + 1rem; - padding-right: 1rem; + padding-left: (_size(element-height) * 0.6) + 0.75em; + padding-right: 0.75em; position: relative; &:before { - border-radius: 0; - border: solid 2px; + background: _palette(bg); + border-radius: _size(border-radius); + border: solid 1px _palette(border); content: ''; display: inline-block; height: (_size(element-height) * 0.6); @@ -167,22 +119,32 @@ line-height: (_size(element-height) * 0.575); position: absolute; text-align: center; - top: -0.125rem; + top: 0; width: (_size(element-height) * 0.6); } } &:checked + label { &:before { + background: _palette(fg-bold); + border-color: _palette(fg-bold); + color: _palette(bg); content: '\f00c'; } } + + &:focus + label { + &:before { + border-color: _palette(accent); + box-shadow: 0 0 0 1px _palette(accent); + } + } } input[type="checkbox"] { & + label { &:before { - border-radius: 0; + border-radius: _size(border-radius); } } } @@ -196,97 +158,21 @@ } ::-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; - } - - @mixin color-form($p: null) { - label { - color: _palette($p, fg-bold); - } - - input[type="text"], - input[type="password"], - input[type="email"], - select, - textarea { - border-color: _palette($p, border); - - &:focus { - border-color: _palette($p, accent); - } - } - - select { - background-image: svg-url(""); - - option { - background-color: _palette($p, bg); - color: _palette($p, fg); - } - } - - .select-wrapper { - &:before { - color: _palette($p, border); - } - } - - input[type="checkbox"], - input[type="radio"], { - & + label { - color: _palette($p, fg); - - &:before { - border-color: _palette($p, border); - } - } - - &:checked + label { - &:before { - background-color: _palette($p, fg-bold); - border-color: _palette($p, fg-bold); - color: _palette($p, bg); - } - } - - &:focus + label { - &:before { - border-color: _palette($p, accent); - } - } - } - - ::-webkit-input-placeholder { - color: _palette($p, fg-light) !important; - } - - :-moz-placeholder { - color: _palette($p, fg-light) !important; - } - - ::-moz-placeholder { - color: _palette($p, fg-light) !important; - } - - :-ms-input-placeholder { - color: _palette($p, fg-light) !important; - } - - .formerize-placeholder { - color: _palette($p, fg-light) !important; - } - } - - @include color-form; \ No newline at end of file + } \ No newline at end of file