【web】一个自适应的导航栏前端设计(只含HTML+CSS)

简介: 【web】一个自适应的导航栏前端设计(只含HTML+CSS)

本文是基于上一篇文章的补充。

效果如下


q1.png

q2.png

q3.png

HTML源码


点击查看HTML代码

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>资源分享站 - 软件 网站 书籍文档 学习资料</title>
    <link href="css/index.css" rel="stylesheet" type="text/css">
</head>
<body>
    <header>
        <div class="box-logo">
            <a href="#" alt="资源分享站" class="logo">
                <div class="img-logo-box img-logo"
                    style="background: url(images/LOGO.png) no-repeat;background-size: 100% auto;">
                </div>
                <div class="img-logo-box text-logo">
                    萌狼工作室
                </div>
            </a>
            <nav>
                <ul>
                    <li><a href="#">资源</a></li>
                    <li><a href="#">首页</a></li>
                    <li><a href="#">网站</a></li>
                    <li><a href="#">关于</a></li>
                </ul>
            </nav>
            <div class="header-info">
                <a href=""><img src="images/search.svg" alt="搜索"/></a>
                <a href=""><img src="images/msg.svg" alt="消息"/></a>
                <a href=""><img src="images/moon.svg" alt="夜间模式"/></a>
                <a href="" class="sm-show"><img src="images/menu.svg" alt="夜间模式"/></a>
                <div class="btn-login">
                    <a>登录</a>
                </div>
            </div>
        </div>
    </header>
</body>
</html>

CSS源码

点击查看CSS代码

:root{
--font-main-color:black;
--font-hover-color:red;
--font-btn-color:snow;
--background-btn-color:red;
--background-color:snow;
--shadow-color:rgba(0,0,0,0.1);
}
*{
    margin: 0;
    padding: 0;
}
/*标签控制*/
a{
    text-decoration: none;
}
li{
    list-style: none;
}
/*标签控制结束*/
/*头部<header>开始*/
header{
    margin: 0;
    padding: 0;
    width:100%;
}
header .box-logo{
    width: 100%;
    display: flex;
    /*背景颜色*/
    background-color: var(--background-color);
    /*阴影*/
    box-shadow: 1px 1px 1px 1px var(--shadow-color);
}
header .logo{
    margin: 0;
    padding:0.25em 1em;
    height: 100%;
    font-size: 1.5em;
    /*设置字体颜色*/
    color:var(--font-main-color);
}
header .logo .img-logo-box{
    /*LOGO和文字在一行*/
    display: inline-block;
    /*LOGO和文字上下居中,实现对齐*/
    vertical-align:middle;
}
header nav{
    /*为了让它右边的元素靠右*/
    flex: 1;
    padding-left: 1em;
    /*因为父元素是flex,所以使用margin:auto可以实现内容垂直居中*/
    margin: auto;
    font-size: 1.3em;
}
header nav ul{
    display: block;
    margin: auto;
    vertical-align: middle;
}
header nav ul li{
    margin: auto 0.25em;
    /*让li标签横向排列*/
    display: inline-block;
}
header nav ul li a{
    /*设置字体颜色*/
    color:var(--font-main-color);
}
header nav ul li:hover a{
    color:var(--font-hover-color);
    text-decoration: var(--font-main-color) 1px;
}
header .header-info{
    display: contents;
    margin: auto;
    padding-right: 1.5em;
}
header .header-info a{
    margin: auto 0.5em;
}
header .header-info .btn-login{
    margin: auto 1em;
    /*因为父元素设置了display:contents,所以这里就用设置display:inline-block;*/
    /*display: inline-block;*/
    color:var(--font-btn-color);
    background-color: var(--background-btn-color);
    border-radius: 5px;
}
/*默认*/
@media (min-width: 767px){
    header .logo .img-logo{
        height: 1.5em;
        width: 1.5em;
    }
    header .logo .text-logo{
        font-size: 1.3em;
    }
    header .header-info .sm-show
    {
        display: none;
    }
    header .header-info a img{
        width: 1.5em;
    }
    header .header-info .btn-login a{
        font-size: 1.25em;
    }
}
/* 横向放置的手机和竖向放置的平板之间的分辨率 */
@media (max-width: 767px) {
    header .logo{
        /*nav不显示时,靠logo将最右边的元素挤到最右*/
        flex:1;
    }
    header .logo .img-logo{
        height: 1.2em;
        width: 1.2em;
    }
    header .logo .text-logo{
        font-size: 1em;
    }
    header nav{
        display: none;
    }
    header .header-info a img{
        width: 1.2em;
    }
    header .header-info .btn-login a{
        font-size: 1em;
    }
}
/* 横向放置的手机及分辨率更小的设备 */
@media (max-width: 480px) {
    header .logo{
        /*nav不显示时,靠logo将最右边的元素挤到最右*/
        flex:1;
    }
    header .logo .img-logo{
        height: 1em;
        width: 1em;
    }
    header .logo .text-logo{
        font-size: 0.8em;
        display: none;
    }
    header nav{
        display: none;
    }
    header nav{
        display: none;
    }
    header .header-info a img{
        width: 1em;
    }
    header .header-info .btn-login a{
        font-size: 1em;
    }
}
/*CSS 折叠 复制 全屏


相关文章
|
8天前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
26 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
28天前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
64 34
|
29天前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
53 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
30天前
|
前端开发
“弘五四,耀青春”程序创意获奖作品【html+css】
本作品以“青春筑梦,共创未来”为主题,采用动态龙元素展现青春活力与创新精神。页面设计简洁明快,色彩协调,突显年轻人积极向上的风貌。作品内容包括获奖截图、名字《时代扬新帆》及源代码分享。特别说明:禁止用于商业活动,可用于比赛和作业等开源场景。最后,作者表达了对五四精神的致敬与传承,强调了青春活力和创造力的重要性,并感谢评委和支持者。 **获奖感言摘录:** “获得这个奖项,对我们团队来说,既是认可也是激励。我们将继续努力,不断优化产品,为用户带来更好的体验,为社会贡献更多价值。”
33 2
|
1月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
123 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
1月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
79 33
|
1月前
|
移动开发 前端开发 搜索推荐
《前端技术基础》第01章 HTML基础【合集】
超文本标记语言(HyperText Markup Language,简称 HTML)是构建网页结构的基础标记语言。它与 CSS、JavaScript 协同,负责搭建网页“骨架”,用标签组织内容,像标题、段落、图片等元素,通过起始与结束标签(部分可单用,如`<img>`)界定层级与布局,将信息有序整合。标签含特定语义,向浏览器传达展示方式,为网页准确呈现及后续美化、交互筑牢根基。
83 25
|
1月前
|
前端开发 开发者 UED
《前端技术基础》第02章 CSS基础【合集】
层叠样式表(Cascading Style Sheets,简称CSS)是一种用于描述网页视觉表现的语言。该语言与HTML协同工作,其中HTML负责构建网页的结构,而CSS则负责定义网页的外观和格式。CSS通过一系列规则来实现样式的应用,这些规则由选择器(Selectors)和声明块(Declaration Blocks)构成。选择器的作用是明确指出哪些HTML元素将受到特定样式规则的影响,而声明块则包含了具体的样式声明,这些声明定义了元素的视觉属性和相应的值。
53 1
|
1月前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
2月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
116 24

热门文章

最新文章

  • 1
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    详解智能编码在前端研发的创新应用
  • 5
    巧用通义灵码,提升前端研发效率
  • 6
    智能编码在前端研发的创新应用
  • 7
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 8
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 9
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 10
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    13
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    26
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    20
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    54
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    342
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    40
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    22
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    55