在CSS中,可以使用伪元素和定位技术来实现将搜索图标与文本合并的效果,使其在输入时消失。
首先,需要为搜索框的父元素设置相对定位,以便后续绝对定位的子元素可以相对于父元素进行定位。
然后,可以使用伪元素(::before或::after)来创建一个与搜索图标相同大小的空白元素,并将其设置为绝对定位。通过设置其content属性为空字符串,可以使其在页面上不显示任何内容。
接下来,使用绝对定位将搜索图标和文本分别定位到合适的位置。可以通过设置top、left、right、bottom等属性来调整它们的位置。
最后,通过设置z-index属性来确保搜索图标位于文本之上,以便在输入时搜索图标可以被覆盖隐藏。
以下是一个示例代码:
HTML:
<div class="search-box">
<input type="text" placeholder="搜索">
</div>
CSS:
.search-box {
position: relative;
width: 200px;
}
.search-box input[type="text"] {
padding-left: 20px; /* 为搜索图标留出空间 */
}
.search-box::before {
content: "";
position: absolute;
top: 50%;
left: 5px;
transform: translateY(-50%);
width: 16px;
height: 16px;
background-image: url(搜索图标的URL);
background-size: cover;
z-index: 1;
}
.search-box input[type="text"]:focus + ::before {
display: none; /* 在输入时隐藏搜索图标 */
}
在上述代码中,需要将"搜索图标的URL"替换为实际的搜索图标的URL。
这样,当用户在输入框中进行输入时,搜索图标将会消失,文本会填充整个输入框。
领取专属 10元无门槛券
手把手带您无忧上云