首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3搜索框下拉框代码

发布于 2024-11-11 15:52:05
0
17

在网页设计中,搜索框下拉框是一个常见且实用的组件,可以帮助用户快速找到想要的内容。而使用CSS3技术,我们可以轻松地实现一个美观且实用的搜索框下拉框。下面是代码示例:/ 搜索框样式 / .search...

在网页设计中,搜索框下拉框是一个常见且实用的组件,可以帮助用户快速找到想要的内容。而使用CSS3技术,我们可以轻松地实现一个美观且实用的搜索框下拉框。下面是代码示例:

/* 搜索框样式 */
.search-box{
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.search-box input[type="text"]{
    font-size: 14px;
    color: #555;
    padding: 10px 40px 10px 10px;
    width: 250px;
    border: 1px solid #ccc;
    border-radius: 3px;
    outline: none;
}

.search-box button{
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border: none;
    background: url(search-icon.png) no-repeat center center;
    background-size: 20px;
    cursor: pointer;
}

/* 下拉框样式 */
.dropdown{
    position: absolute;
    top: 45px;
    left: 0;
    width: 100%;
    max-height: 200px;
    z-index: 999;
    overflow: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,.3);
}

.dropdown li{
    font-size: 14px;
    color: #555;
    padding: 10px;
    cursor: pointer;
    transition: .2s;
}

.dropdown li:hover{
    background: #f0f0f0;
} 

在上面的代码中,我们首先定义了搜索框和下拉框的样式。搜索框包含一个输入框和一个搜索按钮,使用了相对定位和绝对定位来实现按钮的位置。下拉框使用了绝对定位和overflow属性来实现滚动条功能,同时添加了鼠标悬停效果。

接下来,我们使用JavaScript来实现下拉框的显示和隐藏。代码如下:

var searchBox = document.querySelector('.search-box');
var inputBox = searchBox.querySelector('input[type="text"]');
var dropdown = document.createElement('ul');

function showDropdown(){
    dropdown.classList.add('dropdown');
    searchBox.appendChild(dropdown);
}

function hideDropdown(){
    dropdown.classList.remove('dropdown');
    dropdown.innerHTML = '';
}

inputBox.addEventListener('focus', showDropdown);

inputBox.addEventListener('blur', function(){
    setTimeout(hideDropdown, 200);
});

for(var i=1; i<=10; i++){
    var dropdownItem = document.createElement('li');
    dropdownItem.textContent = '搜索结果'+i;
    dropdown.appendChild(dropdownItem);
}

dropdown.addEventListener('click', function(e){
    var clickedItem = e.target;
    inputBox.value = clickedItem.textContent;
    hideDropdown();
}); 

在上面的代码中,我们使用addEventListener方法来监听输入框的focus和blur事件。当输入框被聚焦时,下拉框就会显示出来;当输入框失去焦点时,下拉框又会自动隐藏。同时,我们还使用了一个循环来生成下拉框列表,并使用addEventListener方法来监听鼠标单击事件。当用户单击下拉框中的选项时,输入框会自动填充相应的内容。

综上所述,使用CSS3技术实现一个搜索框下拉框并不难,只需注意样式和JavaScript的编写即可。希望本文对您有所帮助!

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流