CSS 周 总

css文本属性

1.文本的缩进

text-indent 属性将⻚⾯上的段落的第⼀⾏进行缩进(首行缩进),这是⼀种最常⽤的⽂本格式化效果

取值:

  • :⽤⻓度值指定⽂本的缩进。可以为负值。
  • :⽤百分⽐指定⽂本的缩进。可以为负值。

2.text-align

text-align属性设置⽂本⽔平对⻬⽅式。 取值:

  • left:内容左对⻬。

  • center:内容居中对⻬。

  • right:内容右对⻬。

  • justify:内容两端对⻬,对最后⼀⾏⽆效

li-01 {
    text-align:left;
}

li-02 {
    text-align:right;
}

li-03 {
    text-align:center;
}

li-04 {
    text-align:justify;
}

文本的修饰

 1.text-decoration

text-decoration 属性设置⽂本装饰线条的位置,综合属性 可以单独设置 text-decoration-line、 text-decoration-color 和 text-decoration-style 属性 text-decoration-line

  • none  指定⽂字⽆装饰
  • underline  指定⽂字的装饰是下划线
  • overline  指定⽂字的装饰是上划线
  • line-through  指定⽂字的装饰是贯穿线

可以组合多个值  

text-decoration-style

在文本上下方同时显示线条 text-decoration-style

  • solid  线条显示为单行
  • double  线条显示为双线
  • dotted  线条显示为点线
  • dashed  线条显示为虚线
  • wavy  线条显示为波浪线

 单词间距

1.word-spacing

word-spacing 属性设置英⽂单词之间的间距 取值:

  • normal:默认间隔
  • :⽤⻓度值指定间隔。可以为负值
  • p {
        word-spacing:20px;
    }

文本间距

1.letter-spacing

letter-spacing 属性设置字符之间的间距,适⽤于中英⽂⽂本 取值:

  • normal:默认间隔
  • :⽤⻓度值指定间隔。可以为负值

文本换行

1.word-wrap 让文字换行

word-wrap 属性设置⽂本内部⻓单词或URL换⾏ 取值:

  • normal 默认值(浏览器保持默认处理)。
  • break-word 在⻓单词或 URL 地址内部进⾏换⾏

2. word-break

word-break 属性设置⾃动换⾏的处理⽅法 取值:

  • normal 使⽤浏览器默认的换⾏规则。
  • break-all 允许在单词内换⾏。
  • keep-all 只能在半⻆空格或连字符处换⾏。

3. white-space 不允许文字换行

nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 < br >标签为止。

4. text-overflow  当文本溢出包含元素时剪切文字

ellipsis 显示省略符号来代表被修剪的文本。

文字阴影 text-shadow

text-shadow 属性向文本设置阴影

语法:text-shadow: x-shadow y-shadow blur color;

x-shadow必需。水平阴影的位置。允许负值。
**y-shadow必需。垂直阴影的位置。允许负值。
**blur可选。模糊的距离。
**color可选。阴影的颜色。

css伪类和伪元素

一, 伪类和伪元数

伪类    定义:伪类⽤于向某些选择器添加特殊的效果

1.超链接(A)伪类

a标签

a:link {color:#FF0000;} /* 未访问的链接 */
a:visited {color:#00FF00;} /* 已访问的链接 */
a:hover {color:#FF00FF;} /* 鼠标划过链接 */
a:active {color:#0000FF;} /* 已选中的链接 */

其他常⻅的伪类选择器 :focus :checked :first-child :last-child等

2。元素

伪元素不是真正的元素,不存在与⽂档之中,所以 js ⽆法对它进行操作。为什么叫他“元素”?因为我们可以对其进⾏跟元素⼏乎⽆差别的操作

:first-child  /* 第一个子元素 */
:last-child  /* 最后一个子元素 */
:only-child /* 只有一个子元素 */
:root  /* 根标签 */
:nth-child(n)   /* 第几个子元素 */
ul li:nth-child(1){color:#f00;}   /* 第一个子元素 - 从1开始 */ 
ul li:nth-child(2n){color:#f00;} /* 偶数行的子元素 - 2的倍数的所有元素 */ 
:nth-child(odd)  /* 奇数元素 */
:nth-child(even)  /* 偶数元素 */
:nth-last-child(-n+4) 

3.伪类

定义:CSS伪元素是⽤来添加⼀些选择器的特殊效果。最好使⽤双冒号,防⽌与伪类混淆

1.first-letter首字母

first-letter 伪元素⽤于向⽂本的⾸字⺟设置特殊样式

例子:p::first-letter {color: red;}

其他常⻅的伪元素选择器

  • ::first-line 首行
  • ::first-letter 首字母
  • ::before 元素前插入
  • ::after  元素后插入

2.before与after的用法

before定位的基准是其主元素的右上⻆,after定位的基准是主元素的结尾处。 当主元素没有内容时before与after仍会正常⼯作,属性为行内元素,若需要设置⾼宽度等属性需要首先设置为块元素。 content是伪元素必需的属性。若伪元素没有内容,需赋值为空格:content:' '; before与after的主要⽤途是对元素默认样式的的美化:美化时需要结合定位于内容。⼀般讲主元素设置为position:relative,伪元素设置为position:absolute,以⽅便对伪元素定位。

a:hover::before,
a:hover::after {
    position: absolute;
}

a:hover::before {
    content: "我是前"; left: -20px;
}

a:hover::after {
    content: "我是后"; right: -20px;
}

伪类与伪元素区别

伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素。因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素

CSS3规范中的要求使用双冒号(::)表示伪元素,以此来区分伪元素和伪类,比如::before和::after等伪元素使用双冒号(::),:hover和:active等伪类使用单冒号(:)。除了一些低于IE8版本的浏览器外,大部分浏览器都支持伪元素的双冒号(::)表示方法。 除了少部分伪元素,如::backdrop必须使用双冒号,大部分伪元素都支持单冒号和双冒号的写法,比如::after,写成:after也可以正确运行。 建议使用双冒号的写法,更容易识别出是伪类还是伪元素。

列表样式

1.list-style

list-style-type 设置列表标记样式

  • 默认值: disc(实⼼圆)
  • circle(空⼼圆)
  • square(⽅形)
  • decimal(0开头的数字标记)
  • lower-roman(小写罗马数字)
  • upper-roman(大写罗马数字)

list-style-position 设置在何处放置列表标记

  • 默认值: outside
  • inside 列表项目标记放置在文本以内,且环绕文本根据标记对齐。

list-style-image 设置使⽤图像来替换列表项的标记

  • none 不指定图⽚,默认内容标记将被 list-style-type 代替
  • url 使⽤绝对或相对地址指定列表项标记图⽚,如果图像地址⽆效,默认内容标记将被 list-style-type 代替
ul {
    list-style-type:square;
    list-style-position: inside;
    list-style-image:url('');
}

display和overflow

1.disply

display 属性规定元素应该⽣成的框的类型

  • none 不显示元素
  • block 转换为块元素
  • inline 转换为行内元素
  • inline-block 转换为行内块元素
  • table-cell 转换为table中的td格式,可以设置文字垂直方向的对其方式vertical-align: bottom;

2.overflow

overflow 属性规定当内容溢出元素框时发⽣的事情

  • visible 不变
  • hidden 超出隐藏
  • scroll 滚动条显示内容
  • auto 超出显示滚动条

css盒模型和box-sizing

1.width 宽度

width 属性设置元素的宽度 说明:这个属性定义元素内容区的宽度,在内容区外⾯可以增加内边距、边框和外边距 取值:

  • auto 元素实际宽度
  • length 设置像素级px宽度
  • % 基于父级元素的百分比宽度
  • inherit 从父级元素继承宽度,也就是等于父级元素的宽度

2.height  高度

height属性设置元素的⾼度 注意:height属性不包括填充,边框,或边距 取值:

  • auto 元素实际高度
  • length 设置像素级px高度
  • % 基于父级元素的百分比高度
  • inherit 从父级元素继承高度,也就是等于父级元素的高度

3.css内边距

padding 简写属性在⼀个声明中设置所有内边距属性

说明:这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度。⾏内⾮替换元素上设置的内边距不会影响⾏⾼计算。如果⼀个元素既有内边距⼜有背景,从视觉上看可能会延伸到其他⾏,有可能还会与其他内容重叠。元素的背景会延伸穿过内边距。

补充:

  • 非替换元素:如果元素的内容包含在文档中,则称之为非替换元素。比如一个段落的文本都在该元素本身之内,这个段落就是一个非替换元素。
  • 替换元素:作为其他内容占位符的一个元素称为替换元素,根据标签和属性的值来显示内容的元素。比如img元素,它只是指向一个图像文件,这个文件插入到文档流中。大多数表单元素(input,根据type属性来显示内容)也是替换元素。

注意:不允许指定负边距值。

取值:

  • auto 自动计算内边距
  • length 设置像素级px内边距
  • % 基于父级元素宽度的百分比的内边距
  • inherit 从父级元素继承内边距

4.CSS外边距

margin 简写属性在⼀个声明中设置所有外边距属性。该属性可以有 1 到 4 个值,与内边距相同 说明:这个简写属性设置⼀个元素所有外边距的宽度,或者设置各边上外边距的宽度。 块级元素的垂直相邻外边距会合并,⽽⾏内元素实际上不占上下外边距,⾏内元素的的左右外边距不会合并。同样,浮动元素的外边距也不会合并。允许指定负的外边距值,不过使⽤时要⼩⼼。 注意:允许使⽤负值。

取值:

  • auto 自动计算外边距
  • length 设置像素级px外边距
  • % 基于父级元素宽度的百分比的外边距
  • inherit 从父级元素继承外边距

列1

p {
    /* 上外边距是 10px 右外边距是 5px 下外边距是 15px 左外边距是 20px */
    margin:10px 5px 15px 20px;
    /* 上外边距是 10px 右外边距和左外边距是 5px 下外边距是 15px */
    margin:10px 5px 15px;
    /* 上外边距和下外边距是 10px 右外边距和左外边距是 5px */
    margin:10px 5px;
    /* 4 个外边距都是 10px */
    margin:10px;
}

5.6.CSS边框 (border)

border 简写属性在⼀个声明设置所有的边框属性 可以按顺序设置如下属性:

  • border-width
  • border-style
    • solid 实线
    • dotted 点状线
    • double 双实线
    • dashed 虚线
  • border-color

p {
    border:5px solid #ff0000;
}
/* 设置每⼀条边框的样式 */
p {
    border-top:10px solid red;
    border-left:20px dotted green;
    border-right:30px double orange;
    border-bottom:40px dashed red;
}
/* css画一个三角形 */
div {
    width:0;
    height:0;
    border:10px solid transparent;
    border-top-color:red;
}

6.border-radi

border-radius 属性是一个简写属性,用于设置四个 border- *-radius 属性。

border-radius: 1-4 length|% / 1-4 length|%;

盒子模型

1.定义:

盒模型通过一个模型来描述元素在页面中占用的空间。

  • W3C 标准模型 元素的设置宽度和设置高度指内容的宽度和高度
    • 元素总宽度=设置宽度+左填充+右填充+左边框+右边框+左边距+右边距
    • 元素总高度=设置高度+顶部填充+底部填充+上边框+下边框+上边距+下边距
  • IE模型 元素的设置宽度和设置高度包括内容的宽度和内边距以及边框宽高
    • 元素总宽度=设置宽度+左边距+右边距
    • 元素总高度=设置高度+上边距+下边距

2. box-sizing属性

box-sizing 属性允许您以特定的⽅式定义匹配某个区域的特定元素。 取值:

  • content-box 指定盒模型为 W3C 标准模型,元素的宽度 = 设置宽度 + 边框宽度 + 内边距
  • border-box 指定盒模型为 IE模型,元素的宽度 = 设置宽度 - 边框宽度 - 内边距
  • inherit 从父元素继承 box-sizing 属性值

背景属性

1.background  背景属性

background 设置背景的显示方式,是一个间歇属性

设置顺序为:background-color background-image background-repeat background-attachment background-position

可以设置如下属性:

  • background-color 背景颜色
  • background-image 背景图片
  • background-repeat 背景平铺方式
  • background-attachment 背景图片固定方式
  • background-position 背景图片位置
  • background-size 背景图片尺寸
  • background-origin 背景图片显示区域
  • background-clip 背景显示区域
  • inherit 继承父元素的背景属性样式

2.background-color

background-color 属性设置元素的背景颜⾊

元素背景范围 background-color 属性为元素设置⼀种纯⾊。这种颜⾊会填充元素的内容、内边距和边框区域,扩展到元素边框的外边界(但不包括外边距)。如果边框有透明部分(如虚线边框),会透过这些透明部分显示出背景⾊。

取值:

  • transparent 默认,透明背景
  • color_name 颜色名称,比如red
  • hex_number 十六进制颜色,比如#ff000
  • rgb_number rgb色值,比如rgb(255,0,0)或者rgba(255,0,0,.2)
  • inherit 继承父元素背景色

背景图片

background-image 属性设置元素的背景图⽚,元素的背景占据了元素的全部尺⼨,包括内边距和边框,但不包括外边距。 默认,背景图像位于元素的左上⻆,并在⽔平和垂直⽅向上重复。

p {
    background-image:url("./img.jpg")
}

background-repeat 背景平铺

background-repeat 属性设置是否重复背景图像。 取值:

  • repeat 默认值,⽔平垂直⽅向上平铺
  • no-repeat 不平铺
  • repeat-x ⽔平⽅向平铺
  • repeat-y 垂直⽅向平铺

background-attachment  背景 图片固定

background-attachment 属性设置背景图像是否固定或者随着⻚⾯的其余部分滚动。 取值:

  • scroll 默认值。背景图像会随着⻚⾯其余部分的滚动⽽移动
  • fixed 当页面的其余部分滚动时,背景图像不会滚动

background-position 背景定位

background-position 属性设置背景图像的起始位置。 这个属性设置背景原图像的位置,背景图像如果要重复,将从这⼀点开始。 取值:

  • 上下 左右 第一个位置定义上下的位置(top/center/bottom),第二个定义左右位置(left/center/right),如果仅定义一个值,第二个值为 center
  • x y 第一个值为水平位置,第二个为垂直位置,可以是百分比或者px,如果仅定义一个值,第二个值为50%

 background-s   背景图片尺寸

background-size 属性规定背景图像的尺寸。 取值:

  • length 设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。
  • percentage 以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。
  • cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。
  • contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。

background-origin 背景图片显示区域

background-origin 属性规定 background-position 属性相对于什么位置来定位。 注意:如果背景图像的 background-attachment 属性为 "fixed",则该属性没有效果。 取值:

  • padding-box 默认值,背景图像相对于内边距定位
  • border-box 背景图像相对于边框定位
  • content-box 背景图像相对于内容边框定位

background-clip背景显示区域

background-clip 属性规定背景的绘制区域。 取值:

  • border-box 默认值,背景填充全部
  • padding-box 背景填充不包括边框
  • content-box 背景只填充内容部分

定位

1.定义:

position 属性指定了元素的定位类型

取值:

  • static 静态定位【默认值】
  • relative 相对定位
  • absolute 绝对定位
  • fixed 固定定位
  • sticky 粘性定位

2.static 定位

HTML 元素的默认值,即没有定位,遵循正常的⽂档流对象。 静态定位的元素不会受到 top, bottom, left, right影响。

.static {
    position:static;
    background-color:red;
}

3.relative 定位

相对定位元素的定位是相对自身的正常位置。 移动相对定位元素,但它原本所占的空间不会改变。 相对定位元素经常被⽤来作为绝对定位元素的容器块。

.relative {
    position:relative;
}

4.absolute 定位

绝对定位的元素的位置相对于最近的已定位⽗元素,如果元素没有已定位的⽗元素,那么它的位置相对于文档定位。 absolute 定位使元素的位置与⽂档流⽆关,因此不占据空间。 absolute 定位的元素和其他元素重叠。

.absolute {
    position:absolute;
    left:20px;
    top:20px;
}

5.fixed 定位

元素的位置相对于浏览器窗⼝是固定位置。 即使窗⼝是滚动的它也不会移动。

6.sticky 定位

  • 基于⽤户的滚动位置来定位
  • 在未滚动出目标区域时,类似 position:relative;
  • 当⻚⾯滚动超出⽬标区域时,类似 position:fixed;,它会固定在⽬标位置。
  • 元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位

这个特定阈值指的是 top, right, bottom 或 left 之⼀,换⾔之,指定 top, right, bottom 或 left 四个阈值其中之⼀,才可使粘性定位⽣效。否则其⾏为与相对定位相同。 注意: Internet Explorer, Edge 15 及更早 IE 版本不⽀持 sticky 定位。 Safari 需要使⽤ -webkit- prefix。

堆叠的元素

  • 元素的定位与⽂档流⽆关,所以它们可以覆盖⻚⾯上的其它元素
  • z-index属性指定了⼀个元素的堆叠顺序(哪个元素应该放在前⾯,或后⾯)
  • ⼀个元素可以有正数或负数的堆叠顺序

具有更⾼堆叠顺序的元素总是在较低的堆叠顺序元素的前⾯。 注意: 如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前⾯。

层级

总结:标准流盒子,低于浮动的盒子,浮动的盒子又低于定位的盒子。 定位高于浮动,浮动高于标准流。(高低和占不占位置无关) 给定 z-index 的值为层级的值。(不给默认为0)

  • 层级为 0 的盒子,也比标准流和浮动高
  • 层级为负数的盒子,比标准流和浮动低
  • 层级不取小数
  • 层级一样,后面的盒子比前面的层级高
  • 浮动或者标准流的盒子,后面的盒子比前面的层级高
  • abselute是不占位置的,relative是站位的。而层级的高低,是和占不占位置没有关系的。

透明

1.rgba 作用于颜色

语法:rgba(R,G,B,A); RGBA 是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha(不透明度)三个单词的缩写。RGBA 颜色值是 RGB 颜色值的扩展,带有⼀个 alpha 通道 - 它规定了对象的不透明度。

rgba()里的值的介绍:

  • R:红色值。正整数 (0~255)
  • G:绿色值。正整数 (0~255)
  • B:蓝色值。正整数(0~255)
  • A:透明度。取值0~1之间

rgba()只是单纯的可以设置颜色透明度,这样在页面的布局中有很多应⽤。比如说:让背景出现透明效果,但上面的文字不透明。

2. opacity属性设置背景透明度

语法:opacity: value; value 指定不透明度,从0.0(完全透明)到1.0(完全不透明)。 opacity 属性具有继承性,会使容器中的所有元素都具有透明度;

<style>
    .box{
        width:400px;
        height:400px;
        margin: 0 auto;
    }
    .box-item{
        float:left;
        width:120px;
        height:120px;
        margin:20px;
        background:#ff0000;
    }
    .box-item.item01{
        opacity:.4;
    }
    .box-item.item02{
        opacity:1;
    }
</style>
<div class="box">
    <div class="box-item item01">背景透明</div>
    <div class="box-item item02">背景不透明</div>
</div>

3.

  • rgba() 方法与opacity方法可以实现透明度效果
  • rgba()只作用于元素的颜色或其背景色(设置了rgb()透明度元素的子元素不会继承其透明效果)
  • opacity具有继承性,既作用于元素本身,也会使元素内的所有子元素具有透明度

元素隐藏的六种方法

1.使用透明度 opacity

语法:opacity:0 注意:元素消失,但是还会占据空间

2.使用display

display:none 注意:元素消失,不会占据空间

3.使用 scale 缩放

transform:scale(0) 注意:元素消失,但是还会占据空间

4.使用visibility

visibility:hidden 隐藏 / visible显示 注意: 元素消失,但是还会占据空间

 5.使用宽高和overflow

width:0;overflow:hidden; 注意: 元素消失,但是还会占据空间

<style>
  .box{
    width: 0px;
    height: 0px;
    background-color: aquamarine;
    overflow:hidden;
    visibility:hidden;
  }
</style>
<div class="box"></div>

6.使用position定位

position:absolute; top:-当前元素的高度;left:-当前元素的高度 注意: 元素消失,不会占据空间

光标属性

1.cursor 属性规定要显示的光标的类型(形状)。 该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状(不过 CSS2.1 没有定义由哪个边界确定这个范围)。

属性名效果
crosshair精确定位“十”字形;
pointer“小手”形状
text文本“I”形;
wait等待,“沙漏”形;
default默认指针;
help帮助,带尾箭头
auto鼠标按照默认的状态根据页面上的元素自行改变样式
<style>
 .one{
    width: 100px;
    height: 100px;
    background-color: green;
    float: left;
  }
  .one:hover{
    cursor: pointer;
  }
 </style>
<div class="one">one</div>

flex弹性盒子

W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便、完整、响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。 伸缩布局 = 弹性布局 = flex布局 原理:通过给父盒子添加flex属性,来控制盒子的位置和排列方式 弹性盒子分为两块:box布局(老版本) 和flex布局(新版本) Flexbox模型是2012年9月提出的工作草案,这个草案是由W3C 推出的最新语法。这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现统一。

注意,设为 Flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。

容器: 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器

项目 容器的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目“

容器属性(6 个):项目属性(6个)
flex-direction 主轴方向order
flex-wrap 主轴换行方式flex-grow
flex-flow 符合形式flex-shrink
justify-content 主轴对齐方式flex-basis
align-items 交叉轴对齐方式flex
align-content 多根主轴对齐方式align-self
flex基础弹性盒子

语法:display:flex 表示给当前元素添加弹性盒子

display:-webkit-box;和float的区别在于 float浮动之后,高度会随着内容变化,高度不定;并且浮动之后,当盒子缩小时,浮动的内容会自动被挤下来 display:box 不需要设置盒子高度,会自动使多个盒子高度保持一致; 并且弹性盒子设置好之后,屏幕缩小不会让内容自动换行,但是还是没有实 线弹性盒子

flex-direction 决定主轴方向(即项目排列方向)

属性值: row(默认值):主轴为水平方向,起点在左端。 row-reverse:主轴为水平方向,起点在右端。 column:主轴为垂直方向,起点在上沿。 column-reverse:主轴为垂直方向,起点在下沿

flex-wrap 设置项目换行方式[使用的多

默认情况下,项目都排在一条线(又称”轴线”)上。 flex-wrap 属性设置如果一条轴线排不下,项目如何换行。

语法:flex-warp:warp nowrap (默认):不换行,都在一行或者一列中显示 wrap:换行,第一行在上方。 wrap-reverse:伸缩项目无法容纳时,自动换行,方向和wrap相反,这个效果和使用float的效果是一样的。

 

 CSS选择器

| ​**选择器**                    | ​**例子**           | ​**例子描述**                                                                        | ​**CSS** |

| --------------------------- | ----------------- | -------------------------------------------------------------------------------- | -------- |

| .\*\**class*                | .intro            | 选择 class="intro" 的所有元素。                                                          | 1        |

| #\*\**id*                   | #firstname        | 选择 id="firstname" 的所有元素。                                                         | 1        |

| \*                          | \*                | 选择所有元素。                                                                          | 2        |

| \*\**element*               | p                 | 选择所有元素                                                                           | 1        |

| \*\**element*,\*\**element* | div,p             | 选择元素                                                                             | 1        |

| element element             | div p             | 选择 元素                                                                            | 1        |

| element>element             | div>p             | 选择父元素为元素                                                                         | 2        |

| *element*+*element*         | div+p             | 选择紧接在元素。                                                                         | 2        |

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

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

| \[*attribute*\~=*value*]    | \[title\~=flower] | 选择 title 属性包含单词 "flower" 的所有元素。 (class=”flower red”) (title= ”flower red”) 不能使用了 | 2        |

| \[*attribute*\|=*value*]    | \[class\|=box]    | 选择 class 属性值以 “box” 开头(后面如果有字符,必须为-)的所有元素。                                       | 2        |

| :link (:开头--伪类选择器) | a:link         | 选择所有未被访问的链接。                 | 1 |

| ------------------ | -------------- | ---------------------------- | - |

| :visited           | a:visited      | 选择所有已被访问的链接。                 | 1 |

| :active            | a:active       | 选择活动链接。                      | 1 |

| :hover             | a:hover        | 选择鼠标指针位于其上的链接。               | 1 |

| :focus             | input:focus    | 选择获得焦点的 input 元素。(IE8及以上才支持) | 2 |

| :first-letter      | p:first-letter | 选择每个元素的首字母。                  | 1 |

| :first-line        | p:first-line   | 选择每个元素的首行。(加边框不行,字号可以)       | 1 |

| :first-child       | p:first-child  | 选择属于父元素的第一个子元素的每个元素。         | 2 |

| :before (伪元素)      | p:before       | 在每个元素的内容之前插入内容。              | 2 |

| :after(伪元素)        | p:after        | 在每个元素的内容之后插入内容。              | 2 |

| ​**选择器**                         | ​**例子**                              | ​**例子描述**                       | ​**CSS** |

| -------------------------------- | ------------------------------------ | ------------------------------- | -------- |

| ***element1*\~***element2*       | p\~ul                                | 选择前面有元素(同胞,可以不相邻)的每个            | 3        |

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

| \[\*\**attribute*\$=\*\**value*] | img\[src\$=".pdf"]                   | 选择其 src 属性以 ".pdf" 结尾的所有  元素。   | 3        |

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

| :first-of-type                   | p:first-of-type                      | 选择属于其父元素的首个元素的每个元素。             | 3        |

| :last-of-type                    | p:last-of-type                       | 选择属于其父元素的最后元素的每个元素。             | 3        |

| :only-of-type                    | p:only-of-type                       | 选择属于其父元素唯一的元素的每个元素。             | 3        |

| :only-child                      | p:only-child                         | 选择属于其父元素的唯一子元素的每个元素。            | 3        |

| :nth-child(*n*)                  | p:nth-child(2n+1)                    | 选择属于其父元素的第二个子元素的每个元素。           | 3        |

| :nth-last-child(*n*)             | p:nth-last-child(2)                  | 同上,从最后一个子元素开始计数。                | 3        |

| :nth-of-type(*n*)                | p:nth-of-type(2)                     | 选择属于其父元素第二个元素的每个元素。             | 3        |

| :nth-last-of-type(*n*)           | p:nth-last-of-type(2)                | 同上,但是从最后一个子元素开始计数。              | 3        |

| :last-child                      | p:last-child                         | 选择属于其父元素最后一个子元素每个

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值