css - 当标签内的输入字段处于事件状态时如何保持标签处于事件状态?

标签 css css-selectors

我有像 <label>name:<input></label> 这样的标签 和CSS之类的 label:active{/*properties*/} 我希望将属性应用于 name里面<label>当我点击 <input>它得到了应用,但它失去了对 <input> 的关注单击它后不久。

这是一个例子:http://jsfiddle.net/GuCk4/2/

最佳答案

如果我理解您的问题,您可以这样做...而无需更改任何 HTML。

label, input, input:focus{
    font-weight: bold;
}

示例:http://jsfiddle.net/jasongennaro/GuCk4/4/

顺便说一句:你真的不需要 input:focus 在这里……至少在我对 Chrome 的测试中是这样。对于其他浏览器,您可能需要它。

编辑

好的,在@Mohsen 的评论之后,我重新阅读了这个问题。

您想要的是 css 中的父选择器。这不存在。由于 css 依赖于级联,因此它会将样式应用到 DOM 的下方而不是向上。

所以,按照@Mohsen 的回答,做你想做的唯一方法是重写你的 HTML,或者像这样使用一些 jQuery

$('input').focus(function(){
    $(this).parent().css('font-weight','bold');
});

$('input').blur(function(){
    $(this).parent().css('font-weight','normal');
});

示例 2: http://jsfiddle.net/jasongennaro/GuCk4/5/

关于css - 当标签内的输入字段处于事件状态时如何保持标签处于事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7373601/

相关文章:

html - 在仪表板标题中间对齐可变长度的文本

html - 根据列表元素的数量为 li 第一个 child 设置不同的边距

css - 所有字体都会在浏览器上占据相同的空间并具有相同的值吗?

html - 如何设置div的宽度以适合内容?

CSS修改输入框

html - 简单的水平等分

javascript - 带有原型(prototype)的多个 CSS 选择器

css - 我可以合并 :nth-child() or :nth-of-type() with an arbitrary selector? 吗

css - 伪选择第 n 个 child 问题

html - css nth-child(3n+1) 在子节点之间有 'another' 元素时不起作用