自定义单选按钮显示内部值

时间:2012-09-07 18:33:27

标签: php html css css3

我有定制的单选按钮,它们按照我的预期工作,只有一个例外。我希望值在单选按钮div内,现在它显示在我创建的单选按钮外面,这实际上是一个类大收音机。 如何在我创建的单选按钮内显示值1和值2

下面是我的代码

的CSS:

<style>
    .ipad {
        -webkit-appearance: none;
        background-color: #fafafa;
        border: 1px solid #cacece;
        box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px -15px 10px -12px rgba(0,0,0,0.05);
        padding: 9px;
        border-radius: 3px;
        display: inline-block;
        position: relative;
    }

    .ipad:active, .ipad:checked:active {
        box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
    }

    .ipad:checked {
        background-color: blue;
        border: 1px solid #adb8c0;
        box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px -15px 10px -12px rgba(0,0,0,0.05), inset 15px 10px -12px rgba(255,255,255,0.1);
        color: #99a1a7;
    }
    .ipad:checked:after {
        content: '\2714';
        font-size: 14px;
        position: absolute;
        top: 0px;
        left: 3px;
        color: transparent;
    }
    .big-radio {
        padding: 18px;
    }

    .big-radio:checked:after {
        font-size: 28px;
        left: 6px;
    }



</style>

HTML:

<div class="button-holder">
    <input type="radio" class="ipad big-radio" name="radioGroup" value="2081764"/> Value1
</div>
<div class="button-holder">
    <input type="radio" class="ipad big-radio" name="radioGroup" value="2081765"/> Value 2
</div>

请在这里找到jsfiddle:

http://jsfiddle.net/4fu3q/

感谢

2 个答案:

答案 0 :(得分:2)

我使用数据属性:

对每个输入使用html属性:<input data-value="Value Text">

然后在你的css中:.ipad:before { content: attr(data-value); }

http://jsfiddle.net/4fu3q/3/

答案 1 :(得分:1)

你可以假装它,虽然它远非理想。如果您使用label,则可以在radiobutton上叠加文本,而不会失去其可点击性。以下是一个例子:

http://jsfiddle.net/4fu3q/2/

<div class="button-holder">
    <input type="radio" class="ipad big-radio"  name="radioGroup" value="2081764" id="one">  
    <label for="one">V1</label>
</div>

label{
    position:relative;
    left: -35px;    
    top: -10px;
}

按钮显然不会重新调整大小以适应文本,因为它实际上并不在文本内部。它远非理想,但可能会尽可能接近,而无需使用javascript替换所有内容。