CSS自定义导航栏悬浮(三种实现方式)

html-css07

CSS自定义导航栏悬浮(三种实现方式),第1张

提供三种自定义导航栏悬浮的方法

在自定义组件中设定css 样式:

利用 position: fixed

利用 position: fixed

css超链接的伪类中表示鼠标悬浮上的是hover。要定义链接样式,其中必不可少的就是超级链接中的锚标签,锚标签和伪类链接起来书写的方法就是定义链接样式的基础方法,写法如下:link,定义正常链接的样式。visited,定义已访问过链接的样式。hover,定义鼠标悬浮在链接上时的样式。active,定义鼠标点击链接时的样式。其中::link和:visited只能用于设置超链接a,:hover和:active则可适用所有元素,hover用来表示鼠标移入的状态,active用来表示鼠标点击。

1、将对应的大图小图存放在同一个li标签中(鼠标悬浮到小图时,方便定位到大图)。

2、内部样式中利用"display:none"隐藏大图所在div。

3、鼠标悬浮到相应区域时,修改同li标签下大图所在div的display属性("display:block")。

小结:1、最上层的div必须定位,否则无法约束子元素。

2、li标签设置浮动时,图片会重叠,无法排成一列。浮动必须落实到图片。

3、小照片放在span标签中,变成了内联元素。需为其添加"display: block"转换为块级元素,才能设置图片外边距.

以下是代码:

[html] view plain copy

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

*{

margin: 0px

padding: 0px       }

/*相框背景*/

#all{

width: 800px

height: 800px

background: greenyellow

position: relative

/*父元素必须定位,否则无法约束子元素*/

}

/*相册大图*/

#all ul li .big img{

width: 500px

height: 400px

}

#all ul li .big{

position: absolute

left: 70px

top: 130px

display: none/*内部样式中隐藏大图所在div*/

}

/*小图设置*/

#all ul li .smallhover img{

width: 70px

height: 50px

position: absolute

right: 100px

float: left/*设置浮动,可使图片排成一列*/

}

#all ul li .smallhover{

/*因为小照片放在span标签中,变成内联元素。设置display: block将其转换为块级元素,才能设置图片外边距*/

display: block

margin-top: 40px

overflow: hidden

}

/*实现效果,鼠标悬浮在小图片时,相应的大图片显示*/

#all ul li:hover .big{

display: block

}

</style>

</head>

<body>

<div id="all">

<ul>

<li>

<!--小图-->

<span class="smallhover"><img src="img/lotus1.jpg"  /></span>

<!--大图-->

<div class="big" style="display: block" >

<!--设置初始图片-->

<img src="img/lotus1.jpg" />

</div>

</li>

<li>

<span class="smallhover"><img src="img/lotus2.jpg"  /></span>

<div class="big"><img src="img/lotus2.jpg"  /></div>

</li>

<li>

<span class="smallhover"><img src="img/lotus3.jpg"  /></span>

<div class="big"><img src="img/lotus3.jpg"  /></div>

</li>

</ul>

</div>

</body>

</html>