我是如何实用:before :after
本文地址http://www.cnblogs.com/Bond/p/3972854.html
最近一直做移动端,没和IE6打交道了,瞬间感觉世界变美好了。移动端虽然还是各种坑,但是比起修复IE6那还是轻松多了,移动端很多效果可以用CSS3来做,感觉一切都和谐的。
:before :after 也许大家认识它是从清楚浮动开始的。它在我眼里就是两个标签,而且非常实用好用,常用它你会发现,你可以省去很多冗余的标签。也许以前你用的是三个标签,而现在你只需要一个标签就能搞定。
总结下最近是如何实用它两的。
关闭按钮,这个只需一个标签,完全用css3实现,×用:before 和:after

.close{
position: absolute;
width: 30px;
height: 30px;
background-color: rgba(0, 0, 0, .5);
border-radius: 50%;
right: -10px;
top: -15px;
}
.closee:after, .close:before {
content: "";
background-color: #FFFFFF;
height: 2px;
width: 22px;
border-radius: 2px;
position: absolute;
left:;
top:;
right:;
bottom:;
margin: auto;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
.close:before {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
这种和上面的类似,直接一个标签,里面用:before和after来搞定

这种可以用:before和:after来做,不过相对就麻烦,但是用:before和:after可以控制两条线之间的角度。 如果想简单,假设两条线之间的角度是90,那么可以直接用border加旋转,或者是用阴影加上旋转就可以搞定。

/*→箭头 》》》》》》 用border来做,用阴影方法类似*/
.r:after {
position: absolute;
right: -10px;
top:;
bottom:;
margin: auto 0;
content: "";
display: block;
height: 6px;
width: 6px;
border-top: 2px solid #c6c6c6;
border-right: 2px solid #c6c6c6;
transform: rotate(45deg);
}
像这种文字前后都有图片,那个图片看似可以用css3来写,不过貌似不规则,没办法只能切图片。 文字前后均有这个直接用:before和:after 是多么美好

/* 背景斜线 */
p:before,p:after{
position: absolute;
content: "";
width: 23px;
height: 1em;
background: url('XXXXX.png') left bottom no-repeat;
background-size: 17px 10px;
}
p:before {
left:;
top: 13px;
}
微博上的箭头,那个小三角。可以用:before来做。不过新浪微博肯定不是那样做的,在pc端要考虑兼容性问题,他是直接放在一个span标签中的,可是我们在移动端那就不用怕,直接用:before吧.这样可以少一个span标签。 关于三角的实现方法也多。纯css可以,里面内容用◆,color设置为相应的颜色即可。

这种文字居中,居中之后后面还有一个图片。后面的图片直接用:after 可以减少一个标签

这种和上面类似,文字如果在h1标签中,那么那个箭头直接用:afterjiu 就搞定了

<p class="XX">关注XXX,我们将引导你 <br>获得XXXXXXXXX</p>
.text {
position: relative;
color: #333333;
font-size: 16px;
text-align: center;
line-height: 26px;
font-weight: bold;
margin: 32px 0 28px;
}
.text :after {
content: "";
position: absolute;
width: 52px;
height: 52px;
right: -2px;
top: 6px;
background: url('Xxxx.png') no-repeat;
background-size: 32px auto;
}
说了:before 和:after用起来多么爽,我不得不说下box-shadow,
之前的》》》》》 可以用box-shadow来做

这个效果一个标签搞定,外面圆一个,里面长方形用:before 三个点用:after 加上box-shadow

三个点这样做
p{
width: 100px;
height: 100px;
border-radius:50%;
background:#666666;
box-shadow:105px 0 #666666,
210px 0 rgba(200,200,200,.4);
}
下面这个加载动画,N个小圆点,其实就是一个点加上N个box-shadow。每个box-shadow位置不同,透明度不同而已,只需一个标签即可搞定。

css3是多么的强大,自己平时也没系统地学习css3, 买了本《css3图解》,以后慢慢研究。
看两个碉堡的css3
http://css-tricks.com/examples/ShapesOfCSS/
http://www.cnblogs.com/lhb25/p/create-simpsons-characters-pure-css.html
腾讯的企鹅 美团的小娃娃 他们都用纯css来画过,有兴趣可以去研究下,css3不是一般的强大。
我是如何实用:before :after的更多相关文章
- partial class 说明
C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...
- 三星galaxy s4问题解决及快捷操作
http://blog.csdn.net/pipisorry/article/details/38474827 三星galaxy s4更改锁屏方式时出现故障 屏幕锁定设置除password以外,其它锁 ...
- 三星galaxy S4快捷功能
你不知道的s4那些快捷操作全面挖掘 1.截屏:S4有三种截屏方法: 一种是常见的同一时候按住home键和电源键大概2秒左右时间. 另外一种是打开手势感应,设定→我的设备→动作与手势→手掌动作→截取屏幕 ...
- 【转】哦,mysql 的其它发行版本Percona, mariadb
原文:http://geek.csdn.net/news/detail/130146 2016年11月25日,沃趣科技"智慧应用 数据先行"2016产品发布会暨新三板挂牌庆祝会在杭 ...
- C#基础知识之Partial class
C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...
- C#基础知识之Partial
C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...
- TabActivity中的Tab标签详细设置
参考链接: http://www.iteye.com/topic/602737 这个写的很不错,我是跟着一步步写下来的,不过到最后也遇到了麻烦,就是不能将Tab标签的文字和图片分开,始终是重合的,而且 ...
- vue2.x核心源码深入浅出,我还是去看源码了
平常的工作就是以vue2.x进行开发,因为我是个实用主义者,以前我就一直觉得,你既然选择了这个框架开发你首先就要先弄懂这玩意怎么用,也就是先熟悉vue语法和各种api,而不是去纠结实现它的原理是什么. ...
- Sublime Text实用小技巧
1.输入"!"或"html:5",然后按Tab键: html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于 ...
随机推荐
- android开发工具类之获得WIFI IP地址或者手机网络IP
有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="and ...
- 导出EXCEL数据时防止数值变科学计数的办法
网上有很多说法,最简单直接正确的做法是判断一下是否为数值以及长度,然后给单元格加上以下CSS即可: mso-generic-font-family:auto; mso-font-charset:1 ...
- magento 数据结构
首先要知道是EAV模式,这种结构要比普通数据结构更容易扩展,但是带来的就是查询速度慢,好在magento的缓存机制不错 最重要的3张表eav_entity_type,eav_entity_attrib ...
- 20160421javaweb之上传下载小案例---网盘
一.建立数据库: CREATE TABLE IF NOT EXISTS `netdisk` ( `id` ) NOT NULL AUTO_INCREMENT, `uuidname` ) NOT NUL ...
- C# 类是怎么执行的?
C# 类是怎么执行的? public class Person{ static person(){} //不写,默认也有个空的 public person(){}//不写,默认也有个空的 public ...
- java读写csv
http://blog.csdn.net/snn1410/article/details/9278887
- SqlServer优化博客网址
CareySon Sql Server MVP : http://www.cnblogs.com/CareySon/
- java新手笔记2 数据类型
1.注释 /** doc注释 * 类说明信息 */ //声明类 文件名与类名一致 public class World {//类定界符 //声明方法 main方法 public static void ...
- 关于Spring AOP和IOC的一些总结
Spring官方网站:https://spring.io/ 最早对象的创建是有new关键字,但是如果产生的类比较繁多或者复杂,就用工厂代替new关键字,但是工厂的控制能力有限,譬如对产生对象的生命周期 ...
- ZJK的黑OJ(树的最大独立集)(树形DP)
ZJK的黑OJ zjk开了一家"善良OJ".这其实是家黑OJ.每AC一道题,网站便会自动在电脑上安装一种木马.zjk通过窃取信息获取收益(如网游帐号.OI资料.和KK的照片等等). ...