位置: IT常识 - 正文

CSS — 导航栏篇(一)(div+css导航栏)

编辑:rootadmin
CSS — 导航栏篇(一) Navigation Bar

推荐整理分享CSS — 导航栏篇(一)(div+css导航栏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:css导航栏样式,css导航栏怎么做,css导航栏怎么做,css怎么让导航栏居中,div+css导航栏,css导航栏怎么做,css实例之简单好看的导航栏,css导航栏菜鸟教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Navigation Bar 是什么?这就是每个网站都会有的导航栏,本文将会带你接触导航栏的世界。首先我们需要了解导航栏的作用——它能快速帮助用户进行需求选择。一个清晰的导航栏能让用户第一时间了解网站的基本模块功能,而且作为网站的开头,它的形象也是非常重要的。想象你进入一个网站,然后它导航栏长下面这个样子(像极了你写完 CSS 代码,然后不小心删掉的样子),你还会想去浏览吗?

假如你从来没写过网页的导航栏,没关系,耐着性子看完这篇文章,你会受益匪浅!哦对了,假如你连 HTML 也不会,那这边给你个传送门 学习 HTML,其实真的不难,起码先看看 HTML 长什么样子。那么接下来我们正式开始吧

1、组成

常见的导航栏一般由这几部分组成:

选项列表:就是你可以点就去的一个个功能子选项列表:我这里称之为二级列表,就是鼠标滑过选项列表,出来的更详细的列表(当然还有三级列表,但都是一个道理)搜索框:便于用户搜索目标内容,当然有些可能不在导航栏上面LOGO:网站的大 logo,牌面

那么基本的组成就这么多,你说还有?剩下的都是看个人喜好放上去的,但是要记住一点,导航栏要简洁,不要花里胡哨!

2、LOGO

LOGO 主要还是得看你的审美,因为不同的 LOGO 放置的位置不同,可能会带来完全不同的视觉体验。但是大家一般都是放在左上角。 LOGO 基本都是纯图片(推荐)或者图片+文字,所以 CSS 的样式设置也非常有限。为什么推荐纯图片呢,还不是为了方便,多了文字你还得重新排版,闲的慌呢?我之前还见过将图片拆开来的,这怕不是嫌 CSS 代码不够多。下面展示几种常见的摆法,看看就行,因为 LOGO 摆放不是我们的重点,你需要学会的是 LOGO 怎么设计才对

Google 放在左上角:

CSDN 也是在左上角:

CSS — 导航栏篇(一)(div+css导航栏)

W3school 的(学前端的常用网站):

中南大学的放在中间(是不是很惊艳):

3、功能菜单列表

我们的第一个重点,为什么叫列表呢?因为在 HTML 中它基本上就是由列表标签(< ul >、< ol >、< dl >、< li >)和链接标签(< a >)组成的。选项一般情况下横向排列,中间等距隔开,那么首先我们先写一个框架,就是 HTML 列表的应用

<!-- 首先先把 HTML 的代码写完,这个不难的,大家看的时候一定要按照逻辑来看,不要死磕一句 --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Navigation Bar</title> <!-- 我们将 HTML 和 CSS 代码分开写,分离可以让代码可读性更好--> <link href="css/style.css" rel="stylesheet" type="text/css"></head><body><!-- 养成习惯,导航栏用 div 块包起来,名称为 header --><div id="header"> <!-- 这里每一个功能都设置了 class 名称 --> <ul> <div class="menu"> <li class="front-page"><a href="#">首页</a></li> <li class="blog"><a href="#">博客</a> <!-- 这是一个子列表 --> <ul class="blog-subfunction"> <li><a href="#">写博客</a></li> <li><a href="#">删博客</a></li> <li><a href="#">看博客</a></li> </ul> </li> <li class="course"><a href="#">课程</a></li> <li class="developer-mall"><a href="#">开发者商城</a></li> <li class="answer-request"><a href="#">问答</a></li> <li class="community"><a href="#">社区</a></li> </div> </ul></div></body></html>

先看看初步的样子:

想想我们需要哪些修改:

功能横向排放,并保持间距列表的黑色圆点去掉字体颜色、大小、间距改一下不要忘了,我们不希望子列表出现在这里,而希望鼠标滑过 “博客” 的时候显示/* 接下来开始美化,我们一步步来,不要急用 CSS 美化网页的时候一定要遵循 从上到下、从外到内 的原则从上到下:先出现的标签,先设置样式从内到外:出现标签嵌套的时候,先设置外部标签的样式,再设置内部标签的样式。这是因为外部标签可能会影响内部标签 *//* 全局样式设置,内边距和外边距都为 0,因为很多标签自带边距,这是我们不希望的 */*{ margin:0; padding:0;}/* 去掉所有列表前面的黑色圆点 */li { list-style: none;}/* 去掉链接的下划线 */a { text-decoration: none;}/* 接下来开始设置局部样式,看着代码有点多,其实只要明白逻辑,书写并不是很困难。有心的读者可以发现,博主一直在强调逻辑,因为代码是多变的,而逻辑是固定的,我们以后在书写网页代码的时候,一定是有目的的书写,而不是用 Google 开发者工具一个个试 *//* 设置 header(导航栏)的宽高以及背景色,一般我们会指定一个高度,方便内部元素继承这个属性 */#header { background-color: #008080; width: 100%; height: 50px;}/* 设置列表样式,注意这里的 menu 并不是指代 ul 标签,而是 ul 下面的 div 块标签 */#header .menu { display: flex;/* display: flex:弹性盒子,很适合多个元素按一行或者一列排开 */ height: 100%;/* 设置和导航栏 header 相同的高度 */ line-height: 50px;/* 设置行高,注意不要使用 inherit(继承),因为 menu 的父标签不是 header,而是 ul,我们并没有设置 ul 的行高,无法继承 */ max-width: 600px;/* 最大宽度 */ padding: 0 20px;/* 左右内边距均为 20 像素 */}/* 设置 ul 中每一个 li 的样式*/#header .menu li{ height: 100%;/* 设置高度,让每一个标签的高度也等于 header 高度 */ }/* 设置 li 的鼠标移过动画 */#header li:hover { background: #4c9e9e; transition: 0.5s;/* 持续 0.5 秒 */}/* 设置 li 中 a 标签样式,可以发现我们严格按照从外到内的原则编写样式 */#header .menu li a { font: bolder normal 16px Source Sans Pro; color: #fff;/* 不解释,看不懂的补 CSS 知识去 */ padding: 14px 15px;}

那么到这里为止,我们将基本的样式设置完毕,除了子选项还没有设置(别忘了我们希望子选项一开始不可见!)

初始样式(这里我将字体颜色设置为黑色,不然会和背景的白色重叠,你们去试的时候字体颜色记得改掉!)

/* 接下来我们先找找上述列表的需要改进的地方:1、“博客” 间距有点大2、让下方三个子选项消失 ↓ 见代码 ↓ *//* 设置“博客”子列表,注意还是按照从外到内的原则,这里设置的是 ul */#header .menu .blog-subfunction{ display: none;/* 重点※,取消可见,让整个子列表处于不可见状态,也可以使用 visibility: hidden */ position: absolute;/* 又一个重点※,首先我们分析一下为什么 “博客” 宽度要明显大于其他选项,这是因为它和下方的 “写博客”、“删博客” 同归在一个块内,那块的宽度当然取决于字最多的,也就是 3 个字宽度,所以我们希望 “博客” 和下方的分开,这时候就需用将下方的块进行绝对定位处理! */ background: #008080; border-radius: 5px;/* 圆角处理 */}/* 设置 ul 中的 li 标签 */#header .menu .blog-subfunction li{ padding: 0 0.5em; text-align: center;}/* 本场第二个 hover,功能为:鼠标移过 “博客” 的时候,下方的 子列表 处于可见状态解释一下选择器:这相当于是一个后代选择器,解释为当鼠标移动到 header 的 menu 上面的 bolg 时,下方的列表该咋办(仔细品) */#header .menu .blog:hover .blog-subfunction{ display: block;}

现在看看最终的样式:

这只是一种写法而已,写网页绝对不能被限制了,还有很多动画或者骚操作可以靠 CSS 和 JavaScript 实现。博主写的只是一种思路,学习 technology 还得从思路入手。这里篇幅有限,就介绍到这里

总结一下:

介绍了导航栏的组成介绍了 LOGO 该如何放置,设计自己去想如何写选项菜单(重点)

下一篇文章我们会接触导航栏第二个重点 —— 搜索框(传送门)。就这样吧,鼠标一点,收藏到手,你的支持就是博主的最大动力,感谢看到这里的你!

本文链接地址:https://www.jiuchutong.com/zhishi/297484.html 转载请保留说明!

上一篇:Vue中 引入使用 babel-polyfill 兼容低版本浏览器(vuecdn方式引入)

下一篇:JavaScript 删除对象中的某一项(js删除对象的方法)

  • windows10重置此电脑(Windows10重置此电脑C盘内容会清空吗)

    windows10重置此电脑(Windows10重置此电脑C盘内容会清空吗)

  • 淘宝怎样删除未付款订单(淘宝怎样删除未完成的订单)

    淘宝怎样删除未付款订单(淘宝怎样删除未完成的订单)

  • 星号怎么打(星号怎么打在右上角)

    星号怎么打(星号怎么打在右上角)

  • 微信商家收款码限额吗(微信商家收款码收费标准2023)

    微信商家收款码限额吗(微信商家收款码收费标准2023)

  • oppok3微信视频没有美颜是吗(oppo微信视频来了没反应)

    oppok3微信视频没有美颜是吗(oppo微信视频来了没反应)

  • qq群作业修改以后会提示吗(qq群作业提交的文件怎么修改)

    qq群作业修改以后会提示吗(qq群作业提交的文件怎么修改)

  • iphone11充电器是多少w(iphone11充电器是什么接口)

    iphone11充电器是多少w(iphone11充电器是什么接口)

  • 面向过程语言有哪几种(面向过程语言有图形用户界面吗)

    面向过程语言有哪几种(面向过程语言有图形用户界面吗)

  • 微信如何清空消息列表(微信如何清空消息记录)

    微信如何清空消息列表(微信如何清空消息记录)

  • 华为mate30如何取消超级快充(华为MATE30如何取消锁屏密码)

    华为mate30如何取消超级快充(华为MATE30如何取消锁屏密码)

  • qq附近50赞满了怎么办(qq附近点赞)

    qq附近50赞满了怎么办(qq附近点赞)

  • 苹果7plus摄像头附近烫(苹果7plus摄像头多少钱)

    苹果7plus摄像头附近烫(苹果7plus摄像头多少钱)

  • 华为p40是直屏还是曲屏(华为p40是不是直屏)

    华为p40是直屏还是曲屏(华为p40是不是直屏)

  • 手机卡升级5g需要换手机吗(手机卡升级5g需要换套餐吗)

    手机卡升级5g需要换手机吗(手机卡升级5g需要换套餐吗)

  • 手机插耳机有声音外放没声音(手机插耳机有声音外放也有声音)

    手机插耳机有声音外放没声音(手机插耳机有声音外放也有声音)

  • cpu速度是指什么(cpu的速度用什么单位)

    cpu速度是指什么(cpu的速度用什么单位)

  • 微信踢人怎么踢出去(微信踢人怎么踢出去图片)

    微信踢人怎么踢出去(微信踢人怎么踢出去图片)

  • win10系统如何清理内存(win10系统如何清理垃圾文件)

    win10系统如何清理内存(win10系统如何清理垃圾文件)

  • vue视频怎么加字幕(如何在vue视频上写字)

    vue视频怎么加字幕(如何在vue视频上写字)

  • 手机锁屏热点咨询怎么关闭(手机锁屏热点就没了)

    手机锁屏热点咨询怎么关闭(手机锁屏热点就没了)

  • 红米k20如何插卡(红米k20如何插卡视频教程)

    红米k20如何插卡(红米k20如何插卡视频教程)

  • 联通上行路线怎么激活(联通上行链路连接不上)

    联通上行路线怎么激活(联通上行链路连接不上)

  • 微信wps小程序怎么取消(微信wps小程序怎么退出登录)

    微信wps小程序怎么取消(微信wps小程序怎么退出登录)

  • linux怎么更改屏幕分辨率?linux屏幕分辨率的设置教程(linux怎么改桌面背景)

    linux怎么更改屏幕分辨率?linux屏幕分辨率的设置教程(linux怎么改桌面背景)

  • 没有桌面和任务栏只有鼠标怎么办(没有桌面和任务栏怎么办)

    没有桌面和任务栏只有鼠标怎么办(没有桌面和任务栏怎么办)

  • vue3+vite在main.ts或者main.js文件中引入/App.vue报错(/App.vue不是模块)

    vue3+vite在main.ts或者main.js文件中引入/App.vue报错(/App.vue不是模块)

  • 进项税额加计抵减5%
  • 何谓关税
  • 企业税务包括哪些内容
  • 从价计征房产税怎么算 原值和出租房原值
  • 普票需要填写全部开票信息吗
  • 应收款时间太长怎么处理
  • 小规模企业所得税多少
  • 间接持股数怎么计算
  • 预缴增值税项目编号填写错误怎么办
  • 广告业务增值税税率
  • 汇票贴现的账务处理
  • 销售发票的会计处理
  • 进口化妆品消费税率是多少
  • 财产损失怎么办
  • 收到政府划拨的固定资产会计处理
  • 冲减应付账款
  • 金蝶标准版结转损益发生错误
  • 合伙企业需要缴纳什么税
  • 滴滴客运服务费免税
  • 免租要怎么交税
  • 信托真实案例
  • 临时业务开票
  • 上级工会返还的会计分录
  • 电商企业如何确定产品结构
  • 开业好不好
  • 银行存款二级科目怎么增加
  • 内存坏了电脑会黑屏吗
  • 使用u盘安装linux
  • 在win7系统中文件属性有哪些
  • 没有开工没有收入用书面语言表达
  • 酒店采购布草如何入账
  • 装机电源怎么装
  • vue3中使用require
  • 用php做计算
  • 非合理损耗计入入账成本吗
  • 关于php文件的自动播放
  • vuex iframe
  • 07. vue3+vite+qiankun搭建微应用前端框架,并接入vue3微应用
  • 印花税是1%吗
  • 存货盘盈盘亏会涉及到其他应收款吗
  • 怎样在网上领取
  • 企业提取盈余公积属于什么会计科目
  • 销售返利账务处理及注意事项
  • 残保金都要申报吗
  • 酒店周转材料怎么摊销
  • 年总资产平均余额是什么
  • 固定资产处置是当月还是下月
  • 背书转让流程图
  • 怎么修改申报数据
  • 对公转账房租如何填写备注
  • 技术转让费如何收取合理
  • 营改增后土地出让增值税
  • 本年利润每个月需要结转吗
  • 以现金形式发工资的公司
  • 外贸退税是算利润吗
  • 公司每个月申报怎么报的
  • 忘交残保金了怎么补交
  • 增值税稽查补交税会计处理
  • mysql5.5中文乱码解决
  • Windows Server 2008下的网络排错
  • centos crontab每天执行
  • 重装系统需要主机吗
  • mac u盘启动盘
  • win7系统连接打印机没有反应
  • win10周年版
  • win7共享文件设置
  • js修改内容
  • DOS命令删除文件夹
  • 批处理自动登录有密码的程序
  • 仿百度首页
  • node运行js文件
  • JavaScript中Math.SQRT2属性的使用详解
  • 小规模纳税人网上申报
  • 广西南宁税务12366
  • 个人转让住宅需要缴纳什么税
  • 特定公共服务是什么意思
  • 福州税务实名认证
  • 税费银联缴款
  • 增值税专用发票注明的金额是含税还是不含税
  • 增值税发票如何红冲
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设