UNPKG

gmx.css

Version:

A micro Material Design 3 based CSS-only framework.

84 lines (74 loc) 1.82 kB
.checkbox, .radio { display: inline-block; position: relative; } .checkbox:not(:last-child), .radio:not(:last-child) { margin-right: .75rem; } .checkbox input, .radio input { appearance: none; width: 2.25rem; height: 2.25rem; position: absolute; margin: -.35rem -.45rem; border-radius: var(--m3-util-rounding-full); background: transparent; transition: .1s; } .radio input { margin: -.375rem -.5rem; } .checkbox:hover input, .radio:hover input { background: rgb(from var(--m3-scheme-primary) r g b / 10%); } .checkbox span, .radio span { position: relative; cursor: pointer; padding: 0 .115rem; } .checkbox span:before, .radio span::before { content: ''; appearance: none; background: transparent; border: .15rem solid currentColor; border-radius: var(--m3-checkbox-shape); padding: .45rem; display: inline-block; position: relative; vertical-align: middle; cursor: pointer; margin-right: .5rem; } .checkbox input:checked+span:before, .radio input:checked+span:before { background: var(--m3-scheme-primary); border-color: var(--m3-scheme-primary); } .checkbox input:checked+span:after { content: ''; display: block; position: absolute; top: .3rem; left: .5rem; width: 4.75px; height: .7rem; border: solid #ffffff; border-width: 0 .1em .1em 0; transform: rotate(45deg); } .radio span::before { border-radius: var(--m3-radio-shape); padding: .3rem; border: 4px solid transparent; outline: .15rem solid currentColor; } .radio input:checked+span:before { border-color: var(--m3-scheme-surface-container); outline-color: var(--m3-scheme-primary); }