css3實現手機效果的“切換標籤”

靜逸發表於2015-05-18

Style樣式

        .toggle {
            position: relative;
            display: inline-block;
            width: 60px;
            height: 30px;
            border: 1px solid #E5E5E5;
            background-color: #fff;
            background-clip: content-box;
            -webkit-border-radius: 30px;
            border-radius: 30px;
        }

            .toggle i {
                position: absolute;
                top: 0;
                left: 0;
                display: inline-block;
                content: "";
                width: 30px;
                height: 30px;
                -webkit-box-shadow: 0 0 2px #bbb;
                background-color: #fff;
                background-clip: content-box;
                -webkit-border-radius: 100%;
                border-radius: 100%;
                -webkit-transition: 300ms linear;
                transition: 300ms linear;
                -webkit-transform: translate3D(0,0,0);
                transform: translate3D(0,0,0);
            }
            .toggle.on {
                border-color: #4089e8;
                background-color: #4089e8;
            }
                .toggle.on i {
                    -webkit-transform: translate3D(30px,0,0);
                    transform: translate3D(30px,0,0);
                }

 

頁面html

<span id="test" class="toggle"><i></i></span>
   

 

Script

    <script type="text/javascript">
        $(function () {
            $("#test").bind("click", function () {
                var target = $(this);
                if (target.hasClass("on")) target.removeClass("on");
                else target.addClass("on");
            });
        });
        
    </script>

 

分析及頁面效果圖

主要是用了css3當中的transform: translate3D(0,0,0);和border-radius: 30px;來實現的

公用元件和私有元件的維護可提高重用性

相關文章