前端大烩菜之CSS选择器【含CSS3新增选择器】

CSS选择符(选择器):表示要定义样式的对象

一 元素选择符   如:div{width:100px; height:100px; background:red;}

语法:元素名称{属性:属性值;}如:div,p,h1,img,a,span,i,em,strong,b,ul,li,ol,li....等

说明:

a)元素选择符就是以文档语言对象类型作为选择符,即使用结构中元素名称作为选择符。例如body、div、p,img,em,strong,span......等。

b)所有的页面元素都可以作为选择符;

用法:
1)如果想改变某个元素得默认样式时,可以使用类型选择符;
(如:改变一个div、p、h1样式)

2) 当统一文档某个元素的显示效果时,可以使用类型选择符
(如:改变文档所有p段落样式)

二 id选择器
语法:#id名{属性:属性值;}
说明:
A)当我们使用id选择符时,应该为每个元素定义一个id属性
如:<div id="box"></div>
B)id选择符的语法格式是“#”加上自定义的id名
如:#box{width:300px; height:300px;}

C) 起名时要取英文名,不能用关键字:(所有的标记和属性都是关键字)
如:head标记
D)一个id名称只能对应文档中一个具体的元素对象。(唯一性)

三 群组选择器
语法:选择符1,选择符2,选择符3......{属性:属性值;} 例:#top1,#nav1,h1{width:960px;}
说明:当有多个选择符应用相同的声明时,可以将选择符用“,”分隔的方式,合并为一组。
margin:0 auto;实现盒子的水平居中

四 class选择器/类选择器
语法:·class名{属性:属性值;}
说明:
A)当我们使用class选择符时,应先为每个元素定义一个class名称
B)class选择符的语法格式是:

如:<div class="top"></div>

.top{width:200px; height:100px; background:green;}
用法:class选择符更适合定义一类样式;

5)*通配符/通配选择器
语法:*{属性:属性值;}
说明:通配选择符的写法是“*”,其含义就是所有元素。

*{margin:0; padding:0;}代表清除所有元素的默认边距值和填充值;

6) 包含选择器/后代选择器
语法:选择符1   选择符2 {属性:属性值;}
说明:含义就是选择符1中包含的所有选择符2;
用法:当我的元素存在父级元素的时候,我要改变自己本身的样式,可以不另加选择符,直接用包含选择器的方式解决。

如:结构:<ul class="list">

                   <li></li>

                   <li></li>

                   <li></li>

        </ul>

      样式 : .list li{background:red;}

7) 伪类选择器
语法 :
a:link{属性:属性值;}超链接的初始状态;
a:visited{属性:属性值;}超链接被访问后的状态;
a:hover{属性:属性值;}鼠标悬停,即鼠标划过超链接时的状态;
a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;
Link--visited--hover--active。
说明:
A)当这4个超链接伪类选择符联合使用时,应注意他们的顺序,正常顺序为:
a:link,a:visited,a:hover,a:active,错误的顺序有时会使超链接的样式失效;
B)为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中;
例如:a{color:red;} a:hover{color:green;} 表示超链接的初始和访问过后的状态一样,鼠标划过的状态和点击时的状态一样。

<!-- css3 新增的选择器 -->


一、层级选择器

E>F 子选择器 选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素

E+F 相邻兄弟选择器 选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面

E~F 通用选择器 选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

二、属性选择器

1、E[attr]:只使用属性名,但没有确定任何属性值;
2、E[attr="value"]:指定属性名,并指定了该属性的属性值;
3、E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写
扩展知识
4、E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;
5、E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的
6、E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;
7、E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);

三、伪类选择器

1、结构性伪类选择器
X:first-child 匹配子集的第一个元素。IE7就可以支持
X:last-child匹配父元素中最后一个X元素
X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。
X:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
X:empty匹配没有任何子元素(包括包含文本)的元素X
2、目标伪类选择器
E:target 选择匹配E的所有元素,且匹配元素被相关URL指向

3、UI 元素状态伪类选择器
E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E
E:selection 匹配E元素中被用户选中或处于高亮状态的部分

4、否定伪类选择器
E:not(s) (IE6-8浏览器不支持:not()选择器。)
匹配所有不匹配简单选择符s的元素E

5、动态伪类选择器
E:link
链接伪类选择器
  选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上
E:visited  
链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上
E:active
用户行为选择器
选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
E:hover
用户行为选择器
选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus 用户行为选择器 选择匹配的E元素,而且匹配元素获取焦点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值