整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端入门教程网页导航栏制作教程(技术:HTML+CSS)

航条效果图:

我们先来看一下,首先这个整体我们可以看成一个大盒子,盒子的背景颜色为白色。

然后看一下整体的话是占到整个导航条的80%左右,上图红色框圈出的范围。

这个盒子又分为两个部分,左侧的logo部分,右侧的导航部分。


整个布局用到的是flex布局:

大家可以去看一下阮一峰老师的教程:

阮一峰flex布局


左侧logo部分我们用到的标签有:

1、h3标签:

<h3><a href="index.html">多多鱼网页</a></h3>

h3是一对有开始有闭合的标签组合。以<h3>开始,以</h3>结束。

html h3标签主要用于布局标题、栏目类内容,h3与h1最大标题标签相比,h1标签一般一个网页中使用一次,而h3标签可以在一个网页中多次使用。默认CSS h3又比h2文字大小小一点。

html h3标签常见应用地方:


栏目标题可以使用h3标签
文章标题可以使用h3标签
文章标题列表可以使用h3标签(一般图文列表中,图片使用img引入,文章标题文字使用h3标签)


2、a标签:

<a href="index.html">多多鱼网页</a>

<a> 标签定义超链接,用于从一张页面链接到另一张页面。

<a> 元素最重要的属性是 href 属性,它指示链接的目标。

在所有浏览器中,链接的默认外观是:

未被访问的链接带有下划线而且是蓝色的

已被访问的链接带有下划线而且是紫色的

活动链接带有下划线而且是红色的


右侧的导航部分我们用到的标签有:

一、无序列表简介

无序列表,很好理解,有序列表的列表项是有一定顺序的,而无序列表的列表项是没有顺序的。默认情况下,无序列表的项目符号是●,不过可以通过无序列表type属性来改变无序列表的列表项符号。

语法:

<ul>
    <li>无序列表项</li>
    <li>无序列表项</li>
    <li>无序列表项</li>
</ul>

说明:

<ul>,即“unordered list(无序列表)”。<li>,即“list(列表项)”。理解标签语义更有利于你记忆,而记忆HTML标签的语义是HTML的基础。

在该语法中,使用<ul></ul>标签表示一个无序列表的开始和结束,<li>表示这是一个列表项。在一个无序列表中可以包含多个列表项。

注意,<ul>标签和<li>标签也是配合使用,没有单独使用,而且<ul>标签内部不能存在任何其他标签,一般情况下只能存在<li>标签(对于初学者,我们忽略嵌套列表)。这个概念要非常清楚,在网站开发后期很容易犯错。(这个情况跟有序列表一样)。


右侧导航代码:

<ul>
   <li class="active">
	<a href="index.html">首页</a>
   </li>
   <li>
	<a href="">网页模板</a>
   </li>
   <li>
	<a href="">学习资料</a>
   </li>
   <li>
	<a href="">常见问题</a>
   </li>
   <li>
	<a href="">网页作业</a>
   </li>
   <li>
	<a href="">联系我们</a>
   </li>
</ul>

视屏教程:

果图

html部分:先写用div画好六个导航的卡片,再利用css添加响应效果

<div class='card-holder'>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-01'>
                <span class='card-content'>item #1</span>
            </div>
        </a>
    </div>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-02'>
                <span class='card-content'>long menu item #2</span>
            </div>
        </a>
    </div>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-03'>
                <span class='card-content'>menu item #3</span>
            </div>
        </a>
    </div>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-04'>
                <span class='card-content'>item #4</span>
            </div>
        </a>
    </div>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-05'>
                <span class='card-content'>menu item #5</span>
            </div>
        </a>
    </div>
    <div class='card-wrapper'>
        <a href='#'>
            <div class='card bg-06'>
                <span class='card-content'>long menu item #1</span>
            </div>
        </a>
    </div>
</div>

css部分:通过hover选择器和transition属性实现导航响应式操作,即可实现如图效果

a:link,
a:hover,
a:visited,
a:active {
  color: #fff;
  text-decoration: none;
}
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
}
.card-holder {  
  position: fixed;
  width: 0px;
  overflow: visible;
}
.card-wrapper {
  display: inline-block;
  float: right;
  clear: both;
}
.card {
  position: relative;
  left: 32px;
  padding: 16px 32px 16px 64px;
  margin: 8px;  
  background: #fff;
  transition: all 0.3s ease-in-out 0.1s;
}
//添加导航的响应式效果
.card:hover {
  position: relative;
  left: 100%;
  margin-left: -32px;
  transition: all 0.3s ease-in-out;
}
.card-content {
  display: inline-block;
  color: #fff;
  font-family: 'Droid Sans', sans-serif;
  font-size: 16px;
  font-weight: bold;
  white-space: nowrap;
}
.bg-01 { background: #539770; }
.bg-02 { background: #4B7D74; }
.bg-03 { background: #8DC2BC; }
.bg-04 { background: #EDD6B4; }
.bg-05 { background: #BE7467; }
.bg-06 { background: #E2AE63; }

然后就能实现我们这个实用又美观的侧边导航栏啦

CSS

#goTopBtn, #goBottom, #shangy, #xiay, #menuPage, #lPage, #fPage{

width: 18px;

line-height: 1.2;

padding: 5px 0;

font-size: 12px;

text-align: center;

position: fixed;

right: 10px;

cursor: pointer;

filter: Alpha(opacity=30);

opacity=.3;

font-weight:bold;

}

#goTopBtn, #goBottom, #menuPage, #lPage, #fPage{

background-color:#999;

color:#000;

}

#shangy, #xiay, #lPage, #fPage{

background-color: #bbb;

color: #000;

}

#fPage{

bottom: 236px;

height:42px;

white-space:nowrap;

overflow:hidden;

//writing-mode:tb-rl;

}

#menuPage{

bottom: 198px;

height:27px;

white-space:nowrap;

overflow:hidden;

}

#lPage{

bottom: 145px;

height:42px;

white-space:nowrap;

overflow:hidden;

}

#goTopBtn{

bottom: 105px;

}

#goBottom {

bottom: 30px;

}

#shangy {

bottom: 80px;

}

#xiay {

bottom: 55px;

}

#goTopBtn:hover, #goBottom:hover, #shangy:hover, #xiay:hover, #menuPage:hover, #lPage:hover, #fPage:hover{

background-color:#ccc;

border:#ccc 0px solid;

}

#goTopBtn a:link, #goBottom a:link, #xiay a:link, #shangy a:link, #menuPage a:link, #menuPage a:visited, #lPage a:link, #fPage a:link, #lPage a:visited, #fPage a:visited {

text-decoration: none;

color:white;

}

2 HTML

<div id="fPage"><a id="fPagea" href="javascript:void(null)" target="_self">上<br />一<br />页</a></div>

<div id="menuPage"><a href="index.html" target="_self">目<br />录</a></div>

<div id="lPage"><a id="LPagea" href="javascript:void(null)" target="_self">下<br />一<br />页</a></div>

<div style="display:none" id="goTopBtn"><a target="_self" style="color:#fff;">&and;</a></div>

<div style="display:none" id="shangy">

<a onclick="shangy()" target="_self" style="color:#fff;">&uarr;</a></div>

<div id="xiay">

<a onclick="xiay()" target="_self" style="color:#fff;">&darr;</a></div>

<div id="goBottom">

<a onclick="downn()" target="_self" style="color:#fff;">&or;</a></div>

3 JS

<script type=text/javascript>

goTopEx();

function xiay(){

window.scrollBy(0,window.innerHeight-10);

}

function shangy(){

window.scrollBy(0,-window.innerHeight+10);

}

var obj3=document.getElementById("xiay");

var obj4=document.getElementById("goBottom");

function getHeight(){

if(browser4=="ch"){

//谷歌浏览器

return document.body.clientHeight;

}else{

//IE、firefox等浏览器

return document.documentElement.clientHeight;

}

}

getHeight()<window.innerHeight+50?obj3.style.display="none":obj3.style.display="";

getHeight()<window.innerHeight+50?obj4.style.display="none":obj4.style.display="";

if(browser4!="ch"){//firefox需要尝一下才显示向下图标

xiay();

shangy();

}

//上一页、下一页按钮,需要文件名是数字

var strUrl=window.location.href;

var arrUrl=strUrl.split("/");

var thispage=arrUrl[arrUrl.length-1];

var thispage2=thispage.split(".");

var thispage3=thispage2[thispage2.length-2];

if(thispage3 == 1){

var obj5=document.getElementById("fPage");

obj5.style.display="none"

}else{

var fpage = thispage3 - 1;

fpage = fpage +".html"

document.getElementById("fPagea").href=fpage;

}

if(thispage3 == 100){

var obj6=document.getElementById("lPage");

obj6.style.display="none"

}else{

var fpage = thispage3 - 1;

fpage = fpage +".html"

document.getElementById("fPagea").href=fpage;

}

</script>

当将鼠标停留在“上一面”按钮处时,网页效果如下:

-End-