:focus和:active伪类之间的区别是什么?
当前回答
Active是当用户激活该点时(就像鼠标点击一样,如果我们使用tab从字段到字段,则没有来自Active样式的标志。也许点击需要更多的时间,只是尝试按住点击点),焦点发生在点被激活后。试试这个:
<style type="text/css">
input { font-weight: normal; color: black; }
input:focus { color: green; outline: 1px solid green; }
input:active { color: red; outline: 1px solid red; }
</style>
<input type="text"/>
<input type="text"/>
其他回答
焦点只能通过键盘输入来给出,但是一个元素可以同时被鼠标或键盘激活。
如果在链接上使用:focus,则样式规则只适用于按下键盘上的按钮。
:active Adds a style to an element that is activated
:focus Adds a style to an element that has keyboard input focus
:hover Adds a style to an element when you mouse over it
:lang Adds a style to an element with a specific lang attribute
:link Adds a style to an unvisited link
:visited Adds a style to a visited link
来源:CSS伪类
:focus和:active是两种不同的状态。
:focus表示当前选择元素接收输入和时的状态 :active表示元素当前被用户激活时的状态。
例如,我们有一个<按钮>。<按钮>开始时将没有任何状态。它只是存在。如果我们使用Tab赋予<按钮>“focus”,它现在进入它的:focus状态。如果您然后单击(或按空格),那么您将使按钮进入其(:active)状态。
在这一点上,当您单击一个元素时,您为它提供了焦点,这也产生了:focus和:active是相同的错觉。它们不一样。单击按钮时,该按钮处于:focus:active状态。
一个例子: <风格type = " text / css " > 按钮{font-weight: normal;颜色:黑色;} 按钮:对焦{颜色:红色;} 按钮:活动{font-weight:粗体;} > < /风格 < >按钮 当点击,我的文本变成红色和粗体!< br / > 但当只聚焦时,<br /> 我的文字变成了红色 < / >按钮
)一:jsfiddle
使用“焦点”将给键盘用户提供与鼠标用户悬停鼠标时相同的效果。在ie浏览器中需要“Active”来达到同样的效果。
实际情况是,这些状态并不是对所有用户都能正常工作。如果不同时使用这三个选择器,就会导致许多只使用键盘的用户无法使用鼠标。我邀请你参加#nomouse挑战(nomouse dot org)。
:焦点是当一个元素能够接受输入-输入框中的游标或已被选项卡指向的链接。
:active是当一个元素被用户激活时——用户按下鼠标按钮和释放它之间的时间。
推荐文章
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 设备像素比到底是什么?
- 我如何做一个半透明的背景?
- 在CSS网格布局中等高行
- $(window).width()与媒体查询不一样
- 如何以及在哪里使用::ng-deep?
- 如何设置身体高度溢出滚动
- 在输入type="number"时禁用webkit的旋转按钮?
- 如何使用JavaScript代码获得浏览器宽度?
- 防止滚动条增加到Chrome页面的宽度
- 使用图像而不是单选按钮
- 将RGB转换为白色的RGBA