Skip to content

Commit d3a2947

Browse files
committed
styling radio button
1 parent 6cec269 commit d3a2947

2 files changed

Lines changed: 64 additions & 53 deletions

File tree

css/style.css

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -266,57 +266,58 @@ footer,P{
266266

267267

268268
/* custom radio button */
269-
270-
271-
[type="radio"]:checked,
272-
[type="radio"]:not(:checked) {
273-
position: absolute;
274-
left: -9999px;
269+
:root {
270+
--form-control-color: #E0633A;;
275271
}
276-
[type="radio"]:checked + label,
277-
[type="radio"]:not(:checked) + label
278-
{
279-
position: relative;
280-
padding-left: 28px;
281-
cursor: pointer;
282-
line-height: 20px;
283-
display: inline-block;
284-
272+
.radio-btn-grid{
273+
display: grid;
274+
grid-template-areas: "k s";
285275
}
286-
[type="radio"]:checked + label:before,
287-
[type="radio"]:not(:checked) + label:before {
288-
content: '';
289-
position: absolute;
290-
left: 0;
291-
top: 0;
292-
width: 18px;
293-
height: 18px;
294-
border: 1px solid #ddd;
295-
border-radius: 100%;
276+
277+
.form-control1 {
278+
font-family: system-ui, sans-serif;
279+
font-size: 10px;
280+
line-height: 1.1;
281+
display: grid;
282+
grid-template-columns: 1fr auto;
283+
gap: 1em;
296284
}
297-
[type="radio"]:checked + label:after,
298-
[type="radio"]:not(:checked) + label:after {
299-
content: '';
300-
width: 12px;
301-
height: 12px;
302-
background:#E0633A;
303-
position: absolute;
304-
top: 4px;
305-
left: 4px;
306-
border-radius: 100%;
307-
-webkit-transition: all 0.2s ease;
308-
transition: all 0.2s ease;
285+
input[type="radio"] {
286+
/* Add if not using autoprefixer */
287+
-webkit-appearance: none;
288+
/* Remove most all native input styles */
289+
appearance: none;
290+
/* For iOS < 15 */
291+
background-color: var(--form-background);
292+
/* Not removed via appearance */
293+
margin: 0;
294+
295+
font: inherit;
296+
color: currentColor;
297+
width: 1.15em;
298+
height: 1.15em;
299+
border: 0.15em solid currentColor;
300+
border-radius: 50%;
301+
transform: translateY(-0.075em);
302+
303+
display: grid;
304+
place-content: center;
309305
}
310-
[type="radio"]:not(:checked) + label:after {
311-
opacity: 0;
312-
-webkit-transform: scale(0);
313-
transform: scale(0);
306+
input[type="radio"]::before {
307+
content: "";
308+
width: 0.65em;
309+
height: 0.65em;
310+
border-radius: 50%;
311+
transform: scale(0);
312+
transition: 120ms transform ease-in-out;
313+
box-shadow: inset 1em 1em var(--form-control-color);
314+
/* Windows High Contrast Mode */
315+
background-color: #E0633A;;
314316
}
315-
[type="radio"]:checked + label:after {
316-
opacity: 1;
317-
-webkit-transform: scale(1);
318-
transform: scale(1);
317+
input[type="radio"]:checked::before {
318+
transform: scale(1);
319319
}
320+
320321
/* custom style for checkbox */
321322

322323
.form-control {

store.html

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,33 @@ <h2> Order your Karma wifi
8080
</fieldset>
8181
</div>
8282

83-
<div class="form-group colour">
83+
<div class="form-group colour ">
8484
<fieldset>
8585
<legend> Select a colour </legend>
86+
<section class="radio-btn-grid">
8687

87-
<input id="karmaorange" type="radio" name="radio-group" checked value="" />
88-
<label for="karmaorange">Karma Orange</label>
8988

90-
<input id="spacegrey" type="radio" name="size" value="" />
91-
<label for="spacegrey">Space Grey</label>
89+
<label for="karmaorange" class="form-control1">
90+
91+
<input id="karmaorange" type="radio" name="radio-group" checked />
92+
Karma Orange
93+
</label>
94+
95+
<label for="spacegrey" class="form-control1">
96+
<input id="spacegrey" type="radio" name="size" />
97+
98+
Space Grey
99+
</label>
100+
</section>
92101
</fieldset>
93102
</div>
94103

95104
<div class="form-group agreement">
96-
97-
<label class="form-control" for="agreemnet1"><input id="agreemnet1" type="checkbox" name="checkbox" required /> By placing your order you agree to karma's Terms and
105+
106+
<label class="form-control" for="agreemnet1"><input id="agreemnet1" type="checkbox" name="checkbox"
107+
required /> By placing your order you agree to karma's Terms and
98108
conditions *
99-
109+
100110
</label>
101111

102112
</div>

0 commit comments

Comments
 (0)