是否有用户键入的任何字段的CSS选择器?

时间:2014-11-18 19:16:23

标签: html css css-selectors

我想为用户选择的所有元素(使用鼠标或在触摸屏上点击)创建一些常用样式,然后使用光标输入文本。这包括:

  • <input>
  • <input type='text'>
  • <textarea>
  • <input type='password'>
  • <another element that I didn't know existed that you can type into>

正如您所看到的(以及可能的其他示例),由于<textarea>(属于此类别)和<input type='submit'>(不属于此类),您无法做到选择所有<input>&#39。

是否有一个特殊的CSS(伪?)选择器?

4 个答案:

答案 0 :(得分:3)

不,没有。

要么使用列表

input, textarea {...}

或者您使用css-preprocessor(例如sass)并使自己成为mixin或处理所有这些类型的函数。但是你不可能在某些时候定义所有这些元素。

答案 1 :(得分:1)

我使用的是css类:

<input class="user-input">
<input type='text' class="user-input">
<textarea class="user-input">
<input type='password' class="user-input">

然后你根据那个班级设计风格。虽然这可能不像您想要的那样自动,但这为您提供了最大程度的控制,并允许您避免样式提交按钮。

当然,您也可以进行反向操作,并且有一个类&#34;非用户输入&#34;然后将其放在提交按钮之类的东西上。然后,您只需定位<input><textarea>

这可能更适合您的需求。

答案 2 :(得分:0)

不,这里没有一个字段,但您可以将选择器与逗号组合在一起并将它们一起设置为:

input[type="text"], input[type="search"], input[type="password"], textarea {
  /* your styles here */
} 

我认为这是唯一的方法。

答案 3 :(得分:0)

您可以在CSS中单独使用:focus伪类来选择任何选定的HTML元素。

CSS:

:focus {
  /* whatever you want to do to all selected elements */
}

这是一个JS小提琴,展示了它是如何运作的:

http://jsfiddle.net/vbdgenwz/