Blogger Information
Blog 19
fans 0
comment 0
visits 8267
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
伪类选择器和盒模型常用属性
Wu.Ang
Original
338 people have browsed it

伪类选择器和盒模型常用属性

伪类选择器(结构伪类、状态伪类)

1. 结构伪类:根据元素位置获取元素

伪类的权重与 class 一样

  1. <ul class="list">
  2. <li class="first">item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. <li>item7</li>
  9. <li>item8</li>
  10. <li>item9</li>
  11. <li>item10</li>
  12. </ul>
  1. nth-of-type(an+b) a : 系数,从0递增 n : 参数,从0递增 b : 偏移量,从0开始
  2. 计算出来的索引必须有效,必须从1开始 选择的元素只有两种情况(1.一个 2.一组)

获取一个元素

  1. /* 获取当前第一个元素 */
  2. /* 用class查找 */
  3. .list > .first {
  4. background-color: red;
  5. }
  6. /* 伪类获取.list下第一个子元素 */
  7. .list > li:nth-of-type(0n + 1) {
  8. background-color: aqua;
  9. }
  10. .list > li:nth-of-type(1) {
  11. background-color: aqua;
  12. }

获取一组元素

  1. a = 1 时,获取元素位置
  2. /* 从第三个开始匹配 */
  3. .list > li:nth-of-type(1n+3) {
  4. background-color: aqua;
  5. }
  6. /* 获取到前三个,从第三个递减,a取负数 */
  7. .list > li:nth-of-type(-1n + 3) {
  8. background-color: aqua;
  9. }
  1. a = 2 时,获取元素的奇偶
  2. /* 2n 偶数 */
  3. .list > li:nth-of-type(2n) {
  4. background-color: aqua;
  5. }
  6. /* 2n+1/2n-1奇数 */
  7. .list > li:nth-of-type(2n + 1) {
  8. background-color: aqua;
  9. }
  1. /* 获取最后三个 */
  2. /* :nth-last-of-type */
  3. .list > li:nth-last-of-type(-n + 3) {
  4. background-color: green;
  5. }

语法糖:快捷方式

  1. /* 获取第一个 :first-of-type */
  2. .list > li:first-of-type {
  3. background-color: green;
  4. }
  5. /* 获取最后一个 :last-of-type */
  6. .list > li:last-of-type {
  7. background-color: green;
  8. }
  9. /* 奇偶 even=偶数/odd奇数 */
  10. .list > li:nth-of-type(even/odd) {
  11. background-color: green;
  12. }

结构伪类实例演示

1.代码

  1. /* 1.改变列表第一个元素背景颜色 */
  2. ul.list > li:first-of-type {
  3. background-color: aqua;
  4. }
  5. /* 2.改变列表最后一个背景颜色 */
  6. ul.list > li:last-of-type {
  7. background-color: lightblue;
  8. }
  9. /* 3.改变偶数列表边框宽度 */
  10. ul.list > li:nth-of-type(even) {
  11. border: 2px solid black;
  12. }
  13. /* 4.改变奇数列表边框颜色 */
  14. ul.list > li:nth-of-type(odd) {
  15. border: 1px solid red;
  16. }
  17. /* 5.改变列表前三个字体颜色 */
  18. ul.list > li:nth-of-type(-n + 3) {
  19. color: blue;
  20. }
  21. /* 6.改变列表最后三个字体颜色 */
  22. ul.list > li:nth-last-of-type(-n + 3) {
  23. color: magenta;
  24. }

2.图片
列表

2. 状态伪类:根据元素的状态获取元素

  1. /* 获取焦点 */
  2. input:focus {
  3. color: green;
  4. }
  5. /* 获取被禁用的元素 */
  6. input:disabled {
  7. color: red;
  8. }
  9. /* 获取选中的单选按钮 */
  10. input:checked + label {
  11. color: yellow;
  12. }
  13. /* button{
  14. cursor: pointer;
  15. } */
  16. /* 鼠标移入变化 */
  17. button:hover {
  18. cursor: pointer;
  19. }

状态伪类实例演示

1.代码

  1. /* 用户名输入框字体颜色改为绿色 */
  2. /* 获取焦点 */
  3. input:focus {
  4. color: green;
  5. }
  6. /* 警告框字体变为红色 */
  7. /* 获取被禁用的元素 */
  8. input:disabled {
  9. background-color: white;
  10. border: none;
  11. color: red;
  12. }
  13. /* 默认单选按钮字体变为黄色 */
  14. /* 获取选中的单选按钮的兄弟元素 */
  15. input:checked + label {
  16. color: yellow;
  17. }
  18. /* 提交按钮鼠标悬停变为手指 */
  19. /* 鼠标移入变化 */
  20. button:hover {
  21. cursor: pointer;
  22. }

2.图片
表格

盒模型常用属性

边框与内外边距

  1. div是块元素 display:block; 默认占一行,不管有多宽,垂直排列 margin(外边距) >
  2. boder(边框) > padding(内边距) > conetnt(内容) margin :
  3. 控制当前元素与其他元素之间的缝隙 padding : 内容与边框之间的填充物
  4. 两者都是不可见属性,只能设置宽度,不能设置特征(颜色、样式)
  5. 页面中计算盒子的实际宽高,不包括外边距 总宽度 = boder-left-width +
  6. padding-left-width + conetnt-width + boder-right-width + padding-right-width
  7. 总高度 = boder-left-height + padding-left-height + conetnt-height +
  8. boder-right-height + padding-right-height
  1. /* border: 宽度 样式 颜色; */
  2. div.box {
  3. border: 1px solid red;
  4. /* border-top/bottom/left/right: ; */
  5. /* 不可见元素只能设置宽度 */
  6. /* 顺时针方向编写 */
  7. /* 四值 padding: 上 右 下 左; */
  8. padding: 5px 6px 10px 20px;
  9. /* 三值 padding: 上 左右 下; */
  10. /* 两值 padding: 上下 左右; */
  11. /* 单值 padding: 上右下左; */
  12. }

元素样式初始化

  1. * {
  2. margin: 0;
  3. padding: 0;
  4. /* 盒子的宽高包括内边距 */
  5. box-sizing: border-box;
  6. /* 还原到w3c默认标准盒子的计算方式 */
  7. /* box-sizing: content-box; */
  8. }

背景裁切

  1. /* 背景裁切,让内容只覆盖到内容区(不包括padding) */
  2. div.box {
  3. background-clip: content-box;
  4. }

盒模型实例演示

1.代码

  1. /* 元素样式初始化 */
  2. *{
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. /* 最外层边框属性 */
  8. div.outside{
  9. width: 1200px;
  10. height: 900px;
  11. border: 2px solid;
  12. }
  13. /* 参照div属性 */
  14. div.outside > div.initial{
  15. width: 100px;
  16. height: 100px;
  17. border: 1px solid red;
  18. color: red;
  19. }
  20. /* padding设定 */
  21. div.outside > div.padding{
  22. padding: 10px;
  23. width: 100px;
  24. height: 100px;
  25. border: 1px solid;
  26. background-color: aqua;
  27. /* 边框裁剪 */
  28. background-clip: content-box;
  29. }
  30. /* margin设定 */
  31. div.outside > div.margin{
  32. width: 100px;
  33. height: 100px;
  34. border: 1px solid;
  35. margin: 10px;
  36. }
  37. /* border四边框 */
  38. div.outside > div.border{
  39. width: 100px;
  40. height: 100px;
  41. /* 四条边框一致 */
  42. /* border: 1px solid red; */
  43. /* 四条边框不一致 */
  44. border-top: 3px solid red;
  45. border-right: 6px dashed green;
  46. border-bottom: 2px solid tan;
  47. border-left: 5px dashed yellow;
  48. }
  49. /* margin/padding四边框 */
  50. div.outside > div.padding_boder{
  51. width: 100px;
  52. height: 100px;
  53. border: 1px solid;
  54. padding: 5px 6px 10px 20px;
  55. /* 四值 padding: 上 右 下 左; */
  56. /* 三值 padding: 上 左右 下; */
  57. /* 两值 padding: 上下 左右; */
  58. /* 单值 padding: 上右下左; */
  59. }

2.图片
盒模型

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