博客列表 >【CSS入门】CCS基本语法和常用选择器的使用方法

【CSS入门】CCS基本语法和常用选择器的使用方法

Tyrrell
Tyrrell原创
2021年03月24日 12:36:172364浏览

一、CSS简介

(1)CSS是层叠样式表(Cascading Style Sheets)的简称。

(2)CSS主要作用:美化网页、布局页面,增加视觉感官。

(3)CSS最大的价值:由HTML专注做结构呈现,样式交给CSS,即结构(HTML)和样式(CSS)相分离。

二、css语法

(1)CSS规则主要由两个主要部分构成:选择器及一条或多条声明。

选择器用于指定CSS样式的HTML标签,花括号内是对该对象设置的的具体样式。
属性是对制定对象设置的样式属性,例如字体大小、文本颜色等。
属性和属性值之间用英文“:”分开。
多个键值对之间用英文“;”进行区分。

三、CSS的三种引用样式

1、行内样式(内联样式):

直接现在HTML标签中的样式,通过给标签添加style属性来实现行内式

  1. <h1 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </h1>

语法中style是标签的属性,实际上任何HTML标签都拥有style属性,用来设置行内式。其中属性和值的书写规范与CSS样式规则相同,行内式只对其所在的标签及嵌套在其中的子标签起作用。

2、内部样式表

内部样式是将CSS代码集中写在文本的head标签中,并且用style标签定义,其基本语法格式如下

  1. <head>
  2. <style type="text/CSS">
  3. 选择器 {
  4. 属性1:属性值1; 属性2:属性值2;
  5. }
  6. </style>
  7. </head>

3、外部样式表

外部样式表是将所有的css样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通过link或@import标签将外部样式表文件链接到HTML文档中

  1. <head>
  2. <link href="CSS文件的路径" type="text/CSS" rel="stylesheet" />
  3. </head>
  4. 或:
  5. <style>
  6. @import url(“style.css”)
  7. </style>

四、CSS选择器

选择器优先级

id选择器的权值为100>类选择器的权值10>标签选择器的权值1>

1.简单选择器

标签选择器

用HTML标签名作为选择器,按标签名分类,为页面中的某一类标签指定统一的CSS样式。

  1. 标签名 {
  2. 属性1: 属性值; 属性2: 属性值2
  3. }

类选择器

为了差异化选择不同的标签,单独选一个或某几个标签,可以使用类选择器。
样式点调用,结构类(class)调用,一个或多个,开发最常用

  1. .类名 {
  2. 属性1: 属性值1; 属性2: 属性值2
  3. }

我们可以给一个标签指定多个类名,或者一个类名绑定多个标签,从而达到更多的选择的目的。这些类名都可以选出这个标签。多类名之间要用空格分隔开。
可以把一些标签元素相同的样式(共同的部分)放到一个类里面。
这些标签都可以调用公共的的类,然后再调用自己独有的类。
从而节省CSS代码,统一修改非常方便。

id选择器

样式#定义,结构id调用,只能用一次

  1. #id名 {
  2. 属性1: 属性值1; 属性2: 属性值2
  3. ...
  4. }
类选择器和id选择器区别:

class可以被多次使用,id只能有一个

通配选择器

使用“*”定义,表示选中所有元素(标签)

  1. * {
  2. 属性1: 属性值1; 属性2: 属性值2
  3. ...
  4. }

群组选择器

可以同时选择多个不同类型的元素

  1. h1,h2,#id名,.类名{
  2. 属性1: 属性值1; 属性2: 属性值2
  3. }

每个标签之间用,隔开

2.上下文选择器

元素的四种角色

先祖元素

拥有子元素,孙元素等所有层级的后代元素(如html、body)

父级元素

仅拥有子元素层级的元素
如:

  1. <ul>(父级元素)
  2. <li></li>(子元素)
  3. <li></li>(子元素)
  4. </ul>

后代元素

与其它层级元素一起拥有共同祖先元素

  1. <html>(祖先元素)
  2. <body>
  3. <ul>
  4. <li></li>(后代元素)
  5. <li></li>(后代元素)
  6. </ul>
  7. </body>
  8. </html>

子元素

与其它同级元素一起拥有共同父级元素

  1. <ul>(父级元素)
  2. <li></li>(子元素)
  3. <li></li>(子元素)
  4. </ul>

四种上下文选择器

后代选择器

可以选择父元素里面子元素,外层标签写前面,内层标签写后面,中间用空格分隔。当标签形成嵌套时,内层标签是外层标签后代

  1. (父级)元素1 (元素1的后代)元素2 {
  2. 属性1: 属性值1; 属性2: 属性值2
  3. }

上述语法表示元素1里面的所有元素2(后代元素)。
元素1和元素2中间用空格分隔
元素1是父级,元素2是子级,选中的是元素2
元素2可以是儿子也可以是孙子,只要是元素1的后代即可
元素1和元素2可以是任意基础选择器

子选择器(父子选择器)

只能选择距离父元素 最近一级 的子元素

  1. (父级)元素1>(子级)元素2 {
  2. 属性1: 属性值1; 属性2: 属性值2
  3. }

上述语法表示选中元素1的所有直接后代(子元素)元素2
元素1和元素2用大于号隔开
元素1是父级,元素2是子级,作中选中的是元素2
元素2必须是亲儿子,孙子都不行,也可以理解为亲儿子选择器

同级所有选择器

  1. <style>
  2. .start~li {
  3. background-color: yellow;
  4. }
  5. </style>
  6. </head>
  7. <body>
  8. <ul>
  9. <li>item1</li>
  10. <li class="start">item2</li>
  11. <li>item3</li>
  12. <li>item4</li>
  13. </ul>
  14. </body>

所有相同父级中,位于某标签之后的同级的某标签享受样式。
相邻兄弟选择器可选择紧接在另一元素后的所有元素,且而者有相同父元素.
例如选择第二个li后面的所有li标签

伪类选择器

伪类选择器以 : 开始

  1. <style>
  2. a:伪类元素
  3. </style>

链接伪类选择器

:link ==未访问的链接
:visited ==已访问的链接
:hover ==鼠标移动到链接上
:active ==选定的链接

  1. style>
  2. a {
  3. font-size: 16px;
  4. font-weight: 700;
  5. color: black;
  6. text-decoration: none;
  7. }
  8. a:link {
  9. /* 未访问的链接 */
  10. color: gray; /*颜色:灰色*/
  11. }
  12. a:visited {
  13. /* 已访问的链接 鼠标点击过后显示的颜色*/
  14. color: orange;/*颜色:橙色*/
  15. }
  16. a:hover {
  17. /* 鼠标移动到链接上显示的颜色 */
  18. color: red;/*颜色:红色*/
  19. }
  20. a:active {
  21. /* 选定的链接 当我们点击别松开鼠标 显示的状态*/
  22. color: green;/*颜色:绿色*/
  23. }
  24. </style>

结构伪类选择器

不分组匹配:

first-child :匹配父元素的第一个子元素
:last-child :匹配父元素的最后一个子元素
:only-child :匹配只有一个子元素的父元素
:nth-child(n) : 匹配父元素的匹配任意位置的子元素
:nth-last-child(n) :从父元素的倒数第一个子元素开始计算
(n 可以是子元素的排序数字、关键词或着是公式)

  1. <style>
  2. ul li:first-child { /* 选择第一个子元素 */
  3. color: pink;
  4. }
  5. ul li:last-child { /* 选择最后一个子元素 */
  6. color: purple;
  7. }
  8. ul li:nth-child(4) { /* 选择第4个子元素 n 代表 第几个的意思 */ color: skyblue;
  9. }
  10. li:nth-child(odd) { /*可以选择所有的 odd奇数 的子元素标签 */ color: pink;
  11. }
  12. li:nth-child(even) { /*可以选择所有的 even 偶数 的孩子标签 */ color: deeppink;
  13. }
  14. li:nth-child(3n) { /* n 0 2n 2n是 选择 2.4.6.8..的孩子 3n 3.6.9的孩子元素 */
  15. color: pink;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <ul>/*父元素*/
  21. <li>第一个子元素</li>
  22. <li>第二个子元素</li>
  23. <li>第三个子元素</li>
  24. <li>第四个子元素</li>
  25. <li>第五个子元素</li>
  26. <li>第六个子元素</li>
  27. <li>第七个子元素</li>
  28. <li>第八个子元素</li>
  29. </ul>
  30. </body>
分组匹配:

.list > li:first-of-type:选取属于其父元素的首个li子元素的指定选择器
.list > li:last-of-type :选取属于其父元素的最后一个li子元素的指定选择器
.list li:nth-of-type(3) : 匹配属于其父元素的第 3 个li子元素,只匹配li元素
ul > li:only-of-type 匹配属于其父元素的唯一子元素的元素

  1. style>
  2. /* 给类选择器为class的UL下的最后一个li标签添加背景颜色 */
  3. .list > li:last-of-type {
  4. background-color: aquamarine;
  5. }
  6. /* 给类选择器为class的UL下的第一个li标签添加背景颜色 */
  7. .list > li:first-of-type {
  8. background-color: royalblue;
  9. }
  10. /* 给类选择器为class的UL下的第三个li标签添加背景颜色 */
  11. /* 用空格链接后代元素会把样式带给后代元素 */
  12. .list li:nth-of-type(3) {
  13. background-color: blueviolet;
  14. }
  15. /* 给类选择器为class的UL下的单数li标签添加前景颜色 */
  16. .list > li:nth-of-type(2n + 1) {
  17. color: red;
  18. }
  19. /* 给类选择器为class的UL下的双数li标签添加前景颜色 */
  20. .list > li:nth-of-type(2n + 2) {
  21. color: blue;
  22. }
  23. /* 给ul下只存在一个li标签的元素加上边框 */
  24. ul > li:only-of-type {
  25. border: solid 2px;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <ul class="list">
  31. <li>item1</li>
  32. <li>item2</li>
  33. <li>
  34. item3
  35. <ul>
  36. <li>孙子1</li>
  37. <li>孙子2</li>
  38. </ul>
  39. </li>
  40. <li>item4</li>
  41. <li>item5</li>
  42. <li>item6</li>
  43. <li>item7</li>
  44. <li>item8</li>
  45. <li>item9</li>
  46. <li>item10</li>
  47. </ul>
  48. <ul>
  49. <li>item1</li>
  50. </ul>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议