文本框input聚焦失焦样式实现代码


对于文本框(input)的聚焦(focus)和失焦(blur)样式实现,我们可以使用CSS来达成。这里提供一个简单的示例代码,展示如何为input元素设置聚焦和失焦时的不同样式。


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Input Focus and Blur Styles</title>
<style>
  /* 默认的input样式 */
  input[type="text"] {
    padding: 10px;
    margin: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: border-color 0.3s ease; /* 平滑过渡效果 */
  }

  /* input聚焦时的样式 */
  input[type="text"]:focus {
    border-color: #4CAF50; /* 聚焦时边框颜色变绿 */
    outline: none; /* 去除聚焦时的默认轮廓 */
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); /* 添加聚焦时的阴影效果 */
  }

  /* input失焦时的样式(这里通常不需要特别设置,因为默认样式就可以,但为了演示,我们让它和聚焦时有所不同) */
  /* 注意:实际使用中,你可能不需要这部分样式,因为默认样式已经足够 */
  input[type="text"]:not(:focus) {
    /* 这里可以根据需要添加失焦时的样式,但通常不需要 */
    /* 例如,你可以改变边框颜色或阴影,但在这个例子中我们保持默认 */
  }
</style>
</head>
<body>

<input type="text" placeholder="点击我,然后失去焦点看看...">

</body>
</html>

在这个示例中,我们为`input[type="text"]`设置了基本的样式,包括内边距、外边距、边框和边框圆角。然后,我们使用`:focus`伪类选择器为聚焦状态的input添加了边框颜色变化、移除了默认的聚焦轮廓,并添加了阴影效果,以使其更加突出。

请注意,`:not(:focus)`伪类选择器在这个上下文中主要用于演示目的,实际上在大多数情况下,你可能不需要为失焦状态特别设置样式,因为默认的样式通常就足够了。如果你确实需要为失焦状态设置样式,你可以在这个选择器内部添加相应的CSS规则。