如何使用 CSS 实现图片上覆盖全宽响应式搜索框

来源:IPIPP.com作者:小黄人头衔:程序员
导读:本期聚焦于小伙伴创作的《如何使用 CSS 实现图片上覆盖全宽响应式搜索框》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何使用 CSS 实现图片上覆盖全宽响应式搜索框》有用,将其分享出去将是对创作者最好的鼓励。

在网页设计中,将全宽响应式搜索框覆盖在图片上方是提升页面交互性和视觉层次感的常用方案,这种布局既可以利用背景图片吸引用户注意力,又能让搜索功能处于页面核心位置,提升用户使用体验。

如何使用 CSS 实现图片上覆盖全宽响应式搜索框

实现思路梳理

要实现这个效果,核心需要解决三个问题:第一是让背景图片和搜索框形成正确的层级关系,搜索框要显示在图片上方;第二是搜索框要占据容器的全宽,并且内部元素合理排列;第三是添加响应式规则,让搜索框在不同屏幕尺寸下自动调整样式,适配移动端和桌面端。

HTML 结构搭建

首先需要搭建基础的HTML结构,包含一个容器元素,内部放置背景图片和搜索框组件,结构如下:

<div class="search-banner">
  <img src="https://picsum.photos/1200/400?random=2" alt="背景横幅图片" class="banner-img">
  <div class="search-wrapper">
    <input type="text" class="search-input" placeholder="请输入搜索内容">
    <button class="search-btn">搜索</button>
  </div>
</div>

基础 CSS 样式设置

接下来编写基础CSS样式,首先处理容器的定位,让搜索框可以相对于容器定位到图片上方:

/* 容器基础样式,相对定位作为子元素的定位参照 */
.search-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* 背景图片样式,宽度占满容器,高度自适应 */
.banner-img {
  width: 100%;
  height: auto;
  display: block;
}

/* 搜索框容器样式,绝对定位到图片上方居中位置 */
.search-wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}

/* 搜索输入框样式 */
.search-input {
  width: 70%;
  max-width: 800px;
  height: 48px;
  padding: 0 16px;
  border: none;
  border-radius: 24px 0 0 24px;
  font-size: 16px;
  outline: none;
}

/* 搜索按钮样式 */
.search-btn {
  height: 48px;
  padding: 0 32px;
  border: none;
  border-radius: 0 24px 24px 0;
  background-color: #1890ff;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.search-btn:hover {
  background-color: #096dd9;
}

响应式适配规则

为了让搜索框在不同屏幕尺寸下都有良好的显示效果,需要添加媒体查询规则,针对小屏幕设备调整搜索框的尺寸和布局:

/* 屏幕宽度小于768px时的适配规则,适配移动端 */
@media screen and (max-width: 768px) {
  .search-input {
    width: 60%;
    height: 40px;
    font-size: 14px;
    border-radius: 20px 0 0 20px;
  }

  .search-btn {
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
    border-radius: 0 20px 20px 0;
  }
}

/* 屏幕宽度小于480px时的适配规则,适配小屏手机 */
@media screen and (max-width: 480px) {
  .search-wrapper {
    padding: 0 10px;
  }

  .search-input {
    width: 55%;
    height: 36px;
    font-size: 13px;
    border-radius: 18px 0 0 18px;
  }

  .search-btn {
    height: 36px;
    padding: 0 16px;
    font-size: 13px;
    border-radius: 0 18px 18px 0;
  }
}

效果优化建议

完成基础实现后,还可以根据实际需求做一些优化:

  • 给背景图片添加半透明遮罩,提升搜索框文字的可读性,避免背景图片颜色过亮影响搜索框显示
  • 给搜索框添加阴影效果,增强层级感,让搜索框和背景图片的区分更明显
  • 给输入框添加焦点样式,当用户点击输入框时显示边框高亮,提升交互反馈
  • 如果背景图片加载较慢,可以设置背景色作为占位,避免页面布局偏移

完整示例代码

以下是整合了所有样式和结构的完整示例代码,可以直接复制使用:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>图片上覆盖全宽响应式搜索框</title>
  <style>
    .search-banner {
      position: relative;
      width: 100%;
      overflow: hidden;
    }

    .banner-img {
      width: 100%;
      height: auto;
      display: block;
    }

    .search-wrapper {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 100%;
      padding: 0 20px;
      box-sizing: border-box;
      display: flex;
      justify-content: center;
    }

    .search-input {
      width: 70%;
      max-width: 800px;
      height: 48px;
      padding: 0 16px;
      border: none;
      border-radius: 24px 0 0 24px;
      font-size: 16px;
      outline: none;
    }

    .search-input:focus {
      box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
    }

    .search-btn {
      height: 48px;
      padding: 0 32px;
      border: none;
      border-radius: 0 24px 24px 0;
      background-color: #1890ff;
      color: #fff;
      font-size: 16px;
      cursor: pointer;
      transition: background-color 0.3s;
    }

    .search-btn:hover {
      background-color: #096dd9;
    }

    @media screen and (max-width: 768px) {
      .search-input {
        width: 60%;
        height: 40px;
        font-size: 14px;
        border-radius: 20px 0 0 20px;
      }

      .search-btn {
        height: 40px;
        padding: 0 20px;
        font-size: 14px;
        border-radius: 0 20px 20px 0;
      }
    }

    @media screen and (max-width: 480px) {
      .search-wrapper {
        padding: 0 10px;
      }

      .search-input {
        width: 55%;
        height: 36px;
        font-size: 13px;
        border-radius: 18px 0 0 18px;
      }

      .search-btn {
        height: 36px;
        padding: 0 16px;
        font-size: 13px;
        border-radius: 0 18px 18px 0;
      }
    }
  </style>
</head>
<body>
  <div class="search-banner">
    <img src="https://picsum.photos/1200/400?random=2" alt="背景横幅图片" class="banner-img">
    <div class="search-wrapper">
      <input type="text" class="search-input" placeholder="请输入搜索内容">
      <button class="search-btn">搜索</button>
    </div>
  </div>
</body>
</html>

CSS响应式设计搜索框全宽布局修改时间:2026-07-03 07:30:38

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。