Blogger Information
Blog 46
fans 2
comment 0
visits 19486
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
伪类选择器-结构伪类、根据位置选择匹配
P粉314265155
Original
334 people have browsed it

结构伪类

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>伪类选择器-结构伪类、根据位置选择匹配</title>
  8. <link rel="stylesheet" href="../0707/css/zuoye1.css">
  9. </head>
  10. <body>
  11. <!-- 伪类选择器类型
  12. 1、结构伪类:根据结构的位置获取元素
  13. 2、状态伪类:根据元素的状态来获取元素。例如获取焦点或者无效元素
  14. -->
  15. <!-- 伪:假的、仿 -->
  16. <!-- 类:权重级别 依然是class级别,类 级/class级
  17. -->
  18. <!-- 仿:假、仿 -->
  19. <!-- 类:权重级别 -->
  20. <!-- <ul class="weizhi">
  21. <li>title</li>
  22. <li>title</li>
  23. <li>title</li>
  24. <li>title</li>
  25. <li>title</li>
  26. <li>title</li>
  27. <li>title</li>
  28. <li>title</li>
  29. </ul> -->
  30. <ul class="weizhi">
  31. <li class="title">item1</li>
  32. <li >item2</li>
  33. <li >item3</li>
  34. <li >item4</li>
  35. <li >item5</li>
  36. <li >item7</li>
  37. <li >item6</li>
  38. <li >item8</li>
  39. </ul>
  40. </body>
  41. </html>
  1. .weizhi > li.title{
  2. background-color: blue;
  3. }
  4. /* 获取当前第一个元素 */
  5. .weizhi > li:nth-of-type(1){
  6. background-color: red;
  7. }
  8. /* 获取第二个元素 */
  9. .weizhi > li:nth-of-type(2){
  10. background-color: aqua;
  11. }
  12. /* 获取最后一个 */
  13. .weizhi > li:nth-of-type(8){
  14. background-color: black;
  15. }
  16. /* 选择前三个 */
  17. /* 括弧里面公式:an+b
  18. a:是系数 -1反向 匹配 1是正向匹配,当a为2时 是偶数。当a为1时,是奇数
  19. n 是参数 ,就是标签的个数 从0开始
  20. 3:是偏移量 */
  21. .weizhi > li:nth-of-type(-n+3){
  22. background-color: blueviolet;
  23. }
  24. /* 如果是n就是所有 */
  25. .weizhi > li:nth-of-type(n){
  26. background-color: teal;
  27. }
  28. /* 获取后三个
  29. 语法加上 last 另外 括弧内的 跟获取前三一样
  30. */
  31. .weizhi > li:nth-last-of-type(-n+3){
  32. background-color: firebrick;
  33. }
  34. /* 获取第一个的快捷语法
  35. 把nth 换为 first
  36. 获取最后一个快捷语法
  37. 把nth 换为last
  38. */
  39. /* .weizhi> li:first-of-type {
  40. background-color: cyan;
  41. } */
  42. .weizhi > li:first-of-type{
  43. background-color: chocolate;
  44. }
  45. .weizhi > li:last-of-type{
  46. background-color: aliceblue;
  47. }
  48. /* 获取偶数、
  49. .list li:nth-of-type(even)
  50. 奇数语法
  51. .list li:nth-of-type(odd)
  52. */
  53. .weizhi li:nth-of-type(even){
  54. background-color: aqua;
  55. }
  56. .weizhi li:nth-of-type(odd){
  57. background-color: blue;
  58. }

状态伪类

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>状态伪类</title>
  8. <link rel="stylesheet" href="../0707/css/zuoye2.css">
  9. </head>
  10. <body>
  11. <form action="checked.php">
  12. <!-- fieldset 表单分组,把里面的打包在一起 -->
  13. <fieldset>
  14. <!-- legend 元素为 fieldset 元素定义标题(caption) -->
  15. <legend>我是fieldset的标题</legend>
  16. <label for="male">用户注册页面</label>
  17. <br>
  18. <label for="jinggao">警告:</label>
  19. <!-- disabled 不能选择 -->
  20. <input type="text" name="" id="jinggao" value="一旦提交禁止注册" disabled style="border: none;">
  21. <br>
  22. <label for="male">性别:</label>
  23. <!-- 注意 name要一样,不然 两个按键都能选中 -->
  24. <input type="radio" id="male" name="sex" checked><label for="male"></label>
  25. <input type="radio" id="male" name="sex"><label for="female"></label>
  26. <br>
  27. <button>提交</button>
  28. </fieldset>
  29. </form>
  30. <!-- 获取被禁用的元素,注意要在css里面写,就是在style里面写
  31. -->
  32. <style>
  33. /* 获取被禁用的元素 ,修改样式、状态等*/
  34. input:disabled{
  35. background-color: blue;
  36. }
  37. /* 获取选择的元素 ,修改样式、状态等*/
  38. input:checked{
  39. background-color: aqua;
  40. color: blueviolet;
  41. }
  42. /* 鼠标移入是时 ,修改样式、状态等*/
  43. /* hover 鼠标移入 */
  44. button:hover{
  45. background-color: black;
  46. }
  47. /* 获取焦点时变化 */
  48. /* focus 焦点 */
  49. input:focus {
  50. background-color: red;
  51. }
  52. </style>
  53. </body>
  54. </html>

我是盒模型

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>盒/核模型</title>
  8. <link rel="stylesheet" href="../0707/css/zuoye3.css">
  9. </head>
  10. <body>
  11. <!-- div就是一个小盒子 -->
  12. <div class="box">
  13. </div>
  14. <!-- 盒模型主要有四个参数,需要在css style里面定义样式,div盒子默认有宽度 没有高度 -->
  15. <!-- 1、宽度:width -->
  16. <!-- 2、高度:height -->
  17. <!--3、 内边距:padding: 是内容区与边框之前的填充物-->
  18. <!-- 4、边距:border -->
  19. <!-- 5、外边距:margin 控制当前盒子与其他元素之前的空隙 margin 的规则与padding完全一样 -->
  20. <style>
  21. .box {
  22. /* 宽度 、高度,注意要加px像素值,不然不起作用*/
  23. width: 200px;
  24. height: 300px;
  25. /* 不可见因为没有设置可以被看见的属性 */
  26. /* /* 可见属性: 宽度, 样式, 颜色 可见的属性包含边框、背景等 */
  27. /*不可见属性 padding 是内边距,是内容区与边框之前的填充物 */
  28. /* 不可见属性 margin: ; 外边距,控制当前盒子与其他元素之前的空隙 */
  29. /* 不可见属性只能设置宽度,不能设置样式特征颜色样式虚线、实线 */
  30. background-color: violet;
  31. /* background-clip 规定背景的绘制区域:背景裁切,只覆盖到内容区, 不包括padding */
  32. background-clip: content-box;
  33. /* solid是边框颜色 */
  34. border: 5px solid;
  35. padding: 30px;
  36. /* 盒子计算方式: */
  37. /* 宽度:注意把两边的padding border 都算进去了 没有计算margin */
  38. /* border-left-width + padding-left + width + padding-right + border-right-width */
  39. /* 5 + 20 + 200 + 20 + 5 = 250px */
  40. /* 高度:注意把两边的padding border 都算进去了 没有计算margin */
  41. /* border-top-width + padding-top + height + padding-bottom + border-bottom-width */
  42. /* 5 + 20 + 100 + 20 + 5 = 150px */
  43. /*
  44. 我们的本意是: 我设置的宽高就应该是盒子的最终大小,
  45. 而不是浏览器添加上内边距和边框后的计算大小
  46. */
  47. /* 推荐的盒子大小计算方式,可以简化页面布局,可以只计算width和height ,不计算border和padding */
  48. /* box-sizing */
  49. box-sizing: border-box;
  50. /* content-box 计算border和padding 还原到w3c默认标准盒子计算方式 ,或者引入css还原*/
  51. /* box-sizing: content-box; */
  52. }
  53. .box {
  54. /* border-top: 边框的顶部宽度 dashed是边框线条样式 边框背景前景色,底部同理 */
  55. border-top: 10px dashed blue;
  56. /* border-left: 边框的左边宽度 样式 前景色 ,右边同理*/
  57. border-left: 10px dashed blue;
  58. /* 四条边一样的时候,可以只写border */
  59. border: 5px solid red;
  60. }
  61. /* 以下写盒子的边框值比较麻烦,可以进行简化 */
  62. .box {
  63. /* padding-left: 10px;
  64. padding-top: 5px;
  65. padding-right: 20px; */
  66. }
  67. .box {
  68. /* padding
  69. /* 简化方案: 顺时针方向 */
  70. /* 1. 四值: 顺时针, 上, 右,下,左 */
  71. padding: 5px 10px 15px 20px;
  72. /* 2. 三值, 第一个表示上 中间永远表示左和右 */
  73. padding: 5px 10px 15px;
  74. /* 3. 双值, 第1个上和下,第2个左和右 */
  75. padding: 5px 10px;
  76. /* 三值,二值记忆方法: 第2个值永远表示左右 */
  77. /* 4. 单值, 四个方向全相同 */
  78. padding: 10px;
  79. }
  80. /* margin 的规则与padding完全一样 */
  81. </style>
  82. </body>
  83. </html>
我是初始化盒子
  1. /* 元素样式初始/重置 */
  2. /* 星号代表选择所有 */
  3. /* 星号 {
  4. margin: 0;
  5. padding: 0;
  6. box-sizing: border-box;
  7. }
  8. */
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!