自定义复选框与其位置有混乱

时间:2016-02-12 15:46:32

标签: javascript jquery html css

我尝试过使用jQuery和CSS的功能复选框。但是当点击复选框时,在复选框的位置有些抽搐。你可以在here找到jsfiddle,在这里我为display: inline-block元素定义了span

但是当我定义display: block时,同样有效,我不知道为什么这个抽搐带有内联块。 here中的JSfiddle链接。

<span name="list4_wrap"  id="check4wrap" class=" e-checkwrap"></span>
 #css
 .e-checkwrap {
        border: 1px solid;
        height: 14px;
        width: 14px;
        display: block;
        border-color: #c8c8c8;
        background-color: #fff;
        cursor: pointer;
            font-size: 12px;   

    }
    .e-check-act:before {
        content: "a";
        width: 100%;
        height: 100%;
        color: #179bd7;

        text-indent: 1px;
    }
#JS
$("#check4wrap").click(function(e){
    var curEle = e.target.nodeName === "INPUT" ? e.target.parentElement : e.target;
        if (curEle.className.indexOf("e-check-act") < 0) {
            curEle.className += " e-check-act";               
        }
        else {
            curEle.className = curEle.className.replace("e-check-act", " ");               
        }
});

请对此提出一些建议。

1 个答案:

答案 0 :(得分:1)

这是因为您在 .e-check-act 之前附加了文字 这改变了它的位置。

设置.e-check-act:before { position:absolute; }并保持不变。