目录

三种样式表

外部样式表(External style sheet)

内部样式表(Internal style sheet)

内联样式(Inline style)

css的样式特性

多重样式优先级

选择器

1.通用选择器

2.元素选择器

3.ID选择器

4.类选择器

5.后代选择器(以空格     分隔)

6.子代选择器 (以大于 > 号分隔)

7.相邻兄弟选择器(以加号 + 分隔)

8.普通(后续)兄弟选择器(以波浪号 ~ 分隔)

9.交集选择器(标签名.ID名/类名)

10.并集选择器(用 , 隔开)

11.通配符选择器(*{})

12.伪类选择器

12.1 anchor伪类

12.2 input伪类

12.3 other伪类

13.属性选择器

14.子串匹配属性选择器

选择器优先级顺序


三种样式表

  • 外部样式表(External style sheet)


<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
  • 内部样式表(Internal style sheet)


<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>
  • 内联样式(Inline style)


<p style="color:sienna;margin-left:20px">这是一个段落。</p>

css的样式特性

  • ①继承性

文本样式和字体样式的继承
  绝大多数文本字体样式,可以被继承
  a标签不会继承字体颜色

  • ②堆叠性

为一个标签定义多个样式规则
  如果样式属性不冲突,都会作用到这个标签上

  • ③优先级

默认优先级
  高 内联样式
  中 内部样式,外部样式-------就近原则
  低 浏览器默认样式
  f12关于优先级的显示
  默认情况下,f12中样式是按照默认优先级顺序从上往下显示

  • ④调整优先级

设置最高优先级 !important,比内联都高
写在某一个值与分号之间,!important与值之间有空格
color: red !important ;
注意,内联样式不允许设置!important,语义要求

多重样式优先级

(内联样式) > (内部样式)(外部样式) > 浏览器默认样式

选择器

1.通用选择器

通配符选择器可以匹配任何标签,我们常用于统一页面样式。

{样式声明} (匹配所有元素,但是的效率非常低,不建议使用)
例:*{margin:0;padding:0}

2.元素选择器

标签关键字{样式声明;}
div{} p{}

3.ID选择器

<元素 id=“id值”>
#id值{样式声明}
id在一个页面中不能重复,所有id选择器只被一个元素应用

4.类选择器

使用.定义样式,哪个元素想用,用class都能调用

<元素 class=“类名”>
.类名{样式声明}

类选择器的其它用法

①.多类选择器

<元素 class="类名1 类名2 类名3.......">

②.分类选择器

元素选择器.类选择器{样式声明}
.类选择器.类选择器{样式声明}
.tooltip.show{}

③.类名的定义规范

①必须有.
  ②不能以数字开头
  ③只能包含- 或者_
  ④尽量见名知意

5.后代选择器(以空格     分隔)

通过元素的后代关系,来匹配元素
后代关系:一层嵌套或者多于一层嵌套称为后代
选择器1 选择器2 选择器3{样式声明}

需求描述 :为所有DIV标签中的所有p标签添加红色文本

    <div><p>儿子标题</p><span><p>孙子标题</p></span><p>儿子标题</p><span><span><p>后代标题</p></span></span></div><div><p>儿子标题</p><span><p>孙子标题</p></span><p>儿子标题</p><span><span><span><p>后代标题</p></span></span></span></div><p>非后代</p>
div p{color:red;
}

效果:

6.子代选择器 (以大于 > 号分隔)

通过元素子代关系,来匹配元素
子代关系,一层嵌套为子代
选择器1>选择器2>选择器3{样式声明}

需求描述 :为div标签下所有h1儿子节点设置为红色文本样式

<div><h1>儿子标题</h1><span><h1>孙子标题</h1></span><h1>儿子标题</h1>
</div>
div>h1{color: red;
}

效果:

子代和后代选择器可以混合使用
#d1>p span{color:red;}

7.相邻兄弟选择器(以加号 + 分隔)

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。定义的时候用 + 隔开。

需求描述 :为所有div之后的第一个p标签元素设置为黄色文本样式

    <div><p>DIV 内部段落。</p></div><p>DIV 之后的第一个 P 元素。</p><p>DIV 之后的第二个 P 元素。</p><div><p>DIV 内部段落。</p></div><p>DIV 之后的第一个 P 元素。</p><p>DIV 之后的第二个 P 元素。</p>
div + p {background-color: yellow;
}

效果:

8.普通(后续)兄弟选择器(以波浪号 ~ 分隔)

后续兄弟选择器选取所有指定元素之后的相邻兄弟元素

需求:选取了所有 <div> 元素之后的所有相邻兄弟元素 <p> :

    <div><p>DIV 内部段落。</p></div><p>DIV 之后的第一个 P 元素。</p><p>DIV 之后的第二个 P 元素。</p><p>DIV 之后的第三个 P 元素。</p><a href="">DIV 之后的第4个 a元素</a><p>DIV 之后的第五个 P 元素。</p><div><p>DIV2 内部段落。</p></div><p>DIV2 之后的第一个 P 元素。</p><p>DIV2 之后的第二个 P 元素。</p>
div~p{background-color:yellow;}

效果:

element1~element2  p ~ ul  选择前面有 <p> 元素的每个 <ul> 元素。

9.交集选择器(标签名.ID名/类名)

选择的元素必须同时满足多个条件才可以被选择,交集选择器就是干这个的。定义的时候用 标签名.ID名/类名 。

需求描述 :为所有p标签class为part的段落添加绿色文本样式

<p class="part">段落1</p>
<h1 class="part">标题</h1>
<p class="part">段落2</p>
p.part {color: red;
}

效果:

10.并集选择器(用 , 隔开)

多种元素共享某种属性,这时候就可以使用并集选择器。定义的时候用 逗号 隔开。

需求描述 :为p标签、h1标签、class=‘link’、id='click’的这几种元素添加红色文本样式

<p>段落</p>
<h1>标题</h1>
<a href="https://www.baidu.com/" class="link">打开百度,你就知道!</a>
<button id="click">我是按钮</button>
p, h1, .link, #click {color: red;
}

效果:

11.通配符选择器(*{})

通配符选择器可以匹配任何标签,我们常用于统一页面样式。

需求描述 :将页面所有元素的字体设置为红色文本样式

<div>DIV文本</div>
<p>P文本</p>
<a href="https://www.baidu.com">打开百度,你就知道!</a>
* {color: red;
}

12.伪类选择器

匹配元素在某一个状态时的样式

12.1 anchor伪类

选择器 示例  示例说明
:link a:link 选择所有未访问链接
:visited a:visited 选择所有访问过的链接
:active a:active 选择正在活动链接
:hover a:hover 把鼠标放在链接上的状态
:active a:active 已选中的链接样式

12.2 input伪类

选择器 示例 示例说明
:focus input:focus 选择元素输入后具有焦点
:checked input:checked 选择所有选中的表单元素
:disabled input:disabled 选择所有禁用的表单元素
:enabled input:enabled 选择所有启用的表单元素
:in-range input:in-range 选择元素指定范围内的值
:out-of-range input:out-of-range 选择元素指定范围外的值
:invalid input:invalid 选择所有无效值的元素
:valid input:valid 选择所有有效值的元素
:optional input:optional 选择没有"required"属性的元素
:required input:required 选择含有"required"属性的元素
:read-only input:read-only 选择只读属性的元素
:read-write input:read-write 选择可写属性的元素

12.3 other伪类

选择器 示例 示例说明
:not(selector) :not(p) 选择所有p元素以外的元素
:empty p:empty 选择所有没有子元素的p元素
:first-child p:first-child 选择所有p元素的第一个子元素
:first-of-type p:first-of-type 选择的每个p元素是其父元素的第一个p元素
:last-child p:last-child 选择所有p元素的最后一个子元素
:last-of-type p:last-of-type 选择每个p元素是其父元素的最后一个p元素
:nth-child(n) p:nth-child(2) 选择所有p元素的父元素的正数第二个子元素
:nth-of-type(n) p:nth-of-type(2) 选择所有p元素正数的第二个为p的子元素
:nth-last-child(n) p:nth-last-child(2) 选择所有p元素的父元素的倒数第二个子元素
:nth-last-of-type(n) p:nth-last-of-type(2) 选择所有p元素倒数的第二个为p的子元素
:only-child p:only-child 选择所有仅有一个子元素的p元素
:only-of-type p:only-of-type 选择所有仅有一个子元素为p的元素
:first-letter p:first-letter 选择每个p元素的第一个字母
:first-line p:first-line 选择每个p元素的第一行
:before p:before 在每个p元素之前插入内容
:after p:after 在每个p元素之后插入内容

13.属性选择器

属性选择器可以根据元素的属性及属性值来选择元素。

需求描述 :为类型为text和button的input标签设置一下样式

<input type="text" value="文本框">
<input type="button" value="按钮">
input[type="text"] {width: 150px;display: block;margin-bottom: 10px;background-color: yellow;
}input[type="button"] {width: 120px;margin-left: 35px;display: block;
}

需求描述 :如果title中包含多个单词并且以空格分隔,只要其中有hello,则为当前标签设置为蓝色字体样式

<h2>将会适用:</h2>
<h1 title="hello world">Hello world</h1>
<p title="student hello">Hello CSS students!</p><h2>将不适用:</h2>
<p title="student">Hi CSS students!</p>
[title~=hello] {color: blue;
}

需求描述 :如果title中包含一个单词,只要其中有zh,则为当前标签设置为蓝色字体样式

<h2>将会适用:</h2>
<p lang="zh">Hello!</p>
<p lang="zh-cn">Hi!</p><h2>将不适用:</h2>
<p lang="us">Hello!</p>
<p lang="en">Hi!</p>
[lang|=zh] {color: blue;
}

14.子串匹配属性选择器

下面为您介绍一个更高级的选择器模块,它是 CSS2 完成之后发布的,其中包含了更多的部分值属性选择器。按照规范的说法,应该称之为“子串匹配属性选择器”。很多现代浏览器都支持这些选择器,包括 IE7。

下表是对这些选择器的简单总结:

类型 描述
[abc^=“def”] 选择 abc 属性值以 “def” 开头的所有元素
[abc$=“def”] 选择 abc 属性值以 “def” 结尾的所有元素
[abc*=“def”] 选择 abc 属性值中包含子串 “def” 的所有元素

如果希望对指向 baidu 的所有链接应用样式,不必为所有这些链接指定 class,再根据这个类编写样式,而只需编写以下规则:

a[href*="baidu.com"] {color: red;
}

选择器优先级顺序

内联样式 >

 ID 选择器 >

类选择器 = 伪类选择器 = 属性选择器 >

标签选择器 = 伪元素选择器

CSS 样式表及选择器相关推荐

  1. css样式表和选择器

    CSS样式----图文详解:css样式表和选择器 主要内容 CSS概述 CSS和HTML结合的三种方式: 行内样式表 . 内嵌样式表 . 外部样式表 CSS四种基本选择器: 标签选择器 . 类选择器 ...

  2. HTML笔记——④css样式表、选择器、常用属性

    HTML笔记--④css样式表.选择器.常用属性 一 CSS 1.1 CSS语法 1.2 CSS样式表 1.2.1 内部样式表 1.2.2 外部样式表 1.2.3 行内样式表 1.3 CSS常用属性 ...

  3. 【CSS】CSS样式表+复合选择器

    「1.内部样式表(内嵌样式表)」 也称为内嵌式,将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义. style标签一般位于head标签中,当然理论上他可以放在HTML文档 ...

  4. Day03_css选择器、css样式大全、引入css样式表、常用标签属性、形变和动画

    03.01_css选择器-属性选择器 针对中写明了某些属性的标签进行设置 选择器[属性名]{属性名称1:值1:属性名称2:值2:....}选择器[属性名="属性值"]{属性名称1: ...

  5. CSS——(CSS样式规则,CSS样式表单,选择器,常用的CSS属性)

    CSS(Cascading Style Sheets,层叠样式表单)是由W3C所提出,主要的用途是控制网页的外观,也就是定义网页的编排,显示,格式化及特殊效果,有部分功能与HTML重叠. 1.CSS样 ...

  6. 外链式样式表_引入CSS样式表(书写位置)

    CSS初识 CSS(Cascading Style Sheets) 美化样式 CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体.大小.对齐方式等).图片 ...

  7. CSS样式表的规划与组织

    如果你的工作过程中遇到以下问题,那么请你阅读此文章. 1:样式表文件里面的代码混乱,随着项目的进展,样式表里面的先有代码不敢做任何改变,因为连自己也不知道改了以后会给现有项目造成什么影响.更不敢删除. ...

  8. html中style布局放哪,CSS样式表与格式布局详解

    样式表 CSS(Cascading Style Sheets  层叠样式表),作用是美化HTML网页. 内联样式表: 例: 内联样式表 内嵌样式表:必须写在head标签里 例: p { 样式;} he ...

  9. 外链式样式表_WEB前端 CSS样式表

    CSS层叠样式表 字体样式属性 font-size:字号大小 页中普遍使用14px+. 尽量使用偶数的数字字号.ie6等老式浏览器支持奇数会有bug. font-family:字体 中文字体需要加引号 ...

最新文章

  1. pyinstaller 打包tensorflow2.0为单个文件
  2. 基因测序3——三、四代测序技术来势汹汹,国产化仍在布局二代测序?
  3. ECS服务器指定实例规格最佳推荐
  4. Luogu3694 邦邦的大合唱站队 (状压DP)
  5. 雅马哈机器人左手右手系统_消防管件组装成机器人 PM值临界时会报警并自动喷淋...
  6. uboot: RTL8201 100M PHY驱动代码
  7. floatmap 二维数组_用J中的多维数组进行Arrays.fill
  8. 【JEECG 官方】技术支持联系方式
  9. Tomcat,出现乱码问题
  10. php base64图片大小,php 图片 base64编码相互转换
  11. js的hasOwnProperty
  12. Exchange2003不能自动删除日志
  13. 07《基于深度学习的车标识别方法研究》学习总结
  14. allennlp0.9.0问题
  15. 《Go圣经》章三:基本数据
  16. 扩计算机内存,如何增加计算机内存,三种方法来扩展计算机内存
  17. 从fig文件导出数据【MATLAB】
  18. c语言中错误executing,RetryableException: Read timed out executing POST 问题解决
  19. vue实现li列表的新增删除和修改
  20. uniapp长按识别二维码、小程序码

热门文章

  1. 2022-2028全球与中国长曲棍球装备市场现状及未来发展趋势
  2. Android JNI开发入门与实战
  3. 全面解析电商数据挖掘之关联算法
  4. 第二十四课时预习笔记
  5. HPA控制器介绍以及实战案例
  6. 你改变不了环境,但你可以改变自己
  7. 会声会影试用版到期了怎么办_corel 会声会影2018试用版如何卸载?
  8. 5G 频段 频率与Band对应表
  9. IT行业--想象力是创造的源头,凯文·米特尼克文章的启发
  10. [一起学Hive]之十二-Hive SQL的优化