mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-10-31 06:08:33 +00:00 
			
		
		
		
	
		
			
	
	
		
			54 lines
		
	
	
		
			1012 B
		
	
	
	
		
			SCSS
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1012 B
		
	
	
	
		
			SCSS
		
	
	
	
	
	
|   | .radio-wrapper { | ||
|  |   & + & { | ||
|  |     margin-top: 0.25rem; | ||
|  |   } | ||
|  | 
 | ||
|  |   [type='radio'] { | ||
|  |     opacity: 0; | ||
|  |     position: absolute; | ||
|  |   } | ||
|  | 
 | ||
|  |   & label { | ||
|  |     --inner-size: 0.25rem; | ||
|  |     --outer-top: 0.33rem; | ||
|  |     line-height: 1; | ||
|  | 
 | ||
|  |     padding-left: 1.55rem; | ||
|  |     position: relative; | ||
|  | 
 | ||
|  |     &::after, | ||
|  |     &::before { | ||
|  |       border-radius: 50%; | ||
|  |       content: ''; | ||
|  |       display: block; | ||
|  |       position: absolute; | ||
|  |     } | ||
|  | 
 | ||
|  |     &::after { | ||
|  |       border: var(--inner-size) solid var(--clr-foreground); | ||
|  |       left: var(--inner-size); | ||
|  |       opacity: 0; | ||
|  |       top: calc(var(--inner-size) + var(--outer-top)); | ||
|  |       transition: opacity 0.12s ease-out; | ||
|  |     } | ||
|  | 
 | ||
|  |     &::before { | ||
|  |       background: var(--clr-background); | ||
|  |       border: 0.125rem solid var(--clr-foreground); | ||
|  |       height: 1rem; | ||
|  |       left: 0; | ||
|  |       top: var(--outer-top); | ||
|  |       width: 1rem; | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   [type='radio']:focus + label::before { | ||
|  |     outline: 0.125rem solid var(--clr-foreground); | ||
|  |     outline-offset: 0.125rem; | ||
|  |   } | ||
|  | 
 | ||
|  |   [type='radio']:checked + label::after { | ||
|  |     opacity: 1; | ||
|  |   } | ||
|  | } |