博客列表 >css选择器权重/盒模型/常用单位

css选择器权重/盒模型/常用单位

Sinan学习博客
Sinan学习博客原创
2023年02月08日 19:43:42299浏览

选择器权重/盒模型/常用单位

1. 实例演示css选择器权重的计算方式

  1. <!DOCTYPE html>
  2. <html lang="en">
  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>Document</title>
  8. <style>
  9. * {
  10. padding: 0;
  11. margin: 0;
  12. }
  13. nav {
  14. width: 400px;
  15. margin: 80px auto;
  16. }
  17. nav h3 {
  18. background-color: #333;
  19. padding: 10px 20px;
  20. color: #fff;
  21. }
  22. ul > li {
  23. list-style-type: none;
  24. }
  25. /*权重0,0,3*/
  26. ul > li a {
  27. color: #333;
  28. display: block;
  29. background-color: #eee;
  30. padding: 10px 20px;
  31. text-decoration: none;
  32. }
  33. /*权重0,1,3*/
  34. ul > li a.active {
  35. background-color: #ddd;
  36. }
  37. /*权重0,2,3*/
  38. ul > li a.active:hover {
  39. background-color: #999;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <nav>
  45. <h3>Nav Item</h3>
  46. <ul>
  47. <li><a href="">LINK1</a></li>
  48. <li><a href="">LINK2</a></li>
  49. <li><a href="">LINK3</a></li>
  50. <li><a class="active" href="">LINK4 设置了 .active :hover增加了2次权重</a></li>
  51. <li><a href="">LINK5</a></li>
  52. </ul>
  53. </nav>
  54. </body>
  55. </html>

2. 实例演示盒模型常用属性与盒大小计算方式

  • 盒模型5大属性
    • width 内容宽度
    • height 内容高度
    • padding 内边距
    • border 边框
    • margin 外边距
  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. <style>
  9. *{
  10. padding: 0;
  11. margin: 0;
  12. box-sizing: border-box;
  13. }
  14. .box{
  15. width: 260px;
  16. height: 160px;
  17. padding:20px;
  18. border:10px solid #f90;
  19. margin: 40px;
  20. background-color: blue;
  21. background-clip: content-box;
  22. color:#fff;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div class="box">演示盒模型</div>
  28. </body>
  29. </html>

盒模型大小计算方法

这个案例中,设置了box-sizing:border-box 属性使盒模型大小的计算边界发生改变,由默认的内容区box-sizing:content-box 变成了以边框为计算边界。

本案例box盒模型大小计算

  • 由于设置了box-sizing:border-box,实际内容尺寸大小是有变小的。
  • 实际内容宽度为:width:260 - border左右宽度20 - padding左右内边距40 = 200px
  • 实际内容高度为:height:160 - border上下高度20 - padding上下内边距40 = 100px
  • 内边距为:padding:20px
  • 边框宽度为:border:10px
  • 外边距为:margin:40px

盒模型大小宽为:实际内容宽度200 + 左右内边距40 + 左右边框20 + 左右外边距80 = 340px
盒模型大小高为:实际内容高度100 + 左右内边距40 + 左右边框20 + 左右外边距80 = 240px

快速计算

由于计算边界延展到了边框,width,height的值就是可见部分的大小,再加上margin即可。
盒模型大小宽为:内容宽度260 + 左右外边距80 = 340px
盒模型大小高为:内容高度160 + 左右外边距80 = 240px

3. 实例演示css常用单位(em,rem)

  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>常用单位(em,rem)</title>
  8. </head>
  9. <style>
  10. html {
  11. font-size: 40px;
  12. }
  13. .content {
  14. font-size: 18px;
  15. }
  16. .content p {
  17. font-size: 1em;
  18. }
  19. .content p.rem {
  20. font-size: 1rem;
  21. }
  22. </style>
  23. <body>
  24. <div class="content">
  25. <h3>em</h3>
  26. <p><em>这里字号:18px</em>P标签的的字号单位em,字号大小继承自父标签div的字号。</p>
  27. </div>
  28. <div class="content">
  29. <h3>rem</h3>
  30. <p class="rem"><em>这里字号:40px</em>P标签的的字号单位rem,字号大小继承自根元素标签html的字号,默认16px。</p>
  31. </div>
  32. </body>
  33. </html>

3. 实例演示css视口单位(vw,vh)

  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>视口单位(vw,vh)</title>
  8. <style>
  9. * {
  10. padding: 0;
  11. margin: 0;
  12. }
  13. /*vw,vh总是相对于视口的大小,与跟标签,父标签无继承关系。*/
  14. html {
  15. width: 100vw;
  16. height: 100vh;
  17. }
  18. .container {
  19. width: 80vw;
  20. height: 80vh;
  21. }
  22. .box {
  23. width: 50vw;
  24. height: 50vh;
  25. background-color: orange;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="container">
  31. <div class="box"><p>vw,vh总是相对于视口的大小,与跟标签,父标签无继承关系。</p></div>
  32. </div>
  33. </body>
  34. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议