1.寻寻觅觅
先要找个到好效果~才能抄
如: www.cssplay.co.uk www.cssbeauty.com 等都能常常看到.
今天不小心路过cssplay
www.cssplay.co.uk/menus/magnifier2.html
好像好好玩滴样子
自己开起topstyle来试一下
建议大家看到好玩的样式~不要急着看他的CSS~没意义
2.自己动手~丰衣足食
运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>a</title>
<style type="text/css">
ul#hovershow{
list-style-type: none;
margin: 50px;
float: left;
display: inline;
clear: both;
}
ul#hovershow li{
float: left;
display: inline;
width:64px;
height: 64px;
margin: 2px;
}
ul#hovershow li a {
display: block;width:64px;
height: 64px;
}
ul#hovershow li a img{
border:1px #666 solid;
width:100%;
height:100%;
}
ul#hovershow li a:hover{
position: absolute;
z-index:100;
margin: -32px 0 0 -32px;
}
ul#hovershow li a:hover img{
width:128px;
height:128px;
border:1px red solid;
}
</style>
</head>
<body>
<ul id="hovershow">
<li><a href="1#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/1.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="2#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/2.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="3#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/3.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="4#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/4.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="5#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/5.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="6#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/6.jpg" width="128" height="128" alt="test" /></a></li>
<li><a href="7#" title="test"><img src="http://www.rotui.net/lab/a/zoom/images/7.jpg" width="128" height="128" alt="test" /></a></li>
</ul>
</body>
</html>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
做完自我感觉还不错
主要就是a:hover position: absolute; margin 三个.不过做后才发现~IE5的A失效了
3.取长补短
是时候看人家的CSS的~`虽然同样也是IE5的A失效
#enlarge {padding:0; margin:2em auto; list-style-type:none; width:240px; height:40px;}
#enlarge li {display:block; float:left; width:40px; height:40px; position:relative;}
#enlarge li a {display:block; width:40px; height:40px; background:transparent; overflow:hidden; position:relative;}
#enlarge li a img {width:100%; height:100%; border:0;}
#enlarge li a:hover {position:absolute; left:-20px; top:-20px; width:80px; height:80px; z-index:100;}
FT ~写得比人家多了一个定义~~
他的方法是用position:relative 配合left top 都是一样用负值来搞的~
4.举一反三
突然想到最近要写的擦车论坛~帖子下面的分页可以用这样来玩~
运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>a</title>
<style type="text/css">
ul#hovershow2{
list-style-type: none;
margin: 50px;
width:200px;
float: left;
display: inline;
clear: both;
}
ul#hovershow2 li{
float: left;
display: inline;
width:20px;
height: 20px;
margin: 2px;
}
ul#hovershow2 li a {
text-decoration: none;
display: block;
width:20px;
height:20px;
border:1px red solid;
background-color: White;
line-height: 20px;
font-size: 12px;
text-align: center;
}
ul#hovershow2 li a:hover{
position: absolute;
width:40px;
height: 40px;
line-height: 40px;
font-size: 32px;
z-index:100;
margin: -10px 0 0 -10px;
}
</style>
</head>
<body>
<ul id="hovershow2">
<li><a href="1#" title="test"><span>1</span></a></li>
<li><a href="2#" title="test"><span>2</span></a></li>
<li><a href="3#" title="test"><span>3</span></a></li>
<li><a href="4#" title="test"><span>4</span></a></li>
<li><a href="5#" title="test"><span>5</span></a></li>
<li><a href="6#" title="test"><span>6</span></a></li>
<li><a href="7#" title="test"><span>7</span></a></li>
</ul>
</body>
</html>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
好了更好玩~放弃IE了~
运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>a</title>
<style type="text/css">
ul#hovershow2{
list-style-type: none;
margin: 50px;
width:200px;
float: left;
display: inline;
clear: both;
}
ul#hovershow2 li{
float: left;
display: inline;
width:20px;
height: 20px;
margin: 2px;
}
ul#hovershow2 li a {
text-decoration: none;
display: block;
width:20px;
height:20px;
border:1px red solid;
background-color: White;
line-height: 20px;
font-size: 12px;
text-align: center;
}
ul#hovershow2 li a:hover{
position: absolute;
width:40px;
height: 40px;
line-height: 40px;
font-size: 32px;
z-index:100;
margin: -10px 0 0 -10px;
}
ul#hovershow2 li:hover + li a{
position: absolute;
width:30px;
height: 30px;
line-height: 30px;
font-size: 24px;
z-index:99;
margin: -5px 0 0 -5px;
}
</style>
</head>
<body>
<ul id="hovershow2">
<li><a href="1#" title="test"><span>1</span></a></li>
<li><a href="2#" title="test"><span>2</span></a></li>
<li><a href="3#" title="test"><span>3</span></a></li>
<li><a href="4#" title="test"><span>4</span></a></li>
<li><a href="5#" title="test"><span>5</span></a></li>
<li><a href="6#" title="test"><span>6</span></a></li>
<li><a href="7#" title="test"><span>7</span></a></li>
</ul>
</body>
</html>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
效果不是很是很理想
试过把后面的A宽改成到刚好挡到左边的~可是看不到数字~不好看,也试过一边用原来的方法。
一边用:after加了图片在左边~可是~一边有数字一边没有~更不好看~~又不可能做N张有数字的图片~扩展性不好。
也许这就是css本身所限
或许~用JS可以更简单的解决~````