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模仿一下。


相关文章
|
29天前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
58 7
|
29天前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
24 5
|
29天前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
45 4
|
1月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
50 2
|
2月前
|
前端开发 开发者 UED
CSS技术的演变与应用
【10月更文挑战第11天】CSS技术的演变与应用
|
3月前
|
XML JavaScript 前端开发
JavaWeb基础4——HTML,JavaScript&CSS
HTML,JavaScript&CSS、元素、标签、css 选择器、属性、JavaScript基础语法、JavaScript对象、BOM浏览器对象模型、DOM文档对象模型、事件监听、正则对象RegExp/ES6
|
3月前
|
前端开发
|
3月前
|
Web App开发 移动开发 自然语言处理
|
Web App开发 前端开发
CSS入门级学习
css入门学习1:认识CSS  1.1:css简介,css全称是层叠样式表,Cascading style sheets   1.2:css的作用,主要是用于定义html内容在浏览器内的显示样式,如文字大小,颜色,字体加粗等     使用css样式的一个好处是通过定义某个样式,可以让不同的网页位置的字体有着统一的字体,字号或者颜色等   1.
1293 0
|
Web App开发 前端开发
CSS入门学习
    一,What?        CSS的全称是CascadingStyle Sheet,汉语意思是“级联样式表”,通常又称为“风格样式表(StyleSheet)”,它是用来进行网页风格设计的。
916 0

热门文章

最新文章