怎样在CSS中嵌套

html-css07

怎样在CSS中嵌套,第1张

CSS结构好的话,没有必要使用过多的类或者标识选择符。这是因为你可以指定在选择符内的选择符,而不必使用CSS嵌套。(或者更好的说法,上下文选择符--译者著)

1、比如:

ExampleSourceCode

#top{  background-color:#ccc  padding:1em  }  #toph1{  color:#ff0  }  #topp{  color:red  font-weight:bold  }

2、这就减去不必要的类或者标识选择符,如果应用到像这样的HTML中:

ExampleSourceCode

<dividdivid="top"> <h1>Chocolatecurry</h1> <p>Thisismyrecipeformakingcurrypurelywithchocolate</p> <p>Mmmmmmmmmm</p> </div>

这是因为,用英文半角空格间隔选择符,我们指明了在标识id内的h1有“#ff0”的颜色,而p则是红色red和粗体bold。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。

伪元素顾名思义伪装成元素,但不是元素,这与生成内容相关。生成内容主要指由浏览器创建的内容,而不是由标志或内容来表示。生成内容主要由:before和:after伪元素来实现,当然伪元素还包括:first-line,:first-letter和::selection

:first-letter

指定一个元素第一个字母的样式

注意1:所有前导标点符号应与第一个字母一同应用该样式

注意2:只能与块级元素关联

注意3:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-letter中存在连接符的原因

:first-line

设置元素中第一行文本的样式

注意1:只能与块级元素关联

注意2:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-line中存在连接符的原因

:before(IE7-浏览器不支持)

在元素内容的最开始插入生成内容

注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用

:after(IE7-浏览器不支持)

在元素内容的最后插入生成内容

注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用

::selection(IE8-浏览器不支持)

匹配被用户选择的部分

注意1:firefox浏览器需要添加-moz-前缀

注意2:只支持双冒号写法

注意3:只支持颜色和背景颜色两个样式

下面是伪元素的速查表

【content属性】

content属性应用于before和after伪元素

【1】 <string>里面的内容会原样显示,即使包含某种标记也不例外。

注意1:如果希望生成内容中有一个换行,则需要使用\A

注意2:若是一个很长的串,需要它拆分成多行则需要用\对换行符转义

【2】 <uri>

【3】attr( <identifier>)

<补充>【quotes属性】

管理引号

【4】open-quote|close-quote

【5】counter

首字下沉

钉子效果

图片叠加效果

CSS复合选择器包括子选择器、相邻选择器、包含选择器、多层选择器嵌套、属性选择器、伪选择器和伪元素选择器,以上具体的使用如下:

1.子选择器

复制代码

代码如下:

<style type="text/css">

#pic>img{ // 使用 >号,让选择器只选择直接的子类,width:200px

height:200px

}

</style>

<div id="pic">

<img src="1.jpg" alt="photo" />

<span><img src="btn" alt="点击大图" /></span>

</div>

2.相邻选择器

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px}

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

3.包含选择器

复制代码

代码如下:

#header p{font-size:14px}

#main p {font-size:12}

定义<div id = "header">包含框里的段落字体大小为14像素

定义<div id = "main">包含框里的段落字体大小为12像素.

4.多层选择器嵌套

复制代码

代码如下:

#wrap #header h2 span {font-size:24px}

#wrap #main h2 span {font-size:14px}

5.属性选择器

(1)匹配属性名选择器

div[class] {font-size:24px}

使该选择器能够匹配div中设置了class属性的对象定义格式

(2)匹配属性值选择器

img[alt="图像"][title="图像"] {border:solid 2px red}:

给<img src="images/pic1.jpg" alt="图像" title=“图像”>定义样式

(3)模糊匹配属性值选择器

6.伪选择器和伪元素选择器

复制代码

代码如下:

<style type ="text/css">

a:link{color:#FF0000} /*正常链接状态下样式*/

a:visited{color:#0000FF} /*被访问之后的样式*/

a:hover{color:#00FF00} /*鼠标经过的样式*/

a:active{color:#FF00FF} /*超链接被激活的样式*/

</style>