您的位置:首页 > 其它

小挖掘 伪类:before & :after

2014-03-10 09:18 281 查看
转自:http://moreimagination.diandian.com/post/2012-03-22/17003323

before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:

#ex:before {
content:"#";
color:red;
}
#ex:after {
content:"$";
color:red;
}



这段代码会在#ex元素内容之前插入一个'#',以及在内容之后添加一个'$',插入的行内元素是作为#ex的子元素,效果如下:



如果没有content属性,伪类元素将没有任何作用。但是可以指定content为空,同时正如前面所说,插入的内容默认是一个行内元素,并且在HTML源代码中无法看到,这就是为什么称之为伪类元素的理由,所以也就无法通过DOM对其进行操作。

PS。浏览器支持情况

Chrome 2+,

Firefox 3.5+ (3.0 had partial support),

Safari 1.3+,

Opera 9.2+,

IE8+ (with some minor bugs),

Pretty much all mobile browsers.

放在伪类元素里面的内容一般都只是装饰性的,所以即便是IE6/7不支持也应该能降级到正常显示主体内容。

PS。第二次,可以用这两个伪类做些有意思的小玩意儿哦~例如画个太极图~!

上码!:

#yin-yang {
width: 96px;
height: 48px;
background: #fff;
border-color: #000;
border-style: solid;
border-width: 2px 2px 50px 2px;
border-radius: 100%;
position: relative;
margin: 50px 200px;
}
#yin-yang:before {
content: "";
position: absolute;
top: 50%;
left: 0;
background: #eee;
border: 18px solid #000;
border-radius: 100%;
width: 12px;
height: 12px;
}
#yin-yang:after {
content: "";
position: absolute;
top: 50%;
right: 0;
background: #000;
border: 18px solid #fff;
border-radius: 100%;
width: 12px;
height: 12px;
}


效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: