css3实现手机效果的“切换标签”

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;来实现的

公用组件和私有组件的维护可提高重用性

posted @ 2015-05-18 15:10  静逸  阅读(1105)  评论(2编辑  收藏  举报