html - 文本输入 CSS 的样式父级

标签 html css

我有一个包装在 div 中的文本输入。当输入聚焦时,我想更改父 div 的 :after 的 css 属性。我如何在 CSS 中做到这一点?

<div class="dataInputTextContainer">
    <input class="dataInputText"  />
</div> 

我试过了,但没用:

.dataInputText:FOCUS ~ .dataInputTextContainer:after{
    background-color: red;
}

最佳答案

简单地说,你不能

(抱歉)

CSS 在 DOM 后裔方面起作用,因为只能为随后出现在 DOM 中的元素构造规则。因此,您无法选择父代,甚至是之前的 sibling 。

我倾向于建议你坐下来,退后一步,弄清楚你想要完成的事情。 99% 的情况是其他人已经做到了,或者您只需对 CSS 或 HTML 稍作更改即可完成。

顺便说一句,一个解决方案不是是尝试在输入上设置:before:after 样式,它是一个替换元素,因此此类元素不适用。为什么不简单地为 input 添加一个 label 并设置样式呢?

关于html - 文本输入 CSS 的样式父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537909/

相关文章:

javascript - 不同字符编码时从键盘搜索选项

javascript - 如何在没有 jQuery 的情况下启用所有禁用的表单选择选项?

Android inline-block 元素无法识别的字符问题

html - Bootstrap 导航栏 - 右边搞砸了

html - 如何去除流体网格中第 12 列右侧的 1px 空白/坏点

javascript - 当您*不*控制 HTML 时如何更改字体大小?

javascript - 禁用 JavaScript 或 Jquery 全屏覆盖事件

javascript - 网络数据如何显示在网络浏览器中?

html - 在 <datalist> HTML 中,内联 css 不起作用

php - 翻译后导航栏延伸到第二行