让人不得不佩服的CSS效果

作者:eoe
1.寻寻觅觅
先要找个到好效果~才能抄
http://www.cssplay.co.uk/
http://www.cssbeauty.com
等都能常常看到

今天不小心路过cssplay
http://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>
   提示:你可以先修改部分代码再运行

做完自我感觉还不错~~~

主要就是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>
   提示:你可以先修改部分代码再运行

好了更好玩~放弃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>
   提示:你可以先修改部分代码再运行

效果不是很是很理想
试过把后面的A宽改成到刚好挡到左边的~可是看不到数字~不好看
也试过一边用原来的方法
一边用:after加了图片在左边~可是~一边有数字一边没有~更不好看~~又不可能做N张有数字的图片~扩展性不好 

也许这就是css本身所限
或许~用JS可以更简单的解决~````

相关推荐