通栏导航栏的制作,综合使用CSS属性,代码不超过30行

news/2024/7/5 18:48:00 标签: web前端, javascript, HTML5, 程序员, 编程开发

这篇文章,小编带领大家一同做一个利用CSS技术实现的导航栏。通过这个导航栏的制作,希望大家能够对前几篇文章中学习到的CSS属性能有一个整体的认识,并能够达到灵活运用的程度。

承接文章:灵活控制块级元素在一行内显示,CSS浮动属性,知道原理就很简单

技术等级:初级 | 适合前端开发的初学者阅读学习。

如果你是初学前端开发,强烈建议跟着文章中讲的步骤自己做一做。步骤不多,思路简单,占用不了大家太多的时间,自己做一遍,一定会收获不少。

一、导航栏效果图展示:

今天我们要做的导航栏效果如下图所示。

导航栏效果图展示

 

web前端/html5学习群:250777811

欢迎关注此公众号→【web前端EDU】跟大佬一起学前端!欢迎大家留言讨论一起转发

这个效果主要使用的是<ul></ul>标记对和<a></a>标记对共同实现的。

整个实例涉及到的CSS属性如下所示:

  • width

  • height

  • background-color

  • list-style-type

  • display

  • float

  • margin

  • line-height

二、实现页面效果:

首先为导航栏设置一个<div>容器,并设置其id属性的取值设置为nav。该容器用来控制导航栏的通栏位置。通栏的容器宽度应该设置为100%,这里高度设置为40px,颜色为#a72f2e。实现代码如下所示:

<div id=”nav”></div>

#nav{

width:100%; height:40px;

background-color:#a72f2e;

}

由于要在通栏的容器中显示固定宽度为1000px的导航栏主体,因此在该容器内部再制作一个<div>容器,用来盛放真正的导航栏代码。我们将它的class属性取值为navContent。这个容器的宽度设置为1000px,高度与#nav的高度等高,并且在#nav容器内部水平居中。实现代码如下所示:

<div class=”navContent”></div>

#nav .navContent{

width:1000px; height:40px;

margin:0 auto;

}

接下来在.navContent容器内部书写导航栏的各个条目。导航栏是使用<ul></ul>标记对实现的,而它的导航栏条目是利用<li></li>标记对书写的。因为导航栏需要单击后跳转页面,所以在<li></li>内部使用了<a></a>标记对。

这里要说明一点,因为<li></li>标记对是块级元素,<a></a>标记对是内联元素,因此要让<li></li>标记对包裹<a></a>标记对,不要用<a></a>标记对包裹<li></li>标记对。

这里以导航栏条目“首页”和“网站介绍”为例,下列HTML代码展示了导航栏的条目内容。

<ul>

<li><a href="index.html">首页</a></li>

<li><a href="#">网站简介</a></li>

</ul>

需要更多的导航栏条目,可以在<ul>标记对内部重复书写<li></li>和<a></a>的代码格式。

三、编写整个导航栏的CSS样式:

整个导航栏是使用<ul></ul>标记对实现的,所以需要对<ul></ul>标记对编写CSS样式。

由于无序列表的列表项左侧带有小圆点的项目符号,因此需要将该项目符号去掉。所以<ul></ul>标记对的CSS代码如下所示:

#nav .navContent ul{

list-style-type:none;

}

四、编写导航栏条目的CSS样式:

导航栏条目是使用<li></li>标记对实现的,所以需要对<li></li>标记对编写CSS样式。

由于<li></li>标记对是块级元素,因此即使去掉了左侧的项目符号,所有的条目依然都各自独占一行显示,所以需要让它们在一行内显示,这就需要让所有的<li></li>标记对左浮动。CSS代码如下所示:

#nav .navContent ul li{

float:left;

}

五、编写导航栏条目中链接的CSS样式:

导航栏条目中的链接是使用<a></a>标记对实现的,所以需要对<a></a>标记对编写CSS样式。

由于<a></a>标记对是内联元素,因此无法设置宽度和高度,也就无法为每一个导航栏条目设置尺寸。因此需要将<a></a>标记对转换为块级元素(display属性),然后设置宽度和高度(width属性和height属性)。

有了宽度和高度,就需要让链接的文本在容器中水平居中(text-align属性)和垂直居中(line-height属性)了。

最后去掉链接的下划线(text-decoration属性),并设置链接的文本颜色(color属性)。

导航栏条目中链接的CSS代码如下所示:

#nav .navContent ul li a{

display:block;

width:100px; height:40px;

text-align:center;

line-height:40px;

text-decoration:none;

color:#dddddd;

}

六、编写鼠标经过导航栏条目时的CSS样式:

鼠标经过导航栏目时,即使没有触碰到链接的文本部分,也应该能够进行跳转。因此需要对<a></a>标记对编写鼠标经过时的CSS样式。

鼠标经过时,希望背景颜色(background-color属性)和文本颜色(color属性)发生变化。

鼠标经过链接时的CSS代码如下所示:

#nav .navContent ul li a:hover{

background-color:#ff5857;

color:#ffffff;

}

七、整体代码:

至此,这个简单的导航栏效果就完全实现了,CSS整体使用了约30行代码。实现这个导航栏效果的HTML代码如下图所示。

web前端/html5学习群:250777811

HTML整体代码

实现这个导航栏效果的CSS代码如下图所示。

web前端/html5学习群:250777811

欢迎关注此公众号→【web前端EDU】跟大佬一起学前端!欢迎大家留言讨论一起转发


http://www.niftyadmin.cn/n/1733103.html

相关文章

常用软件过程——RUP

RUP是用例驱动&#xff0c;以架构为中心&#xff0c;迭代式开发过程。 一、用例驱动 用例&#xff08;Use Case&#xff09;是一种通过用户的使用场景获得需求的技术。区别于传统的功能分解获取需求的办法&#xff0c;用例方法强调用户是如何使用系统的&#xff0c;即描述用户与…

在OLED上用大于126的ASCII码显示定制符号

在OLED上用大于126的ASCII码显示定制符号 陈拓 2021/07/09-2021/07/09 1. 概述 在做嵌入式开发时我们经常会遇到显示非ASCII码符号的问题&#xff0c;比如摄氏温度符号或者一个充电的电池图标。而通常的字体库只能显示标准ASCII字符集的32-126个可打印字符。 在本文中我们将…

Web设计新手应知道的10个锦囊妙计

摘要&#xff1a;你在网页设计所学到的大多数教训都来自工作经验。学习是一个反复持续的过程&#xff0c;并且没有比犯错更好的方式来获得知识。在本文中&#xff0c;我们将讨论10个重要并常规的技巧&#xff0c;这是每位Web设计师新手都应该知道。 在做网站时会遇到很多的问题…

Win10的Linux子系统Ubuntu安装图形界面

Win10的Linux子系统Ubuntu安装图形界面 陈拓 2021/07/25-2021/07/26 1. 概述 Win10的linux子系统Windows Subsystem for Linux&#xff08;简称 WSL&#xff09;之Ubuntu安装见文章&#xff1a; 《Win10启用Linux子系统安装Ubuntu》 https://zhuanlan.zhihu.com/p/34139446…

仿Google自动补全 jQuery 不含索引处理

http://javazeke.javaeye.com/blog/512390关键字: 仿google自动补全自动补全1&#xff0e; 页面有一个文本框&#xff0c;一个自动提示层&#xff0c;一个按Xml代码1. <script type"text/javascript" src"../js/jquery-1.3.2.js"></script> 2…

在Win10的Linux子系统Ubuntu中使用Qt

在Win10的Linux子系统Ubuntu中使用Qt 陈拓 2021/07/26-2021/07/26 1. 概述 在《Win10的Linux子系统Ubuntu安装图形界面》 https://zhuanlan.zhihu.com/p/393145947 https://blog.csdn.net/chentuo2000/article/details/119104547 一文中我们为WSL安装了图形界面。在本文中…

IE6兼容png图片

<!--[if IE 6]><script src"/js/DD_belatedPNG.js"></script><script>DD_belatedPNG.fix(img,a.opt,.png_bg);</script><![endif]--> DD_belatedPNG.js源码 /*** DD_belatedPNG: Adds IE6 support: PNG images for CSS backgrou…

[从jQuery看JavaScript]-JavaScript

http://blog.csdn.net/natineprince/archive/2009/10/31/4751609.aspx什么是JavaScript&#xff1f;相信随便百度Google一下都能找到一大堆的定义解释。而在我的理解中&#xff0c;JavaScript就是一种客户端的脚本 语言&#xff0c;用于处理页面数据逻辑和用户体验&#xff08;…