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:"生 ...
随机推荐
- APUE学习--第三版apue编译
第三版apue编译: 1. 首先在 http://www.apuebook.com/ 下载源码解压: tar zxvf src.3e.tar.gz 看完Readme可知,直接执 ...
- 生成ARM汇编
使用ndk即可生成arm汇编 1.首先写好hello.c 2.编写makefile #ndk根目录 NDK_ROOT=E:\Android\android-ndk-r10b #编译器根目录 TOOLC ...
- too many open files 报错
看到这种某个程序或sock 打开文件数超出了限制,可以在/etc/security/limits.conf 这个文件中设置某个用户的可打开文件数. 例如: root hard nofile 16384 ...
- [PHP][位转换积累]之异或运算的简单加密应用
异或的符号是^.按位异或运算, 对等长二进制模式按位或二进制数的每一位执行逻辑按位异或操作. 操作的结果是如果某位不同则该位为1, 否则该位为0. xor运算的逆运算是它本身,也就是说两次异或同一个数 ...
- 采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果
--翻页滚动效果local function fnScrollViewScrolling( sender,eventType) -- body if eventType == 10 the ...
- js实例--飞机大战
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...
- redis的安装及使用
Redis介绍: 1.redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 2.redis是一个key-value ...
- 浅谈Yii-admin的权限控制
说到CMS,最需要有的东西就是权限控制,特别是一些复杂的场景,多用户,多角色,多部门,子父级查看等等.最近在开发一个线下销售的东东,这个系统分为管理员端,省代端,客户端,门店端,销售端, 部门端,部门 ...
- EChart数据的异步加载和更新
ECharts是国内开发一款图标插件,在网页中我们经常要用到图标显示,直接引用十分方便. 直接到ECharts主页调用插件 <!DOCTYPE html> <html style=& ...
- 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】
分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板.前端显示的模板两部分. 一.分页分析 分页需要三种类型 ...