Hello Js

导航

记录一个css的综合运用

最近这两天在温习css的知识,基本是温故知新的一个过程,但颇有收获。

记录一个小应用,我在开发中也经常碰到的,很多的小细节。先上一个效果图。

看起来就是常见的网页菜单运用。这里要说明的是,两边的小红色三角形,也是用css来写的。

原理也简单,只是以前没用过,设置一个宽高都为0像素的标签,但是有border,如果将各个边的border设置成不同的颜色,可能会出现如下的现象。

比如上图就是一个上下border为黑色,左右border为红色的标签,样式为:width:0; height:0;border:20px solid black; border-left-color:red; border-right-color:red;

理解了这个,左边的小红三角就好做了,整个border为白色,左边的border为红色就可以了。这是第一个技巧,具体样式为:

.bor{
    width:0;
    height:0;
    border:8px solid #fff;    
    display: block;
    position: absolute;
    top:7px;
    overflow: hidden;
}
.wrap a:hover .bor-left{
    border-left-color:red;
    left:5px;
}

对于两个三角,采用了绝对定位。

这里记录下另外一个小技巧,也是开发中常常遇到的。

在给一个标签加hover样式的时候,如果hover时加了边框,会出现轻微的抖动的现象,这是因为加了边框后,原有标签所占的空间增大,挤到了相邻的标签。

为了预防这种抖动,可以对hover前的标签加白色边框,这样在hover的时候,只需要改变边框的颜色,而不会改变边框的大小,这样就不会产生抖动的现象了

 

 

posted on 2013-02-17 16:05  苏拉A梦  阅读(190)  评论(0编辑  收藏  举报