JQueryMobile - 用图像替换复选框勾选 - 完整CSS

时间:2013-08-31 15:53:44

标签: jquery css jquery-mobile

我想用CSS替换带有图像的复选框。您可以在下面的图片中看到我想要达到的目标:

http://cdn.thenextweb.com/wp-content/blogs.dir/1/files/2013/03/3.1InActivitySettings-220x376.png

我快到了,但我被困住了。你可以在这里找到我到目前为止所做的事情: JSFiddle

HTML

<div data-role="content" class="content">
    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-iconpos="right">
            <input type="checkbox" name="checkbox-0" id="checkbox-0" class="check" />
            <input type="checkbox" name="checkbox-1" id="checkbox-1" class="check" />
            <input type="checkbox" name="checkbox-2" id="checkbox-2" class="check" />
            <input type="checkbox" name="checkbox-3" id="checkbox-3" class="check" />
            <label for="checkbox-0">15 minutes</label>
            <label for="checkbox-1">30 minutes</label>
            <label for="checkbox-2">45 minutes</label>
            <label for="checkbox-3">60 minutes</label>
        </fieldset>
    </div>
</div>

CSS

.ui-checkbox-on {
    background-image: url(images/checkmark.png);
}

.ui-checkbox-on .ui-icon {
    background-color: rgba(0, 0, 0, 0);
}

.ui-icon-checkbox-off {
    background-image: none;
    box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; 
    border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px;
    background-color: rgba(0, 0, 0, 0);
}

1 个答案:

答案 0 :(得分:6)

这个CSS可以解决问题。

DEMO

.ui-checkbox-on .ui-icon {
    width: 32px!important; 
    height: 32px!important; 
    margin-left: -20px !important; 
    margin-top: -15px !important; 
    box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; 
    -webkit-border-radius: 0 !important; border-radius: 0 !important; 
    background: url(images/checkmark.png) 50% 50% no-repeat;
}

.ui-icon-checkbox-off {
    background-image: none;
    box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; 
    border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px;
    background-color: rgba(0, 0, 0, 0);
}