CSS-属性&&选择器

html-css071

CSS-属性&&选择器,第1张

CSS选择器、CSS属性

style写在head中间,type="text/css"可以不用写,默认就是这个。

规定文字样式、粗细、大小、字体的属性

1、字体不存在用户电脑上时:

不处理时,使用用户电脑系统默认字体

处理:font-family:“不存在的字体”,"备选字体";--设置备选字体,可设置多个备选字体

2、一串字符串既有中文,又有英文时,如何设置两种字体

英文字体是中文字体的子集。【意思是:英文字体不能处理中文,中文字体可以处理英文】

文本装饰、文本对齐,文本缩进的属性

文本装饰-文字的下划线,中划线等

文本对齐:

文本缩进:

格式:

p{

font:20px,"楷体"

}

标签选择器选中的是页面中所有的该标签

作用:根据指定的id名称找到对应的标签,然后设置属性。(标签选择器选中的是全部的同类标签)

第一步:给需要设置的标签设置id,

第二步:

注意:

1、id在同一页面是唯一的

2、id名是有规范的,只能是字母,数字和下划线,不能使用数字开头,不能使用HTML的标签名

3、如果仅仅是为了设置样式,不需要使用id,而是使用类选择器,id是留给js使用的。

根据指定的类名称找到对应的标签,然后设置属性

第一步:给需要设置的标签设置className,

第二步:

注意:

1、className是可以重复的

2、className名是有规范的,只能是字母,数字和下划线,不能使用数字开头,不能使用标签名

3、如果仅仅是为了设置样式,不需要使用id,而是使用类选择器,id是留给js使用的。

4、同一个HTML变迁可以有多个classname

1、id使用“,”class使用#

2、class相当于人名,所以同一个页面上的HTML标签可以有一样的className;

id相当于身份证,所以同一个页面上的HTML标签不可以有一样的id;

3、class相当于人名,所以,一个HTML标签可以有多个Class

id相当于身份证,所以,一个HTML标签只能有一个id

4、一般情况下设置样式,使用class;如果需要js配合,使用id

格式:

先祖位置可以是HTML标签,可以是class名,可以是id

后代位置可以是HTML标签,可以是class名,可以是id

可以随意组合

只会查找直接子元素

格式:

1、都可以使用HTML标签、id名、class名

1、后代使用空格,子使用>

2、后代可以选取指定标签的所有特定标签,包括子、孙;而子只能选取指定标签的特定子标签

定义:两个选择器相交的部分

格式:

选择器1选择器2{

}

选择器1和选择器2之间没有任何符号,没有空格,没有>

选择器1和选择器2之间有逗号。

相邻:选择器1+选择器2,给紧跟着选择器1后面的选择器2设置样式

通用:选择器1~选择器2,给选择器1后面的所有选择器2设置样式

CSS3中新增的选择器最具代表性的就是序选择器

1.同级别的第几个

:first-child 选中同级别中的第一个标签

:last-child 选中同级别中的最后一个标签

:nth-child(n) 选中同级别中的第n个标签【n的值可以是数值,可以是“odd”、“even”,也可以是表达式,比如xn+y】

:nth-last-child(n) 选中同级别中的倒数第n个标签

:only-child 选中父元素中唯一的标签

注意点: 不区分类型

2.同类型的第几个

:first-of-type 选中同级别中同类型的第一个标签

:last-of-type 选中同级别中同类型的最后一个标签

:nth-of-type(n) 选中同级别中同类型的第n个标签

:nth-last-of-type(n) 选中同级别中同类型的倒数第n个标签

:only-of-type 选中父元素中唯一类型的某个标签

| [ attribute ] | [target] | 选择带有 target 属性所有元素。 | 2 |

| [ attribute = value ] | [target=_blank] | 选择 target="_blank" 的所有元素。 | 2 |

| [ attribute ~= value ] | [title~=flower] | 选择 title 属性包含单词 "flower" 的所有元素。 | 2 |

| [ attribute |= value ] | [lang|=en] | 选择 lang 属性值以 "en" 开头的所有元素。 | 2 |

| [ attribute ^= value ] | a[src^="https"] | 选择其 src 属性值以 "https" 开头的每个 <a>元素。 | 3 |

| [[ attribute =value] 选择器") | a[src$=".pdf"] | 选择其 src 属性以 ".pdf" 结尾的所有 <a>元素。 | 3 |

| [ attribute = value*] | a[src*="abc"] | 选择其 src 属性中包含 "abc" 子串的每个 <a>元素。 | 3 |

1、属性的取值是以什么开头的

[ attribute |= value ]----------------CSS2

优先使用CSS3的。

2、属性的取值是以什么结尾的

3、属性的取值是否包含某个特性的值的

[attribute~=value]

*{

}

一、新增的选择器

CSS3新增的属性选择器 {除ie6外的大部分浏览器支持)

1    E[att^="val"]    属性att的值以"val"开头的元素    div[id^="nav"] { background:#ff0} 

2    E[att$="val"]    属性att的值以"val"结尾的元素       

3    E[att*="val"]    属性att的值包含"val"字符串的元素       

结构伪类选择器(过滤选择器)

(注:FireFox 1.5/2.0/3.0支持E:root,FireFox 3.0支持E:last-child、E:only-child、E:empty。

由于IE6/7/8不支持,没办法,选择合适的场合用吧。)

4    E:root    匹配文档的根元素,对于HTML文档,就是HTML元素       

5    E:nth-child(n)    匹配其父元素的第n个子元素,第一个编号为1    p:nth-child(3) { color:#f00}  

6    E:nth-last-child(n)    匹配其父元素的倒数第n个子元素,第一个编号为1    p:last-child { background:#ff0}  

7    E:nth-of-type(n)    与:nth-child()作用类似,但是仅匹配使用同种标签的元素    p:nth-of-type(2){color:red}选择父元素的第n个子元素p  

8    E:nth-last-of-type(n)    与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素       

9    E:last-child    匹配父元素的最后一个子元素,等同于:nth-last-child(1)       

10    E:first-of-type    匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1)       

11    E:last-of-type    匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1)       

12    E:only-child    匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)    p:only-child { background:#ff0}  

13    E:only-of-type    匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)       

14    E:empty    匹配一个不包含任何子元素的元素,注意,文本节点也被看作子元素    p:empty { background:#ff0}  

与用户界面(UI)有关的伪类(ie6 7 8不支持)    

15    E:enabled    匹配表单中激活的元素       

16    E:disabled    匹配表单中禁用的元素    input[type="text"]:disabled { background:#ddd}  

17    E:checked    匹配表单中被选中的radio(单选框)或checkbox(复选框)元素       

18    E::selection    匹配用户当前选中的元素       

级元素通用选择器

ie6不支持 

19    E ~ F    匹配任何在E元素之后的同级F元素    p ~ ul { background:#ff0}  

反选伪类

(ie6 7 8 firefox3.0以下 Opera9.0不支持)  

20    E:not(s)    匹配不符合当前选择器的任何元素    :not(p) { border:1px solid #ccc}  

:target 伪类

(ie6 7 8不支持)  

21    E:target    匹配文档中特定"id"点击后的效果       

 二、css3新增属性

一. box-shadow(阴影效果)

使用:

box-shadow: 20px 10px 0 #000

-moz-box-shadow: 20px 10px 0 #000

-webkit-box-shadow: 20px 10px 0 #000

支持:

    FF3.5, Safari 4, Chrome 3

二. border-colors(为边框设置多种颜色)

使用:

border: 10px solid #000

-moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc

-moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc

-moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc

-moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc

说明:

    颜色值数量不固定, 且FF的私有写法不支持缩写: -moz-border-colors: #333 #444 #555

支持:

   FF3+

三. boder-image(图片边框)

使用:

    -moz-border-image: url(exam.png) 20 20 20 20 repeat

    -webkit-border-image: url(exam.png) 20 20 20 20 repeat

说明:

(1). 20 20 20 20 --->边框的宽度, 分别对应top, right, bottom, left边框, 改变宽度可以实现不同的效果

(2). 边框图片效果(目前仅实现了两种):

   repeat --- 边框图片会平铺, 类似于背景重复

   stretch --- 边框图片会以拉伸的方式来铺满整个边框

(3). 必须将元素的边框厚度设置为非0非auto值.

支持:

    FF 3.5, Safari 4, Chrome 3

四. text-shadow(文本阴影)

使用:

    text-shadow: [<颜色><水平偏移><纵向偏移><模糊半径>] || [<水平偏移><纵向偏移><模糊半径><颜色>]

说明:

(1) <颜色>和<模糊半径>是可选的, 当<颜色>未指定时, 将使用文本颜色当<模糊半径>未指定时, 半径值为0

(2) shadow可以是逗号分隔的列表, 如:

  text-shadow: 2px 2px 2px #ccc, 3px 3px 3px #ddd

(3) 阴影效果会按照shadow list中指定的顺序应用到元素上

(4) 这些阴影效果有可能相互重叠, 但不会叠加文本本身

(5) 阴影可能会跑到容器的边界之外, 但不会影响容器的大小.

支持:

    FF 3.5, Opera 10, Safari 4, Chrome 3

五.  text-overflow(文本截断)

使用:

    text-overflow: inherit | ellipsis | clip

    -o-text-overflow: inherit | ellipsis | clip

说明:

(1) 还有一个属性ellipsis-word, 但各浏览器均不支持.

支持:

    IE6+, Safari4, Chrome3, Opera10

六. word-wrap(自动换行)

使用:

    word-wrap: normal | break-word

支持:

    IE6+, FF 3.5, Safari 4, Chrome 3

七. border-radius(圆角边框)

使用:

     -moz-border-radius: 5px

-webkit-border-radius: 5px

支持:

FF 3+, Safari 4 , Chrome 3

八.   opacity(不透明度)

使用:

    opacity: 0.5

    filter: alpha(opacity=50)/* for IE6, 7 */

    -ms-filter(opacity=50)/* for IE8 */

支持:

    all

九. box-sizing(控制盒模型的组成模式)

使用:

    box-sizing: content-box | border-box// for opera

    -moz-box-sizing: content-box | border-box

    -webkit-box-sizing: content-box | border-box

说明:

   1. content-box:

   使用此值时, 盒模型的组成模式是, 元素宽度 = content + padding + border

   2. border-box:

   使用此值时, 盒模型的组成模式是, 元素宽度 = content(即使设置了padding和border, 元素的宽度

   也不会变).

支持:

    FF3+, Opera 10, Safari 4, Chrome 3

十. resize(元素缩放)

使用:

    resize:  none | both | horizontal | vertical

说明:

    1. 必须将元素的overflow属性设置为auto或hidden, 该属性才能起作用(overflow设置为visible时, 无效)

    2. 属性值说明:

    (1). none -->禁用缩放

    (2). both -->可同时缩放宽度和高度

    (3). horizontal -->仅能缩放宽度

    (4). vertical -->仅能缩放高度

支持:

    safari 4, chrome 3

十一. outline(外边框)

使用:

    outline: 边框厚度 边框样式 边框颜色

    outline-offset: 偏移值

说明:

    outline-offset需要独立写, 简写是无效的.

支持:

    FF3+, safari 4, chrome 3, opera 10

十二. background-size(指定背景图片的尺寸)

使用:

    -o-background-size: [length | percentage] {1, 2}

    -webkit-background-size: [length | percentage] {1, 2}

例如:

   -o-background-size: 50px 60px

    -webkit-background-size: 50px 60px

    这会将背景图片的宽设置了50px, 高60px.

支持:

     safari 4, chrome 3, opera 10

十三. background-origin(指定背景图片从哪里开始显示)

使用:

    -webkit-background-origin: border | padding | content

    -moz-background-origin: border | padding | content

说明:

    (1) border --> 从border区域开始显示背景

    (2) padding --> 从padding区域开始显示背景

    (3) content --> 从content区域开始显示背景

注意:

    1. 必须先指定background属性, 然后才能指定该属性, 如果该属性出现在background属性之前,

会无效.

支持:

     safari 4, chrome 3, FF 3+        

十四. background-clip(指定背景图片从什么位置开始裁切)

使用:

    -webkit-background-origin: border-box | padding-box | content-box | no-clip

说明:

    (1) border-box --> 从border区域向外裁剪背景

    (2) padding-box --> 从padding区域向外裁剪背景

    (3) content-box --> 从content区域向外裁剪背景

    (4) no-clip -->不裁切背景.

注意:

    1. 必须先指定background属性, 然后才能指定该属性, 如果该属性出现在background属性之前,

会无效.

支持:

     safari 4, chrome 3

十五.  background(为一个元素指定多个背景)

使用:

    background:  [background-image] | [background-origin] | [background-clip] | [background-repeat] | [background-size] | [background-position]

例子:

    background: url(bg1.png) no-repeat left top, url(bg2.png) no-repeat right bottom

支持:

     safari 4, chrome 3

十六. hsl(通过色调, 饱和度, 亮度来指定颜色值)

使用:

    hsl: ( <length> || <percentage> || <percentage>)

说明:

    (1) length: h(色调),  0(或360)表示红色, 120表示绿色, 240表示蓝色

    (2) percentage: s(饱和度),  取值为0%到100%之间的值

    (3) percentage: l(亮度),  取值为0%到100%之间的值

例子:

    background: hsl(240, 50%, 100%)

    color: hsl(100, 80, 100%)

支持:

     safari 4, chrome 3, FF3, opera 10

十七. hsla(在hsl的基础上上增加了一个透明度设置)

使用:

    hsla: ( <length>  ||  <percentage>  ||  <percentage>|| <opacity>)

说明:

    (1) opacity: a(透明度), 取值在0到1之间

例子:

    background: hsl(240, 50%, 100%, 0.5)

    color: hsl(240, 50%, 100%, 0.5)

支持:

     safari 4, chrome 3, FF3, opera 10

十八. rgba(基于r,g,b三个颜色通道来设置颜色值, 通过a来设置透明度)

使用:

    rgba: (r, g, b, opacity)

说明:

    (1) r: 红色, 正整数 | 百分数

    (2) g: 绿色, 正整数 | 百分数

    (3) b: 蓝色, 正整数 | 百分数

    (4) a: 透明度, 取值在0到1之间

    (5) 正整数在0到255之间, 百分数在0%到100%之间.

例子:

    rgba: (100%, 244, 0, 0.5)

支持:

     safari 4, chrome 3, FF3, opera 10

十九、 transition(a标签hover渐隐效果)

a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear 0s}

-webkit-transition:color 0.15s linear 0s, background-color 0.3s linear 0s

-moz-transition:color 0.15s linear 0s, background-color 0.3s linear 0s

-o-transition:color 0.15s linear 0s, background-color 0.3s linear 0s

-ms-transition:color 0.15s linear 0s, background-color 0.3s linear 0s

transition:color 0.15s linear 0s, background-color 0.3s linear 0s

盒子模型是CSS中一个很重要的概念,页面中的所有元素都可以看成一个盒子,并占据一定的页面空间,一个页面由很多盒子组成,盒子之间会互相影响。只有掌握盒模型以及其中每个属性的用法,才能真正控制好页面元素。

盒子模型主要定义四个区域: 内容(content)、内边距/填充(padding)、边框(border)和外边距(margin)

盒子的内容区域存放文本和图片等页面元素,拥有如下属性:

边框基本属性:

通过一个属性设置四个方向边框的宽度、样式、颜色

属性:border

取值:width style color

只设置某一条边框的宽度、样式、颜色

语法:border-方向(top/right/bottom/left):width style color

只设置边框的宽度、样式、颜色中的一种

语法:border-属性(width/style/color):取值

只设置某一条边框的宽度、样式、颜色中的一种

语法:border-方向(top/right/bottom/left)-属性(width/style/color):取值

属性:border-radius

作用:设置倒角位置处圆的半径,半径越大,弧度越大。

取值:

属性:border-image

语法:

border-image-source :引入背景图片

取值:

默认值:无图片

url(图片URL地址)

border-image-slice :切割引入背景图片,把边框背景切成9份

取值:

number:默认单位px

百分比:

fill:保留边框图像的中间部分

border-image-width :指定边框图片的宽度

border-image-repeat :指定边框背景图片的排列方式,可定义2个参数,即水平和垂直方向

取值:

Stretch:默认值,拉伸

Repeat:平铺

Round:取整平铺

内容区域和边框(边缘)之间的距离

语法:padding: 值;

单边设置:padding-方向(top/right/bottom/left):值;

取值:

数值px

百分比

内边距的简写方式:

padding:value

四个方向内边距的值均为value

padding:value1 value2

Value1为上下内边距的值,value2为左右内边距的值

padding:value1 value2 value3

Value1为上内边距的值,value2为左右内边距的值,value3为下内边距的值

padding:value1 value2 value3 value4

上右下左内边距的值分别为value1, value2, value3, value4

外边距指元素与元素之间的距离,即围绕在元素边框之外的空白区域,通过外边距可以为元素创建额外的“空间”。默认不能被其他元素所占据,用于拉伸两个元素间的距离。

语法:margin: 值;

单边设置:margin-方向(top/right/bottom/left):值;

取值:

重新制定元素尺寸计算模式

属性:box-sizing

取值:

属性:resize

取值:

位于元素边框之外的一条线

属性:

outline:width style color

属性:box-shadow

语法:

box-shadow: h-shadow v-shadow blur spread color inset

取值:由一组值构成的值列表

属性:background-color

取值:颜色值或transparent

注意:背景颜色是从边框位置处开始绘制

属性:background-image

取值:url(背景图像URL)

属性:background-repeat

取值:

属性:background-attchment

取值:

scroll:默认值,滚动

fixed:固定

属性:background-position

取值:

属性:background-size

取值:

属性:background-origin

取值:

属性:background-clip

取值:

CSS3多背景通过为每个背景属性提供多个属性值实现。

font 简写属性语法:

将所有字体属性合写为一行,其中font-family是复合属性中必不可少的属性。

可以不设置其中的某个值,如果省略值地话,就使用属性的默认值。

②文本属性:

(2)CSS3文本阴影属性:

属性:text-shadow

作用:产生阴影和模糊主体

语法:

作用:定义列表的编号样式

属性:list-style-type

作用:用于设置列表项的图像属性

语法:

图像URL地址:图像的相对路径或绝对路径

none:默认值,不指定图像

注意:图片图标与文字之间的距离在不同浏览器中是不一样的,因此,一般情况下不采用这种方式来设置列表的图片样式。

通过设置<li>的背景图片的方式来设置列表图片基本步骤:

设置list-style-type属性值为none

设置<li>标记的背景属性backgruond

作用:用于声明列表标志相对于列表项内容的位置

语法:

作用:可以同时设定列表样式类型、列表样式位置、列表样式图片等属性的值。

语法:

注意:

可以不设置其中的某个值,未设置的属性采用默认值

同时指定list-style-image和list-style-type时,list-style-image优先显示,除非list-style-image设置为none,或图片路径错误无法显示

当列表与列表项目同时使用样式时,列表项目的样式优先显示

特点:

可以设置宽度和高度

默认情况下每个块级元素独占一行

作用:

块级元素主要用于页面布局

常用块级元素:

<div>、<p>、<h1>~<h6>、<ol>、<ul>等

特点:

不可以设置宽度和高度,其宽度就是自身文字或图片的宽度

默认情况下多个行内元素会在一行内显示,遇父元素边界时会自动换行

作用:

行内元素主要用于设置文样式

常用行内元素:

<a>、<span>、<em>、<b>、<i>、<strong>、<img>、<input>等

作用:控制页面元素脱离原有文档流,实现向左或向右移动,直到该元素外边缘碰到其包含框或另一个浮动框的边缘停止,标准流中的其他盒子将顶到浮动盒子的位置。浮动的元素不占据实际空间。

属性: float

取值:

浮动元素不会相互重叠;

浮动元素不会上下浮动,如果一个浮动元素在另一个浮动元素之后显示,而且会超出容纳块,则它下降到低于先前任何浮动元素的位置。

作用:规定元素的哪一侧不允许出现其他浮动元素。

取值:

作用:控制页面元素在页面中的位置。

属性:position

取值:static/relative/absolute/fiexed

默认属性值,元素按照标准文档流进行排列,块级元素独占一行, 行内元素位于一行内显示,一行显示不下,自动换行。

特点:

相对于自身原有位置进行偏移

仍处于标准文档流中

随即拥有偏移属性和z-idex属性

偏移属性:

left:数值px

right:数值px

top:数值px

bottom:数值px

当元素相对定位后会产生Z轴上的堆叠,不设置z-index属性时,默认该元素出现在X轴和Y轴构成的平面上。

特点:

建立了以包含块为基准的定位

绝对定位的元素的位置相对于最近的已定位祖先元素(设定了绝对定位、相对定位或固定定位中的任何一种),如果元素没有已定位的祖先元素,则该元素的位置相对于浏览器窗口。

完全脱离了标准文档流

随即拥有偏移属性和z-idex属性

偏移属性:

left:数值px

right:数值px

top:数值px

bottom:数值px

绝对定位未设置偏移量的特点:

无论是否存在已经定位的祖先元素,都保持在元素的初始位置

脱离了标准文档流

设定固定定位的元素框的表现类似于将position设置为absolute,不过其包含块是浏览器窗口本身。

在计算机显示中把垂直于屏幕平面的方向称为Z方向,CSS绝对定位容器的z-index属性即对应该方向。

作用:用于控制元素的层叠次序,使得某个元素浮于其他元素之上。

语法:

auto:遵循其父元素的定位

number:整数,可负,值大者叠加在上层

注意:使用z-index属性时,要求该元素的position属性值为absolute、relative或fixed。

作用:用于定义建立布局时元素生成的显示框类型

语法:dispaly:值

作用:用于定义建立布局时元素生成的显示框类型

语法:visibility:值