当年看到LIVID的作的效果不错,写学着写了一个。但布局和他的不一样,CSS也是重写的。
当时的那个例子请看这里:客齐集社区头像显示的一个效果 :
写完那个后,有人说看不太明白是什么意思,今天正好有空,就简单说一下这个效果的CSS。
先看一下这个效果!
Source Code to Run
[www.21shipin.com]首先看一下布局:
Example Source Code
[www.21shipin.com]<div id=\"zishu_test\">
<ul>
<li><a href=\"\"><span>64d / 47 hits</span><img src="../img/divcss/200810515305343677803.jpg">pixu</a></li>
<li><a href=\"\"><span>24d / 35 hits</span><img src="../img/divcss/200810515305347677804.jpg">秀才</a></li>
<li><a href=\"\"><span>66d / 87 hits</span><img src="../img/divcss/200810515305352677805.jpg">透露</a></li>
<li><a href=\"\"><span>40d / 34 hits</span><img src="../img/divcss/200810515305357677806.jpg">LIVID</a></li>
<li><a href=\"\"><span>47d / 56 hits</span><img src="../img/divcss/200810515305368677807.jpg">老孟</a></li>
<li><a href=\"\"><span>42d / 36hits</span><img src="../img/divcss/200810515305381677808.jpg">小玉</a></li>
<li><a href=\"\"><span>63d / 67 hits</span><img src="../img/divcss/200810515305390677809.jpg">pixu</a></li>
</ul>
</div>
这个布局中的DIV可以不用加,因为里边的标签已经足够多了,完全可以用CSS控制每一处了。
布完局了,先看一下现在的效果:
Source Code to Run
[www.21shipin.com]上边的代码中是没有加CSS是的效果,什么也没有,就一个有序列表!
下面,我们开始加CSS。
Example Source Code
[www.21shipin.com]//第一行设制一下BODY,定义全局,文字大小为12PX,行间隙是正常的1.8倍。文字居中,其它的没有什么大用,我就说一下主要的。
body{ font-size:12px; line-height:1.8; font-family:Verdana, \"宋体\", Arial,Sans; text-align:center; background:#FFF; color:#666; margin:50px; padding:0; list-style:none; }
//以下两行是定义一下链接文字和背景色彩和下划等。
a:link,a:visited{color:#000099; text-decoration: underline;}
a:hover,a:active{color:#000;text-decoration: none;}
这会加了以上三行CSS先看一下效果:
Source Code to Run
[www.21shipin.com]接下来,我们开始把LI的属性干掉,然后再横向排列一下。用以下代码:
Example Source Code
[www.21shipin.com]//用list-style,margin,padding把LI的一些本身的属性都干掉。然后再用float:left让他们左对齐,这样就实现在了横向排列,这里定义的宽度为14%;是因为一共有七个头像,7乘以14%是98%; 基本上就算是一百了。
#zishu_test li{ float:left; width:14%;text-align:center; margin:0 auto; list-style:none }
以下是这时的效果:
Source Code to Run
[www.21shipin.com]这是你会看到二行文字和国片在同一行上,还乱七八糟的。
所以我们让IMG以块级元素显示,这样,就可以分成三行了。 另外,因为鼠标没有移到头像上时SPAN里边的内容是不可见的。所以这里我们也把SPAN里边的内容隐藏一下;
Example Source Code
[www.21shipin.com]//让图像以块级元素显示,长和宽都写死了。加了一个1PX的边框,用PADDING让这个边框离图像3PX的像素。
#zishu_test li img{ width:75px; height:75px; display:block; text-align:center; margin:auto; background:#FFF; padding:3px; border:1px solid #D8A18B;}
//把SPAN里的内容隐藏
#zishu_test li span{display:none;}
这里基本应该有个大概的样子出来了。看下边的效果;
Source Code to Run
[www.21shipin.com]但是这时是没有鼠标移上去出现SPAN的效果;所以我们用下边的代码加一下;
Example Source Code
[www.21shipin.com]这一行是定义鼠标移上去后SPAN的效果;这里我用的绝对定位,但用了绝对定位后,SPAN的内容就会把图片给遮住;所以我又加了一句margin-top:10px;意思是把SPAN的内容向上移动10PX;用display:block定义一下以块级元素显示;其它的不说了;
#zishu_test li a:hover span{ margin-top:-10px;display:block; border-bottom:1px solid #666; border-right:1px solid #666; background:#FA9000; width:100px; color:#FFF; position:absolute; }
//以下这行是定义A里边内容的效果;有了个边框,但是白色,所以你看不到,又加了个背景色也是白的,你也看不到。你可以试着改成别的色,看一下效果;
#zishu_test li a{border-right:1px solid #fff;border-bottom:1px solid #fff; width:100px; height:110px; background:#fff;display:block; padding-top:10px; margin:auto}
//以下这行是定义鼠标移上去后A里边内容的效果;给边框改一个色,改了个背景色等;
#zishu_test li a:hover{ border-right:1px solid #D8A18B;border-bottom:1px solid #D8A18B; width:100px; height:110px; background:#F5F5F5;display:block; padding-top:10px;}
以下是这时的效果,基本全部完事了。
Source Code to Run
[www.21shipin.com]但这时,你会发现,在IE6和IE7以及FIREFOX中的SPAN的的位置都不一样;由于IE7不熟悉important;所以用下边两行代码分别为IE6和IE7分别设置一下;
Example Source Code
[www.21shipin.com]//以下两行代码分别只有IE6和IE7才能熟悉;别的不认
* html #zishu_test li a:hover span {margin-left:-8px; } /* IE6 */
* html #zishu_test li a:hover span {margin-left:-8px; }/* IE7*/
好了,全部的就完了,其实一点也不难;但可能是新手还不熟吧;
Source Code to Run
[www.21shipin.com]我语言表达能力不行,可能有些地方一些新手还是看不太明白;那。。。那。。。我也没有办法;你多试几下就明白了;
另外;这样的代码还能优化一点;但我没有优化;因为一些优化过的;别人更不好理解了;
再另外;这里边的错别字一定相当多;我没有没有检查;有错字或读不通的地方;你就多猜一下吧;
本文作者:zishu