css3复杂选择器+内容生成+Css Hack
1、复杂选择器
2、内容生成
3、多列
4、CSS Hack(浏览器兼容性)
=======================================
1、复杂选择器
1、兄弟选择器
1、特点:
1、通过位置关系来匹配元素(平级)
2、只能向后找,不能向前找
2、兄弟选择器-相邻兄弟选择器
1、什么是相邻兄弟
紧紧挨在一起的元素,称之为相邻兄弟
<div id="d1"></div>
<p id="p1"></p>
<span id="span"></span>
2、语法
选择器1+选择器2
ex:
#d1+p{color:red;}
3、兄弟选择器-通用兄弟选择器
1、什么是通用兄弟
后面所有
2、语法
选择器1~选择器2
ex:
#d1~p{color:green;}
#d1~.blueColor{color:blue;}
2、属性选择器
1、属性选择器
允许使用元素所附带的属性及其值来匹配页面的元素
ex:匹配页面中所有的文本框(匹配页面中所有 type=text 的 input 元素)
2、语法
[attr=值]
3、详解
1、[attr]
attr:表示某一具体属性名称
作用:匹配 附带 attr 属性的元素
ex:
[id] : 匹配页面中所有 附带 id 属性的元素
2、elem[attr]
elem:表示页面中某一具体元素
ex:
div[id]:匹配页面中所有附带id属性的div元素
3、[attr1][attr2]... ...
作用:匹配 即具备attr1属性同时也具备attr2属性的元素
ex:
p[id][class]:匹配页面中即有id属性又有class属性的p元素
4、[attr=value]
value:表示某一具体数值
作用:匹配 attr属性值为value的所有元素
ex:
input[type=text]
5、[class~=value]
作用:
1、用在多类选择器中
2、匹配 class 属性值 是以 空格 隔开的值列表,并且 value 是该值列表中的一个独立的值 的元素
6、[attr^=value]
^= : 以 ... 作为开始
作用:匹配 attr 属性值 以 value 作为开始的元素
7、[attr*=value]
*= : 包含 ... 字符
作用:匹配 attr 属性值中 包含 value字符的元素
8、[attr$=value]
$= : 以 ... 作为结束
作用:匹配 attr 属性值 以 value 作为结束的元素
属性选择器中,所有的值,都可以使用 "" 或 '' 引起来
[class="c1"]
[class='c1']
[class=c1]
3、伪类选择器
1、目标伪类
1、作用
突出显示活动的HTML锚元素
2、语法
elem:target
2、元素状态伪类
1、作用
匹配 元素已启用,被禁用,被选中的状态
主要应用在表单控件上
2、语法
1、:enabled
匹配 每个已启用(未被禁用)的元素
2、:disabled
匹配 每个被禁用的元素
3、:checked
匹配 每个被选中的元素(radio,checkbox)
3、结构伪类
1、作用
通过元素间的结构关系,来匹配元素
2、语法
1、:first-child
匹配属于其父元素中的首个子元素
ex:
td:first-child{color:red;}
2、:last-child
匹配属于其父元素中的最后一个子元素
ex:
td:last-child{color:green;}
3、:nth-child(n)
匹配属于其父元素中的第n个子元素
4、:empty
匹配没有子元素的元素
注意:也不能包含文本
5、:only-child
匹配属于其父元素中的唯一子元素
<div id="d1">
<p id="p1"></p>
</div>
4、否定伪类
1、作用
将 满足条件的 选择器匹配的元素 排除出去
2、语法
:not(选择器)
ex:
#tbl td:not(:first-child){
color:red;
}
匹配:除每行第一列以外的剩下所有列
4、伪元素选择器
伪类:匹配元素的不同状态,匹配到的是元素
伪元素:匹配的某个元素中的某部分内容
1、:first-letter 或 ::first-letter
匹配某元素的首字符
2、:first-line 或 ::first-line
匹配某元素的首行字符
3、::selection
匹配被用户选取的部分
: 与 ::的区别
1、:
既能表示 伪类选择器
也能表示 伪元素选择器(CSS2)
2、::
在 CSS3 中 表示伪元素选择器
尽量选择 :来使用,即表示伪类也表示伪元素
2、内容生成
1、伪元素选择器
1 、:before 或 ::before
匹配 某元素的 内容区域之前
<div>(:before)这是一个div</div>
2、:after 或 ::after
匹配 某元素的 内容区域之后
<div>这是一个div(:after)</div>
2、属性
属性:content
取值:
1、字符串 : 纯文本
使用的话,要用""引起来
content:"台词:";
2、图像 : url()
content:url(xxx.jpg);
3、计数器
demo
子曰:学而时习之,不亦乐乎!
-论语
<span>学而时习之</span>
<span>有朋自远方来</span>
3、解决的问题
1、浮动元素的父元素高度
.clear:after{
content:"";
display:block;
clear:both;
}
<div class="clear"></div>
2、外边距溢出
#d2:before{
content:"";
display:table;
}
4、计数器
1、什么是计数器
使用CSS 动态生成一组 有序的数字并且插入到元素中
2、语法
1、属性- counter-reset
1、作用
声明或重置计数器
2、语法
counter-reset:名 初始值;
counter-reset:名1 值1 名2 值2;
注意:
1、初始值可以省略不写,默认为0
2、不能放在使用的元素中声明,大部分情况下,可以将计数器声明在使用元素的父元素上(结合实际情况考虑)
2、属性- counter-increment
1、作用
指定计数器每次出现的增量
即每次出现的计数器值的变化范围
2、语法
counter-increment:名 增量1;
counter-increment:名1 增1 名2 增2;
注意:
1、增量值可以为正,也可以为负,也可以省略
为正:递增
为负:递减
省略:默认增量为1
2、哪个元素使用计数器,在哪个元素中设置计数器增量
3、函数- counter()
1、作用
在指定元素中,使用计数器的值
必须要配合 content 属性一起使用
content要配合着 :before 或 :after 一起使用
2、语法
xx:before{
content:counter(名);
}
demo:
1、Web 基础知识(c1) - 声明c2 计数器
1.1 基础1 (c1.c2)
1.2 基础2 (c1.c2)
1.3 基础3 (c1.c2)
2、html 快速入门(c1) - c2 复位成 0
2.1 入门1 (c1.c2)
2.2 入门2 (c1.c2)
3、网页中的文本(c1) - c2 复位成 0
3.1 文本1 (c1.c2)
3.2 文本2 (c1.c2)
3、多列
1、语法
1、分隔列
属性:column-count
取值:数字
2、列间隔
属性:column-gap
取值:px为单位的数值
3、列规则
作用:定义每两列之间的线条样式
属性:column-rule
取值:width style color
2、兼容性
Chrome & Safari:
-webkit-column-count:
-webkit-column-gap:
-webkit-column-rule:
Firefox:
-moz-column-count:
-moz-column-gap:
-moz-column-rule:
4、CSS Hack
1、原理
使用CSS属性优先级解决兼容性问题
2、CSS Hack 的实现方式
1、CSS类内部Hack
在样式属性名或值的前后增加前后缀以便识别不同的浏览器
2、选择器Hack
在选择器前增加前缀以便识别不同的浏览器
* : IE6 识别
*+: IE7 识别
div{
background-color:red;
}
/*以下浏览器只有在IE6中能识别*/
*div{
background-color:green;
}
/*以下浏览器只有在IE7中能识别*/
*+div{
background-color:blue;
}
3、HTML头部引用Hack
使用HTML条件注释判断浏览器版本
css3复杂选择器+内容生成+Css Hack的更多相关文章
- CSS选择器、CSS hack及CSS执行效率
主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS 一.CSS选择器.优先级与 ...
- CSS系列:CSS3新增选择器
1. CSS1定义的选择器 选择器 类型 说明 E 类型选择器 选择指定类型的元素 E#id ID选择器 选择匹配E的元素,且匹配元素的id为“id”,E选择符可以省略. E.class 类选择器 选 ...
- CSS content内容生成技术以及应用
content属性早在CSS2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容.此特性目前已被大部分的浏览器支持:(Firefox 1.5+, Safari 3.5+, IE ...
- CSS content内容生成技术以及应用(转)
一.哗啦哗啦的简介 zxx://这里“哗啦哗啦”的作用是为了渲染一种氛围.content属性早在 CSS2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容.此特性目前已被大部 ...
- CSS 内容生成
原文地址:http://www.zhangxinxu.com/wordpress/?p=739 一.哗啦哗啦的简介 zxx://这里“哗啦哗啦”的作用是为了渲染一种氛围.content属性早在CSS2 ...
- CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码
CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码 CSS Animatie 彩蛋爆料直击现场 CSS Animatie是一款在线制作CSS3动画的工 ...
- 小tip:巧用CSS3属性作为CSS hack——张鑫旭
一.开篇小问题 题目:实现类似下图的宽度自适应效果,IE9+,FireFox,Chrome,Opera等使用CSS3实现,IE6~8浏览器使用图片实现. 计时思考…… 二.思考中 ————- 假设这是 ...
- CSS选择器及CSS3新增选择器
转自:http://www.cnblogs.com/libingql/p/4375354.html 1. CSS1定义的选择器 选择器 类型 说明 E 类型选择器 选择指定类型的元素 E#id ID选 ...
- 巧用css内容生成
1. .box:before{content:"生成内容";}在.box内部的内容之前加上生成内容 2. .box:after{content:"生 ...
随机推荐
- MVC中使用Entity Framework 基于方法的查询学习笔记 (二)
解释,不解释: 紧接上文,我们在Visual Studio2012中看到系统为我们自动创建的视图(View)文件Index.cshtml中,开头有如下这句话: @model IEnumerable&l ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- curses.h的安装和使用
gcc test.c -o test 用以上命令编译包含curses.h头文件的程序时会出现各种引用未定义的错误,并且已经安装了 kernel-devel ncurese-devel ncurese- ...
- 安全的将excel导入sqlite3的解决方案
最近在做一个小项目时,需要把一个excel中的数据保存到sqlite3数据库中以备后用,表中有字符也有数字,要用到特定的数据类型方便后续使用,参照网上的方法,将excel文件转换为csv文件后,在导入 ...
- myql 查询树形表结果:说说、说说的述评、评论的回复
myql 查询树形表结果:说说.说说的评论.评论的回复 有三张表关联表: 用户的说说表(ixt_customer_note) 说说的评论表(ixt_customer_note_comment) 评论的 ...
- CC2540自己的配置文件
首先要指出,字段属性有notify的不能同时有read,write属性,别问哥,哥也不知道,反正我做的就不能notify,只能read,write. 分享的程序段第一字段有notify属性,第二字段r ...
- WPF如何控制每个窗体确保只打开一次
在主窗体上点击菜单时,如果做到每个窗体不会被重复打开,如果打开了,可以将其重新获得焦点. 首先在主窗体中将菜单关联的窗体实例化. 第二步:将每个菜单对应窗体的closing事件重写.之所以要重写clo ...
- Hitachi Content Platform学习
相关资料:https://community.hds.com/groups/developer-network-for-hitachi-content-platform/content?filterI ...
- c# 使用泛型类型作为参数
泛型作为一种经常使用的类型,有时需要在方法之间传递,不了解的话可能会束手无策. 比如我定义一个方法 processList 需要把List<T> 作为参数传入,这时可以这样写 publ ...
- word
# word中向下箭头 原文:http://jingyan.baidu.com/article/c1465413b0a9c70bfcfc4cbc.html 使用替换功能,把^l(l是小写的L)替换为^ ...