我是如何实用: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开发之玩转FlexboxLayout布局
在这之前,我曾认真的研究过鸿洋大神的Android 自定义ViewGroup 实战篇 -> 实现FlowLayout,按照大神的思路写出了一个流式布局,所有的东西都是难者不会会者不难,当自己能自 ...
- CentOS6.3挂载读写NTFS分区
CentOS不像Fedora,默认是没有自动挂载NTFS的,而它可以利用NTFS-3G来实现挂载及读写. NTFS-3G 是一个开源的软件,可以实现 Linux.Free BSD.Mac OSX.Ne ...
- Java用DOM操作xml
JAXP DOM方式解析XML文档实例增删改查package jiexi; import javax.xml.parsers.DocumentBuilder; import javax.xml.par ...
- 如何创建windows xp 虚拟机
如何创建windows xp 虚拟机 一.所需软件 1. VMware-workstation-full-12.0.0-2985596 赠送vm12 激活key一枚: 5A02H-AU243 ...
- socket的NIO操作
一.前言 Java中直接使用socket进行通信的场景应该不是很多,在公司的一个项目中有这种需求,所以根据自己的理解和相关资料的参考,基于NIO 实现了一组工具类库,具体的协议还未定义,后续再整理 二 ...
- ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代
ArcGIS Runtime SDK 10.2.5 for WPF is now available! by mbranscomb and Rex Hansen on January 27, 2015 ...
- 09_Mybatis开发Dao方法——mapper代理开发规范
一.开发规范 需要编写mapper.xml映射文件(本项目为userMapper.xml,类似于前面的user.xml). 编写mapper接口需要遵循一些开发规范,这样MyBatis可以自动生成ma ...
- UVA 11584 Paritioning by Palindromes(动态规划 回文)
题目大意:输入一个由小写字母组成的字符串,你的任务是把它划分成尽量少的回文串.比如racecar本身就是回文串:fastcar只能分成7个单字母的回文串:aaadbccb最少可分成3个回文串:aaa. ...
- HTTP中Get与Post、ViewState 原理
Http是请求,响应的模型,服务器不会来读取浏览器的网页,只能够得到客户端提交过来的数据当用户点击提交,服务器就知道"提交回来了"(PostBack) Get与Post 设置for ...
- 锋利的Jquery解惑系列(二)------插件开发大总结
申明:插件开发是实际项目就经常用到的,不过也是挺吃力的.笔者自己做项目时,看着我们老大写的jQuery一头桨糊,那叫个痛苦.后面果断买了本参考书以及浏览别人的博客,现在也算慢慢入门了.现在总结自己的一 ...