繁体   English   中英

Mousedown和Mouseup事件的样式复选框

[英]Styling Checkbox on Mousedown and Mouseup Events

我试图使复选框“按钮”可以按选择/取消选择。 我遇到的问题是,当标签处于活动状态时,它无法完全识别我应用的样式。 我希望按钮看起来像被按下时一样,但是现在CSS的顶部边框无法识别。 看起来好像按钮被按下了,但是由于顶部边框不起作用,因此它在下面移动了按钮,就好像没有添加顶部边框一样。 如果可以使用Mousedown和Mouseup在Javascript中进行此操作,请告诉我。

http://jsfiddle.net/jasonniebauer/sf3W8/

<div id="card_acceptance">
            <p>
                Select all that apply:
            </p>
            <input type="checkbox" id="mc_credit" value=""/>
                <label for="mc_credit" name="mc_credit_button">
                    MC Credit
                </label>
            <input type="checkbox" id="visa_credit" value=""/>
                <label for="visa_credit">
                    Visa Credit
                </label>
            <input type="checkbox" id="discover_credit" value=""/>
                <label for="discover_credit">
                    Discover Credit
                </label>
            <input type="checkbox" id="amex_id" value=""/>
                <label for="amex_id">
                    AMEX
                </label>
            <input type="checkbox" id="pin_debit" value=""/>
                <label for="pin_debit">
                    PIN-Based Debit
                </label>
        </div>

#card_acceptance p {
            font-size: 1.125em;
            margin-bottom: .5rem;
        }

        #card_acceptance input[type="checkbox"] + label,
        #card_acceptance2 input[type="checkbox"] + label {
            box-sizing:border-box;
            padding: 1rem 3rem 1rem 3rem;
            width: 100%;
            display: block;
            color: #BDC3C7;
            background-color: #F2F2F2;
            text-align: center;
            vertical-align: middle;
            cursor: pointer;
            border-bottom: 4px solid #BDC3C7;
            border-radius: 3px;
            margin-bottom: 1rem;
        }

        #card_acceptance input[type="checkbox"] + label:hover,
        #card_acceptance2 input[type="checkbox"] + label:hover {
            background: #E8E8E8;
            color: #898989;
            -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
            -webkit-transition-property: border, color, background-color;
            -webkit-transition-duration: 0.25s, 0.25s, 0.25s;
            -webkit-transition-timing-function: linear, linear, linear;
            -webkit-transition-delay: initial, initial, initial;
            transition: border .25s linear, color .25s linear, background-color .25s linear;
            transition-property: border, color, background-color;
            transition-duration: 0.25s, 0.25s, 0.25s;
            transition-timing-function: linear, linear, linear;
            transition-delay: initial, initial, initial;
        }

        #card_acceptance input[type="checkbox"] + label:active,
        #card_acceptance2 input[type="checkbox"] + label:active {
            border-bottom: 0px;
            border-top: 4px #FFFFFF;
            border-radius: 3px;
        }

        #card_acceptance input[type="checkbox"]:checked + label,
        #card_acceptance2 input[type="checkbox"]:checked + label {
            background-color: #3498DB;
            color: #FFFFFF;
            outline: 0;
            border-bottom: 4px solid #217DBB;
        }

        #card_acceptance input[type="checkbox"]:checked + label:hover,
        #card_acceptance2 input[type="checkbox"]:checked + label:hover {
            background-color: #258CD1;
            color: #FFFFFF;
            -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
            -webkit-transition-property: border, color, background-color;
            -webkit-transition-duration: 0.25s, 0.25s, 0.25s;
            -webkit-transition-timing-function: linear, linear, linear;
            -webkit-transition-delay: initial, initial, initial;
            transition: border .25s linear, color .25s linear, background-color .25s linear;
            transition-property: border, color, background-color;
            transition-duration: 0.25s, 0.25s, 0.25s;
            transition-timing-function: linear, linear, linear;
            transition-delay: initial, initial, initial;
        }

        #card_acceptance input[type="text"],
        #card_acceptance2 input[type="text"] {
            margin-bottom: 1rem;
            display: none;
        }

        #card_acceptance input[type="checkbox"] {
            display: none;
        }
        }

您的边界声明必须包含边界样式

#card_acceptance input[type="checkbox"] + label:active,
#card_acceptance2 input[type="checkbox"] + label:active {
    border-bottom: 0px;
    border-top: 4px solid #FFFFFF;
    border-radius: 3px;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM