前言:
在表單單選按鈕開發(fā)過程中,我們肯定會感覺原生的radio太丑而且在ios端會出現(xiàn)看不清的原因。我們本著百分之百還原設(shè)計圖的原則需要在radio的基礎(chǔ)上進行修改。接下來就由石家莊網(wǎng)站建設(shè)工程師為大家詳細介紹。
原理:
將label 的for和radio的id 關(guān)聯(lián)到一起,關(guān)聯(lián)到一起就可以到達和radio一樣的效果同時也可以修改css樣式進行美化,(必須關(guān)聯(lián)到一起要不然會出現(xiàn)點擊無效的BUG)這樣式部分就可以做很多事情了,首先需要將他們的父級做相對定位,再將label絕對定位到radio上面,最好再給input設(shè)置成display:none;就可以實現(xiàn)。

實現(xiàn):
首先設(shè)置HTML頁面,剛才我們說到將label 的for和radio的id 關(guān)聯(lián)到一起,我準備采用flex布局所以在最外層添加了一層。其實做到這里其實已經(jīng)實現(xiàn)了就是看不出來效果。

css部分:最外層的容器需要設(shè)置 display:flex;確保子元素在一行 align-items: center; 確保子元素在水平居中(如果有朋友對彈性盒子不了解的話,后面會出一期單獨講彈性盒子的)

外層設(shè)置position: relative;

label 需要設(shè)置 position: absolute;屬性 蓋到 radio的上面做到模擬點擊效果

重點來了!我們需要radio的checked和label的屬性設(shè)置到一起。

這樣我們的效果就出來了,間距和字體字號我在這里就不多贅述了。

總結(jié)重點:
1.將label 的for和radio的id 關(guān)聯(lián)到一起
2.label 需要設(shè)置 position: absolute;屬性 蓋到 radio的上面做到模擬點擊效果
3.我們需要radio的checked和label的屬性設(shè)置到一起
4.自定義修改沒有選中狀態(tài)修改label樣式,選中狀態(tài)同時修改radio checked + label:after
以上關(guān)于input單選按鈕樣式修改均屬石家莊網(wǎng)站建設(shè)工程師的個人觀點,大家如果對此有著不同的見解,可以關(guān)注公眾號“尚武科技派”給我留言,大家可以交流一下自己的心德體會,共同學(xué)習(xí)進步。