:before与:after伪类的应用
1.小三角样式
.tip{
position:relative;
display:inline-block;
width:100px;
margin:100px;
padding:30px 20px;
color:#fff;
border:1px solid #666;
border-radius:5px;
background-color:rgba(0,153,51,1);
}
.tip:before{
content:'';
position:absolute;
top:15px;
left:-20px;
border:10px solid #666;
border-color:transparent #666 transparent transparent;
}
.tip:after{
content:'';
position:absolute;
top:15px;
left:-18px;
border:10px solid rgba(0,153,51,1);
border-color:transparent rgba(0,153,51,1) transparent transparent;
}
2.取消浮动
.float{
border:1px solid #000;
zoom:1; /*解决ie6,ie7浮动问题*/
}
.float:after{
content:'';
display:block;
width:0;
height:0;
clear:both;
}
.fl{
float:left;
width:300px;
height:200px;
color:#fff;
background:rgba(204,51,0,1);
}
.fr{
float:right;
width:300px;
height:200px;
color:#fff;
background:rgba(0,102,102,1);
}
1.:after消除浮动,父元素需加zoom:1,建议使用,
2.在父元素的末尾加一个孩子,<div style="clear:both"></div>
3.在父元素中增加overflow:hidden; 不能和position配合使用,因为超出的尺寸的会被隐藏
4.在父元素中增加overflow:auto;前提是必须定义width 或 zoom:1,并且不能定义height
5.父元素一起浮动,不推荐使用
6.给父元素增加display:table,不建议使用
3.单选或复选
.simple{
width:100px;
height:20px;
border:1px solid #000;
line-height:20px;
padding:10px;
display:inline-block;
}
.simple input{
display:none;
}
.simple label:before{
content:'';
display:inline-block;
width:15px;
height:15px;
vertical-align:-2px;
margin-right:5px;
border:1px solid #000;
}
.simple input:checked + label:before{
content:'';
display:inline-block;
width:15px;
height:15px;
background:rgba(255,51,0,1);
vertical-align:-2px;
margin-right:5px;
border:1px solid #000;
}
.middle{
display:inline-block;
position:relative;
overflow:hidden;
}
.middle input{
display:none;
}
.middle label{
padding:10px;
display:inline-block;
border:1px solid #000;
}
.middle input:checked + label{
border:rgba(0,255,255,1) 1px solid ;
}
.middle input:checked + label:after{
content:"";
position:absolute;
bottom:0px;
right:0px;
width:10px;
height:10px;
border-radius:10px 0 0 0;
display:inline-block;
background:#F03;
color:#fff;
}
.hight{
display:inline-block;
position:relative;
}
.hight input{
display:none;
}
.hight input + label:before{
content:'';
display:inline-block;
width:48px;
height: 24px;
margin-right:10px;
vertical-align:-6px;
background:#e0e0e0;
position:relative;
border-radius:24px;
transition:background 0.3s;
}
.hight input + label:after{
content:'';
display:inline-block;
width:20px;
height:20px;
border-radius:20px;
background:#fff;
position:absolute;
top:2px;
left:2px;
transition:left 0.32s;
}
.hight input:checked + label:before{
background:rgba(153,0,153,1);
}
.hight input:checked+label:after{
left:26px;
}
.diff{
display:inline-block;
position:relative;
}
.diff label{
width:auto;
height:48px;
}
.diff label input{
display:none;
}
.diff label input + i{
content:'';
position:relative;
width:48px;
height:24px;
border-radius:24px;
background:#e0e0e0;
display:inline-block;
transition:background 0.3s;
}
.diff label input + i:after{
content:"";
position:absolute;
top:2px;
left:2px;
display:inline-block;
background:#fff;
width:20px;
height:20px;
border-radius:20px;
transition:left 0.3s;
}
.diff label input:checked + i{
background:#0F0;
}
.diff label input:checked + i:after{
left:26px;
}
:before与:after伪类的应用的更多相关文章
- 谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- CSS3 nth 伪类选择器
考察下面的 HTML 代码片段: <div> <section>section 1</section> <section>section 2</s ...
- CSS权威指南之css声明,伪类,文本处理--(简要笔记一)
1.css层叠的含义 后面的会覆盖前面的样式 2.每个元素生成一个框,也称盒. 3.替换元素和非替换元素. img如果不指定src的外部路径,该元素就没有意义.他由文档本身之外的一个图像文件来替换 ...
- CSS-用伪类制作小箭头(轮播图的左右切换btn)
先上学习地址:http://www.htmleaf.com/Demo/201610234136.html 作者对轮播图左右按钮的处理方法一改往常,不是简单地用btn.prev+btn.next的图片代 ...
- 伪类before和after
以你添加的元素为基础!在他的里面!也就是他的内容的前面或者后面添加东西! 如果原来的元素没有内容会出现什么情况?(伪类的宽和高和元素的相等)
- 解密jQuery内核 Sizzle引擎筛选器 - 位置伪类(一)
本章开始分析过滤器,根据API的顺序来 主要涉及的知识点 jQuery的组成 pushStack方法的作用 sizzle伪类选择器 首页我们知道jQuery对象是一个数组对象 内部结构 jQuery的 ...
- 利用伪类:before&&:after实现图标库图标
一.实现如下效果 二.代码实现思路 图案一源码 <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- CSS笔记之伪类与伪元素
伪类分为两种:UI伪类 与 结构化伪类 UI伪类:a:link{} a:hover{} a:active{} a:visited{} input[type='text']:focus{} ...
- W3School-CSS 伪类 (Pseudo-classes) 实例
CSS 伪类 (Pseudo-classes) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) ...
- <a>链接的四个伪类顺序
<a>元素的作用是可以创建一个链接,链接对应4个状态:未访问,已访问,鼠标悬停,鼠标点击瞬间. 为了给链接的4个状态应用样式,引入伪类的概念. 什么是伪类呢?简单点说,就是你没定义这个类, ...
随机推荐
- jQuery插件实现select下拉框左右选择_交换内容(multiselect2side)
效果图: 使用jQuery插件---multiselect2side做法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...
- 使用NSTimer实现倒计时-备
今天在CocoaChina上面看到有人在问倒计时怎么做,记得以前在看Iphone31天的时候做过一个,今天翻出来运行不了了,原因是我的IphoneSDK升级到3.1了,以前使用的是2.2.1,在2.2 ...
- 自制单片机之十一……模数转换IC ADC0809
我们重在实际制做,太罗嗦的内容我就不说了,只讲些跟制做有关的最精炼的知识. ADC0809是可以将我们要测量的模拟电压信号量转换为数字量从而可以进行存储或显示的一种转换IC.下面是它的管脚图和逻辑图: ...
- 给Qt生成的exe执行程序添加版本信息
Windows下的.exe可执行文件的属性中有版本这个信息,含有版本信息.描述.版权等.对于qt程序,要含有这样的信息,那就请如下操作:新建<工程名>.rc文件,在rc文件填入下的信息: ...
- Android开发多线程断点续传下载器
使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线.电量不足等情况下,这就需要使用到断点 ...
- poj 3134 Power Calculus(迭代加深dfs+强剪枝)
Description Starting with x and repeatedly multiplying by x, we can compute x31 with thirty multipli ...
- jQuery插件开发 格式与解析
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...
- Android Dependencies小差号引起的问题
问题是由于Android Dependencies小差号引起的,下午一搞Android的哥们在群里说最近导入的几个工程每个都是Android Dependencies报错,小差号,我先说解决方法: 方 ...
- ngui点击与场景点击判断
注:NGUI 组件上加上 BoxCollider 并设置区域大小 public void OnMouseDown() { if (UICamera.hoveredObject == null) ...
- HDU 1027 Ignatius and the Princess II 选择序列题解
直接选择序列的方法解本题,可是最坏时间效率是O(n*n),故此不能达到0MS. 使用删除优化,那么就能够达到0MS了. 删除优化就是当须要删除数组中的元素为第一个元素的时候,那么就直接移动数组的头指针 ...