css - 当 textarea 有值时更改标签颜色

标签 css sass textarea

当 textarea 收到一些值时,我需要更改标签的颜色。

<form action="#" class="form-reverse">
   <textarea name="order-background__bussiness" id="order-background__bussiness" cols="30" rows="10"></textarea>
   <label for="order-background__bussiness">What are the company’s objectives?</label>
</form>

当我们聚焦 textarea 时,这段代码可以正常工作:

textarea:focus ~ label{
        color: #55c57a;
}

enter image description here

但是,我需要这种颜色:color: #ff8086;当我们没有任何值时,当在 textarea 上写入任何内容时,绿色值(如上图所示)。

我试过 :active ,但它只在鼠标点击时有效:

textarea:active ~ label{
        color: #ff8086;
}

enter image description here

也许有人对此有解决方案?

PS:我确实有 JS 的解决方案,但我很好奇 SASS 是否也有任何解决方案?

最佳答案

您可以使用 css valid 属性,如果 textarea 是一个有效的字段,它将匹配您可以设置必需的属性,如果有效,它将匹配有效的选择器... https://www.w3schools.com/cssref/sel_valid.asp

textarea:valid + label{
  background: #ff0000;
}
<textarea required="required"></textarea><label>label</label>

关于css - 当 textarea 有值时更改标签颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54091997/

相关文章:

html - 有些 Css 类有效,有些则无效

javascript - 如何制作 & :hover accessible? 我可以同时使用焦点和悬停吗?

java - 将当前数组索引分配给变量以递增它?

javascript - 如何将textarea多行文本保存到Cloud Firestore?

iphone - 删除 iOS 上 HTML 邮件右侧的 ~20px 间隙

html - 应用字母间距时,CSS 文本下划线太长?

javascript - 有没有使用 CSS/JS 显示损坏的图像(链接)图标?

angular - Angular 7 中的 SCSS 加载顺序

css - 使用@extend 相对于创建类并在 SASS 中使用它的优势

asp.net 多行文本框默认值