UNPKG

gmx.css

Version:

A micro Material Design 3 based CSS-only framework.

72 lines (60 loc) 1.57 kB
.field { position: relative; } .field:not(:last-child, :is(nav, .row) .field, .grid>.field) { margin-bottom: 1rem; } .field :is(input, textarea) { display: block; border: none; outline: none; min-width: 15.5rem; border-bottom: 1px solid var(--m3-scheme-outline); background: var(--m3-scheme-surface-container-highest); border-radius: var(--m3-textfield-filled-shape) var(--m3-textfield-filled-shape) 0 0; box-sizing: border-box; font: inherit; padding: 1.5rem 1rem .5rem; transition: all 0.15s ease-out; } .field :is(input, textarea):hover { background: rgb(from var(--m3-scheme-on-surface) r g b / 15%); } .field label { position: absolute; top: 1rem; bottom: 0; left: 1rem; display: flex; align-items: self-start; pointer-events: none; } .field label span { transition: all 0.15s ease-out; } .field :is(input, textarea):focus { outline: none; border-bottom: 2px solid var(--m3-scheme-primary); } .field :is(input, textarea):focus+label span, .field :not(:is(input, textarea):placeholder-shown)+label span { font-size: .75rem; transform: translate(0, -50%); } .field :is(input, textarea):focus+label span { color: var(--m3-scheme-primary); } .field:has(i) :is(input, textarea) { padding: 1.5rem 1rem .5rem 2.85rem; } .field:has(i) label { left: 2.85rem; } .field i { position: absolute; pointer-events: none; left: .65rem; } .field i * { font-size: 1.5rem; }