【发布时间】:2016-09-22 10:52:01
【问题描述】:
我正在尝试创建一个类似于 Pearson 的 TestNav 登录中显示的用户名和密码输入的文本输入(忽略黄色框)。
为了使图标位于左侧,他们使用了 background-image 属性。我想知道是否可以在不使用任何图像的情况下达到相同的效果。 I've gotten pretty close,但是有两个问题。图标框右侧的边框是圆形的,如果单击该图标,它不会聚焦输入。我尝试让输入框背景透明并将图标放在它后面,但如果网站在密码管理器中,Chrome 会覆盖背景颜色。
这是我尝试的 CSS/HTML: HTML:
<div class="field">
<input type="text">
<div class="icon">
<i class="fa fa-user"></i>
</div>
</div>
CSS:
.field input {
outline: none;
border: 0px solid #fff;
font-size: 14px;
padding: 5px 5px 5px 44px;
position: absolute;
width: 260px;
height: 40px;
box-sizing: border-box;
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0px 0px 0px 0px rgba(186,213,232,1);
transition: border 0.5s ease-in-out 0s, box-shadow 0.3s ease-in-out 0s;
}
.field input:focus {
border: 1px solid #2977FF;
box-shadow: 0px 0px 10px 2px rgba(186,213,232,1);
}
.field .icon {
display: flex;
justify-content: center;
align-items: center;
height: 36px;
width: 36px;
padding: 0;
border: 1px solid #eee;
border-radius: 3px;
margin: 1px 0px 0px 1px;
position: absolute;
background-color: #eee;
}
【问题讨论】: