html - 如何在单击单选按钮时显示 CSS 边框

标签 html css css-selectors

当单击该单选按钮时,我希望在该单选按钮旁边的图像周围显示一个边框。目前,我缺乏 CSS 选择器知识,没有得到预期的结果。

我的期望是,当我点击一个单选按钮时,相应的图像应该突出显示,但它不是...

怎么了?

label>img ~ .input:checked  {
	border: 2px solid #f00;
}
<table>
<tr>
<td><label>

    <img src="http://bighappyface.com/Happy%20Face%2050x50.png"><br />
	<input type="radio" name="page" value="original" />Original </label>
</td>
<td><label>
    <img src="http://bighappyface.com/Happy%20Face%2050x50.png"><br />
	<input type="radio" name="page" value="standard" checked="checked">Standard
</label></td>
</tr>
</table>

编辑

到目前为止,答案是重新排列 HTML 元素,从设计的 Angular 来看,这是不可取的。我更喜欢把文字放在图片的底部,而不是上面。如果有保持 html 元素有序的答案,我会重新接受...

最佳答案

这是满足您需求的解决方案:

Live Demo

input:checked ~ img  {
    border: 2px solid #f00;

}

label, img {
    position: relative;
    top: -80px;
}

label, input[type=radio] {

  top: 60px;  
}

HTML:

<table>
<tr>
<td>
    <label>
        <input type="radio" name="page" value="original" /> Original<br />
        <img src="http://bighappyface.com/Happy%20Face%2050x50.png">
    </label>
</td>
<td>
    <label>
        <input type="radio" name="page" value="standard" checked="checked"> Standard<br />
        <img src="http://bighappyface.com/Happy%20Face%2050x50.png">
    </label>
</td>
</tr>
</table>

关于html - 如何在单击单选按钮时显示 CSS 边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28617579/

相关文章:

javascript - 当字段没有名称时 CasperJS 填写表单

javascript - 使用 *ngFor 验证问题与相同的响应式(Reactive)表单控件进行多个表单绑定(bind)

javascript - jQuery animate 和 scrollTop 不起作用,除非应用程序是移动大小

javascript - 无需重置即可反转背景位置动画

jquery - Div 的 float 不准确。如何正确安排它们?

html - 如何仅使用 CSS 在 HTML 按钮上添加 FontAwesome 图标?

CSS first-child 选择器不选择第一个元素

javascript - 如何在不等待上一个声音播放完毕的情况下点击播放声音?

jquery - 页面的主要部分正在浏览/通过固定导航栏吗?

html - Sharepoint 2013 部署后无法正确呈现 html