html - 如何固定单选按钮的宽度

标签 html css

我想用纯 CSS 设计一个单选按钮。我几乎明白了,但我不能用固定宽度制作背景颜色。

这就是我正在取得的成就......

berore

...这就是我要实现的目标:

after

这是我的html

<form>

<a>
<input id="radio1" type="radio" name="mode" value="size" class="button"> 
<span><label for="radio1">Varones</label></span>
</a>

<a>     
<input id="radio2" type="radio" name="mode" value="count" checked> 
<span><label for="radio2">Mujeres</label></span>
</a>

<a>
<input id="radio3" type="radio" name="mode" value="count" checked>
<span><label for="radio3"> Ambos</label></span>
</a>

</form>

这是我的CSS

span {
    width: 100px;
}

a {

    font-family:Helvetica,Arial,sans-serif;
    font-size:14px;
    display: block;
    padding:7px;
    display:block;
}

label {
    width:150px;
}

input[type="radio"] {
    display:none;
}

input[type="radio"] + span {
    cursor: pointer;
    padding: 4px 10px;
    background: lightblue; /*fondo del boton inactivo*/
    color: black;
    border-radius: 3px;
}

input[type="radio"]:checked + span {
    padding-right:50px;
    color: red; /*color tipografia boton activo*/
    background: url('flechaRadio.png') right no-repeat;
    background-color:#E5E5E5;/* color fondo boton activo*/ 
    background-position: 70px;
}

input[type="radio"]:hover + label:hover {
    color: black; /*estilo para la tipo del over */
}

这是例子

http://jsfiddle.net/ploscri/P9yer/

提前谢谢你。

最佳答案

您需要将 display:inline-block 添加到您的 span 中并从选中的选项中删除填充:

span{
    display: inline-block;
    width: 80px;
}

Updated fiddle

关于html - 如何固定单选按钮的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905097/

相关文章:

javascript - 当有 3 张或更多幻灯片时轮播工作,但只有 2 张幻灯片时会损坏

html - 将论坛软件(phpBB、MyBB 等)嵌入到静态网站框架(Jekyll、Middleman 等)中

javascript - 如何在播放后隐藏leafletJS中的视频叠加层?

javascript - 使用 javascript 进行字符限制在 IE9 中不起作用

html - ~ 选择器在 Android 中不工作

html - 使 div 的高度为父 td 高度的 100%(仅限 css)?

html - ASP.NET MVC : input-validation-valid applied style not working

javascript - 以编程方式将文本添加到 iframe 的文本区域

javascript - 是否可以禁用在页面中查找的 Ctrl + F?

javascript - 悬停时从 Chart.js 中删除数据文本