亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

input[type="radio"]自定義樣式

標簽:
Html/CSS

input为radio时,虽然会有默认选中的样式,但是并不符合大多数项目的需求,我们的目标是可以随心所欲自定义它的样式。怎么做呢?其实很简单,只要抓住3点。分别是1.label 2.隐藏自带样式 3.绘制我们的样式。
首先,我们准备了一个简单的选中样式,看图:

https://img1.sycdn.imooc.com//5b38e9af0001396400610061.jpg

下面我们看看怎么实现

1.label

我们都知道,label可以和input关联,达到点击label就触发input的效果。
既然这样,我们就要充分的利用它。

<label for="cat" class="radio-box">
    <input type="radio" name="group" id="cat">
    <span class="radio-style">猫</span>
</label>
<label for="dog" class="radio-box">
    <input type="radio" name="group" id="dog">
    <span class="radio-style">狗</span>
</label>

看看这个简单的结构,label里面包了一个input和span,可以想象,我们的效果就是点击label触发input
我们看一下效果

https://img1.sycdn.imooc.com//5b38e9b7000155cd00650058.jpg

2.隐藏自带样式

如何隐藏自带样式呢?方法很多,这里提供一种常用的写法

input[type="radio"] {    opacity: 0;    width: 0;    height: 0;
}

这样我们就看不到input自带的丑陋选择框了,再看一下效果,oh,yeah!消失了。

https://img1.sycdn.imooc.com//5b38e9c200011a0d00520052.jpg

3.绘制自己的样式

利用span标签绘制自己的样式

.radio-style::before {    display: inline-block;    width: 18px;    height: 18px;    border-radius: 50%;    border: 1px solid #d9d9d9;    -webkit-box-sizing: border-box;    box-sizing: border-box;    content: "";
}input[type="radio"]:checked + .radio-style::before {    padding: 4px;    background-color: blue;    background-clip: content-box;    border-color: blue;
}

我们利用伪元素,给它绘制一个圆圈,然后在选中状态的时候,在改变它的样式,从而达到第一张图的效果。
以下是所有代码的地址,欢迎查看

input-radio

当然以上是最简单自定义样式,我们还可以把它绘制成按钮的形式,甚至是用图片代替它。虽然这样更加繁琐,但是万变不离其宗,只要掌握上面3点,你就可以随心所欲修改它的样式啦。

原文出处

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消