You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何隐藏密码且不改变输入框的原有格式?

解决密码输入框隐藏密码同时保留原有格式的问题

嘿,我完全懂你的困扰——把输入框改成type="password"实现密码隐藏后,原来的样式居然变了!其实这是浏览器给密码输入框套了默认样式导致的,咱们可以通过这几种方式轻松解决:

1. 给密码输入框复用明文输入框的样式类

如果你的明文输入框是靠CSS类来控制样式的(比如之前的用户名输入框),直接把同一个类加到密码输入框上就行。举个例子:

假设你之前的明文输入框代码是:

<input Name="Username" type="text" id="Username" placeholder="Username" required="" class="login-input">

那修改后的密码输入框就写成:

<input Name="Password" type="password" id="Password" placeholder="Password" required="" class="login-input">

这样两个输入框就会共用完全一样的样式,不会出现格式差异。

2. 调整CSS选择器,包含密码输入框

如果你之前的CSS是专门针对type="text"写的,比如:

input[type="text"] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  /* 其他你的原有样式 */
}

那只需要把密码输入框的类型也加进选择器里:

input[type="text"], input[type="password"] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  /* 其他你的原有样式 */
}

这样两种类型的输入框就会应用相同的样式规则了。

3. 可选:默认显示明文密码,点击切换隐藏状态(如果需要)

要是你想保留页面加载时显示“123456”明文,用户交互后再隐藏密码的效果,可以用简单的JS实现:

<!-- 初始用text类型显示明文 -->
<input Name="Password" type="text" id="Password" value="123456" placeholder="Password" required="" class="login-input">
<!-- 加个切换按钮 -->
<span onclick="togglePasswordVisibility()" style="cursor: pointer;">👁️</span>

<script>
function togglePasswordVisibility() {
  const passwordInput = document.getElementById('Password');
  // 切换输入框类型
  passwordInput.type = passwordInput.type === 'password' ? 'text' : 'password';
}
</script>

这样既满足了密码隐藏的需求,又能完美保留你原来设计的输入框格式~

内容的提问来源于stack exchange,提问作者Yujian

火山引擎 最新活动