新闻中心

使用 @media screen 实现响应式设计

2025-10-31
浏览次数:
返回列表

使用 @media screen 实现响应式设计

本文旨在帮助初学者理解如何使用 CSS 的 `@media screen` 特性构建响应式导航栏。通过实例代码,我们将演示如何根据屏幕尺寸调整导航栏的布局,使其在不同设备上都能提供良好的用户体验。我们将介绍使用 `float` 和 `flexbox` 两种方法来实现响应式布局,并提供相应的代码示例和注意事项。

响应式设计的核心:@media screen

响应式设计的核心在于能够根据设备的屏幕尺寸,动态地调整网页的布局和样式。@media screen 是 CSS3 中用于实现这一目标的关键特性。它允许我们针对不同的屏幕尺寸定义不同的 CSS 规则,从而实现网页在不同设备上的自适应显示。

使用 @media screen 和 float 实现响应式导航栏

以下是一个使用 @media screen 和 float 属性实现响应式导航栏的示例。

HTML 结构:

<header>
    <div class="clearfix">
        <div class="logo">
            <a href="">
                @@##@@
            </a>
        </div>

        <n*>
            <ul>
                <li><a href="">Log-in</a></li>
                <li><a href="">Registrieren</a></li>
                <li><a href="">Hilfe</a></li>
                <li><a href="">Gastgeber werden</a></li>
            </ul>
        </n*>
    </div>
</header>

CSS 样式:

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
}

.clearfix::after {
    content:"";
    clear:both;
    display:table
}

/* Header bzw. N*igation */
.clearfix {
    width: 100%;
    height: 80px;
    background-color: lightgray;
}

.logo {
    height: inherit;
    width: 80px;
    float: left;
    padding: 10px;
}

ul {
    list-style-type: none;
}

li {
    float: right;
    padding: 31.2px 20px;
}

a:link, a:visited {
    text-decoration: none;
    color: black;
}

li:hover {
    border-bottom: 2px solid black;
    height: 80px;
}

@media only screen and (max-width: 700px) {
    .logo,
    li {
        float: none;
    }
}

代码解释:

  • .clearfix 类用于清除浮动,确保父元素能够正确包裹浮动的子元素。
  • .logo 和 li 元素默认使用 float: left 和 float: right 实现水平排列。
  • @media only screen and (max-width: 700px) 定义了一个媒体查询,当屏幕宽度小于等于 700px 时,应用其中的 CSS 规则。
  • 在媒体查询中,将 .logo 和 li 的 float 属性设置为 none,使其不再浮动,从而实现垂直排列。注意,这里需要选择器是 li 而不是 .li。

注意事项:

Shoping购物网源码 Shoping购物网源码

该系统采用多层模式开发,这个网站主要展示女装的经营,更易于网站的扩展和后期的维护,同时也根据常用的SQL注入手段做出相应的防御以提高网站的安全性,本网站实现了购物车,产品订单管理,产品展示,等等,后台实现了动态权限的管理,客户管理,订单管理以及商品管理等等,前台页面设计精致,后台便于操作等。实现了无限子类的添加,实现了动态权限的管理,支持一下一个人做的辛苦

Shoping购物网源码 0 查看详情 Shoping购物网源码
  • 确保正确选择需要修改样式的元素。在媒体查询中,要针对 HTML 元素(如 li)而不是 CSS 类名(如 .li)进行样式修改。
  • float 属性的使用需要配合清除浮动,以避免布局问题。

使用 @media screen 和 Flexbox 实现响应式导航栏

另一种实现响应式导航栏的方法是使用 Flexbox 布局。Flexbox 提供了更灵活的布局控制,可以更容易地实现各种复杂的布局需求。

HTML 结构 (同上):

<header>
    <div class="clearfix">
        <div class="logo">
            <a href="">
                @@##@@
            </a>
        </div>

        <n*>
            <ul>
                <li><a href="">Log-in</a></li>
                <li><a href="">Registrieren</a></li>
                <li><a href=";">Hilfe</a></li>
                <li><a href="">Gastgeber werden</a></li>
            </ul>
        </n*>
    </div>
</header>

CSS 样式:

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
}

/* Header bzw. N*igation */
.clearfix {
    display: flex;
}

.logo, n* {
    width: 50%;
}

ul {
    display: flex;
    width: 100%;
    list-style-type: none; /* 移除ul默认样式 */
    justify-content: flex-end; /* 将列表项推到右侧 */
}

li {
    padding: 31.2px 20px;
}

a:link, a:visited {
    text-decoration: none;
    color: black;
}

li:hover {
    border-bottom: 2px solid black;
    height: 80px;
}

@media only screen and (max-width: 700px) {
    .clearfix {
        flex-direction: column; /* 垂直排列子元素 */
    }

    .logo, n* {
        width: 100%; /* 占据全部宽度 */
    }

    ul {
        justify-content: center; /* 列表项居中 */
    }
}

代码解释:

  • .clearfix 类现在使用 display: flex 属性,使其成为一个 Flex 容器。
  • .logo 和 n* 元素默认占据 clearfix 容器的 50% 宽度。
  • ul 元素也使用 display: flex 属性,并使用 justify-content: flex-end 将列表项推到右侧。
  • 在媒体查询中,将 .clearfix 的 flex-direction 属性设置为 column,使其子元素垂直排列。
  • .logo 和 n* 元素现在占据 clearfix 容器的 100% 宽度。
  • ul 元素的 justify-content 属性设置为 center,使列表项居中显示。

注意事项:

  • Flexbox 布局提供了更灵活的布局控制,但需要理解 Flex 容器和 Flex 项目的概念,以及各种 Flex 属性的作用。
  • 使用 Flexbox 可以更容易地实现各种复杂的布局需求,例如垂直居中、等高布局等。

总结

本文介绍了如何使用 CSS 的 @media screen 特性构建响应式导航栏。我们演示了使用 float 和 flexbox 两种方法来实现响应式布局,并提供了相应的代码示例和注意事项。通过学习本文,你应该能够掌握响应式设计的基本原理,并能够使用 @media screen 和 float 或 flexbox 构建简单的响应式导航栏。掌握这些基础知识后,你可以进一步学习更高级的响应式设计技巧,例如使用 CSS Grid Layout、响应式图片等,以构建更复杂的响应式网页。

Airbnb LogoAirbnb Logo

以上就是使用 @media screen 实现响应式设计的详细内容,更多请关注其它相关文章!


# 两种  # 阿玛姿雨伞的营销推广  # 蓟州区网站营销推广公司  # 专业网站seo推广方案  # 网站优化形势分析怎么写  # 中牟品牌网站推广公司  # 北京微商短视频营销推广  # 忻州建设网站哪家好  # 模板网站建设公司找哪家  # 芜湖网站标题优化设计  # 青岛seo新站策划  # 更容易  # 选择器  # 列子  # 单选框  # css  # 设置为  # 实现了  # 购物网  # 表单  # 使其  # 清除浮动  # 垂直居中  # 排列  # 响应式设计  # 响应式布局  # ai  # go  # html  # css3 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常  中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】  J*a 递归快速排序中静态变量的状态管理与陷阱  妖精动漫免费平台 妖精动漫官网资源观看网址  C++如何实现线程池_C++11手动实现一个简单的固定大小线程池  TikTok评论显示延迟如何处理 TikTok评论刷新优化方法  KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  在J*a中如何隐藏复杂性_使用门面模式组织对象交互  京东单号查询入口_京东快递订单追踪入口  Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025  如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构  天眼查企业查询官网入口 天眼查官方网页版查询  Node.js 中使用 node-cron 实现定时 API 数据抓取与处理  Surface怎么安装系统 微软Surface Pro U盘重装win11教程  sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置  outlook中文官网入口地址 outlook官方中文版直达首页链接  Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换  夸克浏览器网页版最新地址 夸克浏览器官方入口合集  大象笔记网页版入口 印象笔记网页版登录入口  J*a最大堆Heapify方法修复:索引计算与边界条件深度解析  Yandex搜索引擎官方地址 俄罗斯网络世界的主要入口  谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示  抖音怎么赚钱_抖音创作者变现方法与途径指南  Python实现多节点属性重叠度分析教程  C++如何生成随机数_C++ random库使用方法与范围设置  J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程  Mac怎么使用表情符号_Mac Emoji快捷键面板  海棠电脑版入口_通过电脑访问海棠官网阅读  黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】  React Hooks最佳实践:动态组件状态管理的组件化方案  C++指针和引用有什么区别_C++内存管理核心概念深度解析  使用J*aScript检测输入元素是否包含在特定类中  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  Win11如何使用Windows Sandbox Win11沙盒功能开启与使用教程【详解】  poki免费入口快捷访问 poki人气小游戏直接玩站点  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  J*aScript中管理异步API调用:确保操作顺序与数据一致性  12306选座怎么选到特殊座位_12306特殊座位选择注意事项  批改网学生版PC登录 批改网官网登录系统入口  Lar*el Form Request中唯一性验证在更新操作中的正确实现  火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧  手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】  “音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  c++中的std::launder有什么实际用途_c++对象生命周期与指针优化  win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法  CKEditor 5 自定义构建在React应用中渲染失败的调试与解决 

搜索