当我将CSS边框应用到切换开关时,如何修复这种锯齿状边框?

时间:2017-06-09 15:38:27

标签: html css

我有这个切换开关,我想把它带进我的网站。

https://jsfiddle.net/njxfnfoa/

<div class="switch-container">
    <label class="switch">
        <input type="checkbox">
        <div class="slider round"></div>
    </label>
</div>

CSS很长,所以我只是把它保存在JSFiddle中。

然而,你可以看到它看起来很不稳定。 PDF设计我的工作看起来像这样。

toggle switch

我怎样才能更好地复制这个光滑的边界?

2 个答案:

答案 0 :(得分:1)

使用border: 1px solid rgba(211,211,211, .8);,这样您就可以控制边框不透明度(此处为0.8

&#13;
&#13;
.switch-container{
    position:relative;
}

.switch {
    position: relative;
    display: inline-block;
    width: 65px;
    height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
    display: none;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
    border: 1px solid rgba(211,211,211, .8);
}

.slider:before {
    position: absolute;
    content: "";
    height: 32px;
    width: 32px;
    left: 0px;
    background-color: #73c82b;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: white;
}

input:focus + .slider {
    box-shadow: 0 0 1px white;
}

input:checked + .slider:before {
    -webkit-transform: translateX(31px);
    -ms-transform: translateX(31px);
    transform: translateX(31px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}
&#13;
<div class="switch-container">
                            <label class="switch">
                                <input type="checkbox">
                                <div class="slider round"></div>
                            </label>
                        </div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你只需要在

中微调css
.slider:before 

一点点:js fiddle