JavaWeb学习之路(51)–CSS应用实例之导航栏

简介: 本文目录1. 前言2. 目标效果3. 开发过程3.1 定义列表3.2 调整高度与背景色3.3 调整内外边距3.4 去掉项目符号3.5 设置列表项高度和位置3.6 设置字体样式3.6 让文字垂直居中3.7 设置列表项边距3.8 添加悬停效果4. 小结

1. 前言

几乎所有网站都有导航栏,导航栏可以快速的定位到网站特殊内容部分。


本篇我们就来使用CSS,制作一个比较好看的导航栏。


2. 目标效果

我看了下最常用的几个网站的导航栏,发现腾讯首页导航栏效果还不错,如下:


我们就来做一个效果差不多的导航栏。


3. 开发过程

3.1 定义列表

首先我们导航栏是由多个菜单组成的,这种包含多个子项目的HTML元素,我们可以选用无序列表来实现。(当然也可以选择其他元素,不过列表的语义跟菜单比较相似,推荐使用)。


编写无序列表代码如下:


<body>

   <ul class="nav">

       <li><a href="#">新闻</a></li>

       <li><a href="#">视频</a></li>

       <li><a href="#">图片</a></li>

       <li><a href="#">军事</a></li>

   </ul>

</body>


我们为列表设置了nav样式类,后续通过该类设置列表的样式。此时效果如下:



3.2 调整高度与背景色

首先为nav设置高度与背景色,通过取色器取到颜色值为#1479D7,然后可以通过开发者工具,看到高度为44px,所以CSS修改为:


  .nav {

           height: 44px;

           background-color: #1479D7;

       }


此时效果如下:



3.3 调整内外边距

通过观察,我们发现导航栏距离浏览器左右边有一定距离,可以通过margin调整外边距,另外列表默认样式中含有内边距部分,会影响我们的布局,索性直接把内边距设为0。代码如下:


   .nav {

           height: 44px;

           background-color: #1479D7;

           margin: 0 100px;

           padding: 0;

       }


此时效果如下:



3.4 去掉项目符号

原来的效果中是没有项目符号的,我们通过list-style-type: none;去掉它,CSS修改为:


   .nav {

           height: 44px;

           background-color: #1479D7;

           margin: 0 100px;

           padding: 0;

           list-style-type: none;

       }


此时效果如下:



3.5 设置列表项高度和位置

此时我们继续观察,目前我们的列表项是垂直排列的,但是实际上列表项需要水平排列。此处可以通过float:left;来实现列表项从左到右水平排列。float是浮动的意思,在之前的教程中没有介绍,此处大家理解下使用float后,元素从左到右浮动排列就行了。另外我们将列表项高度也设置为44px,跟导航栏高度保持一致。


  .nav li {

           height: 44px;

           float: left;

       }


此时效果如下:



3.6 设置字体样式

通过开发者工具,我们能看到原来的字体样式和大小,此处直接借鉴过来,另外字体颜色毫无疑问是白色,然后还需要去掉超链接默认自带的下划线,所以将超级链接样式设置如下:


  .nav li a {

           font-family: SimSun, Arial, "Arial Narrow", HELVETICA;

           font-size: 1.1em;

           color: white;

           text-decoration: none;

       }


此时效果如下:



3.6 让文字垂直居中

我们知道导航栏高度为44px,那么如何让文字垂直居中呢?此处有一个非常常用的技术,就是设置元素行高度line-height,如果我们将元素行高度也设置为44px,意思是文本也占据44px的高度,那么文本自然就会处于44px高度的中间了。这是一种非常常用的垂直居中技术。如下:


 .nav li a {

           font-family: SimSun, Arial, "Arial Narrow", HELVETICA;

           font-size: 1.1em;

           color: white;

           text-decoration: none;

           line-height: 44px;

       }



此时效果如下:



3.7 设置列表项边距

目前列表项之间过于紧凑,我们可以通过margin增大边距,使其分散:


  .nav li a {

           font-family: SimSun, Arial, "Arial Narrow", HELVETICA;

           font-size: 1.1em;

           color: white;

           text-decoration: none;

           line-height: 44px;

           margin: 0 18px;

       }


此时效果如下,可以感觉比较相似了:



3.8 添加悬停效果

当鼠标悬停时,文字颜色和背景色会变化,我们可以通过取色器获取悬停的颜色值。如下:


  .nav li a:hover {

           color: #14539A;

           background-color: #CBE1ED;

       }


此时当鼠标经过时,效果如下:



4. 小结

至此,我们设计的导航栏跟腾讯首页的导航栏已经高度相似了,我觉得效果还不错。


大家可以去看看各网站的导航栏,好看的尝试用CSS模仿一下。


相关文章
|
7月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
363 1
|
7月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
350 0
|
8月前
|
前端开发 JavaScript
HTML/CSS/JavaScript基础学习day03-作业
本教程通过多个实例讲解JavaScript中for循环的常见用法,包括遍历数组、元素加1、求最大值/最小值、计算平均值、过滤偶数及字符串拼接等操作,并附有代码示例和运行结果图。
117 3
|
8月前
|
前端开发 JavaScript 算法
HTML/CSS/JavaScript基础学习day03-作业
本内容包含多个 JavaScript 编程示例,涵盖数组遍历、条件筛选、字符串处理、数值计算等常见操作,适合练习基础算法与逻辑思维。
178 5
|
8月前
|
前端开发 JavaScript
HTML/CSS/JavaScript基础学习day02-作业
本教程介绍了JavaScript基础编程练习,包括使用for循环打印数字、判断奇偶数、计算总和以及用if语句判断正数的方法。每部分均配有示例代码和运行结果图,帮助初学者理解循环与条件判断的应用。最后通过思维导图回顾所学内容,强化知识点记忆。
131 2
|
前端开发
JavaWeb学习之路(34)–CSS之边框样式
本文目录 1. 前言 2. 边框的样式 3. 边框宽度 4. 边框颜色 5. 简写属性 6. 单独设定各边样式 7. 小结
575 0
JavaWeb学习之路(34)–CSS之边框样式
|
11月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
827 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
677 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    473
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    363
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    350
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    235
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    469
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    636
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1019
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    250
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    860
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    433