博客列表 >2015作业-css的基本语法及三种样式引入方式,选择器的应用

2015作业-css的基本语法及三种样式引入方式,选择器的应用

世纪天城
世纪天城原创
2020年12月17日 20:46:39589浏览

css的基本语法及三种样式引入方式

  1. 任何元素如果想引入到html文档中,必须要使用一个适当的标签,css也不例外 通过style标签引入的css规则,仅适用于当前的页面(html文档) css: 层叠样式表,用来设置页面中元素的样式,布局

2.h1: 选择器 {…}: 声明块,由一个或多个由分号分隔开的样式声明构成 h1 + {…}: 选择器 + 声明块 = 规则

css引入方式
1.style为css引入方式:内部样式>为css引入方式:内部样式 标签

内部样式代码

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>css引入方式:内部样式</title>
  6. <!-- 1. 内部样式 <style> -->
  7. <style>
  8. h1 {
  9. /* 声明: 属性和值组成 */
  10. color: violet;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>css引入方式:内部样式</h1>
  16. <p>style为css引入方式:内部样式 标签</p>
  17. </body>
  18. </html>

2.css引入方式:外部样式表/公共样式表/共享样式表
使用link 标签引入外部公共样式表

<link rel="stylesheet" href="css/style.css">

标签引入外部公共样式表代码

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>css引入方式:外部样式表/公共样式表/共享样式表</title>
  6. <!-- 使用link 标签引入外部公共样式表 -->
  7. <link rel="stylesheet" href="css/style.css">
  8. </head>
  9. <body>
  10. <h3>css引入方式:外部样式表/公共样式表/共享样式表</h3>
  11. </body>
  12. </html>

3.css引入方式:style属性设置样式
通过style属性给指定元素自定义/定制样式

style属性设置样式代码

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>css引入方式:style属性设置样式</title>
  6. </head>
  7. <body>
  8. <h1>css引入方式:style属性设置样式</h1>
  9. <!--通过style属性给指定元素自定义/定制样式 -->
  10. <h1 style="color:teal">css引入方式:style属性设置样式</h1>
  11. </body>
  12. </html>

样式表的模块化:公共部分进行分离
@import用于引入模块化样式表

例如:

导入公共页眉 @import url(css/header.css);
导入公共页脚 @import 'css/footer.css';

总结: 1. 内部样式: 仅对当前文档的元素有效,使用 style 标签 2. 外部样式: 适用于所有引入了这个css样式表的html文档,使用 link 标签 3. 行内样式: 使用style属性,仅适用于当前的页面中的指定的元素

选择器1: 简单选择器

标签选择器, 返回一组

  1. li{
  2. background-color: chartreuse;
  3. }

类选择器: 返回一组

  1. .li{
  2. background-color: chocolate;
  3. }

id选择器: 返回一个

  1. #app3{
  2. background-color: crimson;
  3. }
  4. /* 属性选择器: class, id */

代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>选择器1: 简单选择器</title>
  8. <style>
  9. /* 1. 标签选择器, 返回一组 */
  10. li{
  11. background-color: chartreuse;
  12. }
  13. /* 2. 类选择器: 返回一组 */
  14. .li{
  15. background-color: chocolate;
  16. }
  17. /* 3. id选择器: 返回一个 */
  18. #app3{
  19. background-color: crimson;
  20. }
  21. /* 属性选择器: class, id */
  22. </style>
  23. </head>
  24. <body>
  25. <ul>
  26. <li>app1</li>
  27. <li class="li">app2</li>
  28. <li id="app3">app3</li>
  29. <li>app4</li>
  30. <li class="li">app5</li>
  31. <li class="li">app6</li>
  32. <li>app7</li>
  33. <li>app8</li>
  34. <li>app9</li>
  35. <li>app10</li>
  36. </ul>
  37. </body>
  38. </html>

选择器2:上下文选择器

因为html是一个结构化的文档:每一个元素在文档中有确切的位置
所以根据元素的上下文环境来选择是完全没有问题的

后代选择器: 所有层级

  1. ul li {
  2. background-color: lightblue;
  3. }

子元素选择器: 仅父子层级
body>ul>li {
background-color: teal;
}
同级相邻选择器: 仅选中与之相邻的第一个兄弟元素

  1. .li+li {
  2. background-color: lightgreen;
  3. }

同级所有选择器: 选中与之相邻的后面所有兄弟元素

  1. .li~li {
  2. background-color: yellow;
  3. }

代码:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>选择器2:上下文选择器</title>
  6. <style>
  7. /* 因为html是一个结构化的文档:每一个元素在文档中有确切的位置 */
  8. /* 所以根据元素的上下文环境来选择是完全没有问题的 */
  9. /* 1. 后代选择器: 所有层级 */
  10. ul li {
  11. background-color: lightblue;
  12. }
  13. /* 2. 子元素选择器: 仅父子层级 */
  14. body>ul>li {
  15. background-color: teal;
  16. }
  17. /* 3. 同级相邻选择器: 仅选中与之相邻的第一个兄弟元素 */
  18. .li+li {
  19. background-color: lightgreen;
  20. }
  21. /* 4. 同级所有选择器: 选中与之相邻的后面所有兄弟元素 */
  22. .li~li {
  23. background-color: yellow;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <ul>
  29. <li>app1</li>
  30. <li class="li">app2</li>
  31. <li id="app3">app3</li>
  32. <li>app4</li>
  33. <li class="li">app5</li>
  34. <li class="li">app6</li>
  35. <li>app7</li>
  36. <li>app8</li>
  37. <li>app9</li>
  38. <li>app10</li>
  39. </ul>
  40. </body>
  41. </html>
  42. <!-- 上下文选择器:
  43. 1. 空格: 所有层级
  44. 2. > : 父子级
  45. 3. + : 相邻的兄弟
  46. 4. ~ : 所有相邻兄弟 -->

伪类选择器: 结构相关,难点重点

  1. 匹配任意位置的元素: :nth-of-type(an+b)
    an+b: an起点,b是偏移量, n = (0,1,2,3…)

    选择所有元素

  1. ul li:nth-of-type(1n) {
  2. background-color: violet;
  3. }

1乘以任何数都等于自己,所以省去1

  1. ul li:nth-of-type(n+3) {
  2. background-color: violet;
  3. }

反向获取任意位置的元素: nth-last-of-type(an+b)

  1. ul li:nth-last-of-type(-n+3) {
  2. background-color: violet;
  3. }

我只选择倒数第3个,直接命中

  1. ul li:nth-last-of-type(3) {
  2. background-color: violet;
  3. }

选择所有索引为偶数的子元素, 2,4,6,8…

  1. ul li:nth-of-type(2n) {
  2. background-color: violet;
  3. }

计算方式

  1. 2*0 = 0
  2. 2*1 = 2
  3. 2*2 = 4
  4. 2*3 = 6 */

选择所有索引为奇数的子元素, 1,3,5,7,9…

  1. ul li:nth-of-type(2n-1) {
  2. background-color: violet;
  3. }

这里用2n+1也是对的,大家考虑一下为什么?

偶数行: even

  1. ul li:nth-of-type(even) {
  2. background-color: rgb(250, 9, 250);
  3. }

奇数行: odd

  1. ul li:nth-of-type(odd) {
  2. background-color: rgb(32, 7, 255);
  3. }

选择第一个子元素: :first-of-type */

  1. /* :nth-of-type(1) 的语法糖 :first-of-type */
  2. ul li:first-of-type {
  3. background-color: rgb(24, 245, 98);
  4. }

选中最后一个: :last-of-type

  1. ul li:last-of-type {
  2. background-color: rgb(20, 20, 20);
  3. }

:nth-of-type(an+b)这是最核心的一个选择器,其它的相关选择器都是它的语法糖 */
:nth-last-of-type(), :first-of-type, :last-of-type,这些都是快捷方式

  1. ul:last-of-type li:first-of-type {
  2. background-color: rgb(99, 5, 99);
  3. }

如果只想匹配父元素中唯一子元素,使用 :only-of-type就可快速实现

  1. ul li:only-of-type {
  2. background-color: rgb(230, 111, 13);
  3. }

代码:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>伪类选择器: 结构相关,难点重点</title>
  6. <style>
  7. /* 1. 匹配任意位置的元素: `:nth-of-type(an+b)` */
  8. /* an+b: an起点,b是偏移量, n = (0,1,2,3...) */
  9. /* 选择所有元素 */
  10. ul li:nth-of-type(1n) {
  11. background-color: violet;
  12. }
  13. /* 1乘以任何数都等于自己,所以省去1 */
  14. ul li:nth-of-type(n+3) {
  15. background-color: rgb(112, 110, 112);
  16. }
  17. /* 2. 反向获取任意位置的元素: `nth-last-of-type(an+b)` */
  18. ul li:nth-last-of-type(-n+3) {
  19. background-color: rgb(250, 187, 250);
  20. }
  21. /* 我只选择倒数第3个,直接命中 */
  22. ul li:nth-last-of-type(3) {
  23. background-color: rgb(8, 0, 8);
  24. }
  25. /* 选择所有索引为偶数的子元素, 2,4,6,8... */
  26. ul li:nth-of-type(2n) {
  27. background-color: violet;
  28. }
  29. /*
  30. 计算方式
  31. 2*0 = 0
  32. 2*1 = 2
  33. 2*2 = 4
  34. 2*3 = 6 */
  35. /* 选择所有索引为奇数的子元素, 1,3,5,7,9... */
  36. ul li:nth-of-type(2n-1) {
  37. background-color: violet;
  38. }
  39. /* 这里用2n+1也是对的,大家考虑一下为什么? */
  40. /* 偶数行: even */
  41. ul li:nth-of-type(even) {
  42. background-color: rgb(250, 9, 250);
  43. }
  44. /* 奇数行: odd */
  45. ul li:nth-of-type(odd) {
  46. background-color: rgb(32, 7, 255);
  47. }
  48. /* 3. 选择第一个子元素: :first-of-type */
  49. /* :nth-of-type(1) 的语法糖 :first-of-type */
  50. ul li:first-of-type {
  51. background-color: rgb(24, 245, 98);
  52. }
  53. /* 3. 选中最后一个: :last-of-type */
  54. ul li:last-of-type {
  55. background-color: rgb(20, 20, 20);
  56. }
  57. /* :nth-of-type(an+b)这是最核心的一个选择器,其它的相关选择器都是它的语法糖 */
  58. /* :nth-last-of-type(), :first-of-type, :last-of-type,这些都是快捷方式 */
  59. ul:last-of-type li:first-of-type {
  60. background-color: rgb(99, 5, 99);
  61. }
  62. /* 如果只想匹配父元素中唯一子元素,使用 :only-of-type就可快速实现 */
  63. ul li:only-of-type {
  64. background-color: rgb(230, 111, 13);
  65. }
  66. </style>
  67. </head>
  68. <body>
  69. <ul>
  70. <li>app1</li>
  71. <li class="li">app2</li>
  72. <li id="app3">app3</li>
  73. <li>app4</li>
  74. <li class="li">app5</li>
  75. <li class="li">app6</li>
  76. <li>app7</li>
  77. <li>app8</li>
  78. <li>app9</li>
  79. <li>app10</li>
  80. </ul>
  81. <ul>
  82. <li>1</li>
  83. </ul>
  84. </body>
  85. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议