Home >Web Front-end >CSS Tutorial >How to use CSS3 to beautify radio, checkbox and switch buttons

How to use CSS3 to beautify radio, checkbox and switch buttons

云罗郡主
云罗郡主forward
2018-11-27 16:11:003468browse

The content of this article is about how to use CSS3 to beautify the radio, checkbox and switch buttons. It has certain reference value. Friends in need can refer to it. I hope it will be useful to you. Helps.

Many times we need to beautify the radio and checkbox because the native style is ugly and the performance is not uniform. Before CSS3, js was generally used for simulation, but now pure CSS can be used to beautify the radio and checkbox. For the mobile terminal, I have written related simulation styles very early: a checkbox suitable for the mobile terminal and a switch button implemented in css3. These two articles only support mobile pages, and webkit also supports single-tagged input elements using pseudo-classes (:before or:after). I recently worked on a PC-side project, taking into account the compatibility with more PC browsers, so I made some improvements on this basis.

Let’s take a look at the effect first:

How to use CSS3 to beautify radio, checkbox and switch buttons

Let’s take a look at the HTML structure:

html Code:

<label class="bui-radios-label bui-radios-anim">
<input type="radio" name="sex"/><i class="bui-radios"></i> 男
</label>

This The structure has a label label, which contains input elements and i elements. The basic principle is: first use visibility: hidden; opacity: 0; to "hide" the input element, and use the characteristics of the label tag to select or uncheck the input element when clicked. The i element combines pseudo-classes (:before or :after) to simulate the appearance of radio and checkbox.

Finally take a look at the CSS code:

css code:

/* radio */
label.bui-radios-label input {
position: absolute;
opacity: 0;
visibility: hidden;
}
label.bui-radios-label .bui-radios {
display: inline-block;
position: relative;
width: 13px;
height: 13px;
background: #FFFFFF;
border: 1px solid #979797;
border-radius: 50%;
vertical-align: -2px;
}
label.bui-radios-label input:checked + .bui-radios:after {
position: absolute;
content: "";
width: 7px;
height: 7px;
background-color: #fff;
border-radius: 50%;
top: 3px;
left: 3px;
}
label.bui-radios-label input:checked + .bui-radios {
background: #00B066;
border: 1px solid #00B066;
}
label.bui-radios-label input:disabled + .bui-radios {
background-color: #e8e8e8;
border: solid 1px #979797;
}
label.bui-radios-label input:disabled:checked + .bui-radios:after {
background-color: #c1c1c1;
}
label.bui-radios-label.bui-radios-anim .bui-radios {
-webkit-transition: background-color ease-out .3s;
transition: background-color ease-out .3s;
}

There are a few points to note here:

1. The tick in the checkbox Using iconfont, of course you can change the image, or use pseudo-classes (:before or:after) to simulate.

2. Added some simple transition effects or background animations.

3. A particularly important point is: use the characteristics of the label tag. For students who are not good at HTML, please first understand the characteristics of the label tag.

The above is a complete introduction to how to use CSS3 to beautify the radio, checkbox and switch button. If you want to know more about CSS3 tutorial, please pay attention to PHP Chinese website.


The above is the detailed content of How to use CSS3 to beautify radio, checkbox and switch buttons. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:css88.com. If there is any infringement, please contact admin@php.cn delete