博客列表 >box-sizing属性、常用的元素居中方式

box-sizing属性、常用的元素居中方式

手机用户1576673622
手机用户1576673622原创
2021年01月11日 18:52:27547浏览

box-sizing属性

  • 盒子属性

    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>盒子属性</title>
    8. <style>
    9. :root {
    10. font-size: 10px;
    11. }
    12. .box {
    13. /* 宽 */
    14. width: 20em;
    15. /* 高 */
    16. height: 30em;
    17. /* 背景色 */
    18. background-color: aqua;
    19. }
    20. .box {
    21. /* 内边距 */
    22. padding: 3em;
    23. /* 边框 */
    24. border: 3px solid;
    25. /* 将背景色裁切到内容区,让padding可视化 */
    26. background-clip: content-box;
    27. }
    28. .box {
    29. /* content-box: w3c标准盒子模型,width/height不含padding/border */
    30. box-sizing: content-box;
    31. /* border-box:padding,border计算在盒子大小内 */
    32. box-sizing: border-box;
    33. /* 叫 ie盒子 或者 怪异盒模型 */
    34. /* margin不影响盒子大小,影响盒子的排列 */
    35. }
    36. </style>
    37. </head>
    38. <body>
    39. <div class="box"></div>
    40. </body>
    41. </html>
  • margin
    • margin只会对页面中的元素的位置或多个元素的排列产生影响,对盒子大小无影响
    • 水平方向,margin累加
    • 垂直方向,margin折叠。margin折叠之后,大者胜出
  • 全局的盒子大小设置
    只要清零不可视的元素就可以了。
    1. margin: 0;
    2. padding: 0;
    3. /* 全局使用IE盒子模型 */
    4. box-sizing: border-box;
  • 元素的高度:内容超出了怎么办

    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>元素的高度:内容超出了怎么办?</title>
    8. <style>
    9. :root {
    10. font-size: 10px;
    11. }
    12. .box {
    13. width: 20em;
    14. height: 15em;
    15. background-color: rgb(231, 130, 130);
    16. border: 1px solid;
    17. /* 默认值,不隐藏溢出 */
    18. overflow: visible;
    19. /* 隐藏溢出 */
    20. overflow: hidden;
    21. /* 滚动条 */
    22. overflow: scroll;
    23. /* 内容如果超出,滚动条自动出现 不然自动隐藏 */
    24. overflow: auto;
    25. }
    26. </style>
    27. </head>
    28. <body>
    29. <div class="box">
    30. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中境外输入病例18例(广东7例,辽宁4例,天津2例,上海2例,福建1例,云南1例,陕西1例),本土病例85例(河北82例,辽宁2例,北京1例);无新增死亡病例;无新增疑似病例。
    31. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中境外输入病例18例(广东7例,辽宁4例,天津2例,上海2例,福建1例,云南1例,陕西1例),本土病例85例(河北82例,辽宁2例,北京1例);无新增死亡病例;无新增疑似病例。
    32. </div>
    33. </body>
    34. </html>
  • 容器最小高度和最大高度

    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>容器最小高度和最大高度</title>
    8. <style>
    9. body>* {
    10. margin: 1em;
    11. }
    12. body div {
    13. border: 2px solid;
    14. }
    15. body div:first-of-type {
    16. /* 高度由内容撑开 */
    17. height: auto;
    18. }
    19. body div:nth-of-type(2) {
    20. /* 最小高度,小于最小高度不会塌掉,会留出空白
    21. 超出最小高度会自动撑开 */
    22. min-height: 20em;
    23. }
    24. body div:nth-of-type(3) {
    25. /* 最大高度 */
    26. max-height: 3em;
    27. /* 滚动条 */
    28. overflow: auto;
    29. }
    30. </style>
    31. </head>
    32. <body>
    33. <div>1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例</div>
    34. <div>
    35. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    36. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    37. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    38. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    39. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    40. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    41. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    42. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    43. </div>
    44. <div>
    45. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    46. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    47. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    48. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    49. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    50. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    51. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    52. 1月10日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例103例,其中本土病例85例<br>
    53. </div>
    54. </body>
    55. </html>

    常用的元素居中方式

  • 水平居中

    1. <style>
    2. .box {
    3. width: 15em;
    4. height: 15em;
    5. border: 1px solid #000;
    6. }
    7. .box {
    8. /* 行内元素或行内块元素水平居中 */
    9. text-align: center;
    10. }
    11. .box>div {
    12. width: 5em;
    13. height: 5em;
    14. background-color: yellow;
    15. }
    16. .box>div {
    17. /* 块元素的水平居中 */
    18. /* auto:这个值由浏览根据上下文自动计算 */
    19. margin: 0 auto
    20. }
    21. </style>
  • 垂直居中问题: 行内元素
    只要line-height和height相等就能实现行内元素垂直居中(图片无效)
    1. .box a {
    2. line-height: 15em;
    3. }
  • padding
    可以对图片生效。
    不要设置高度,由padding挤出来。
    1. .box {
    2. padding: 5em 0;
    3. }
  • 水平且垂直的解决方案
    1.行内元素
    text-align + line-height

    1. .box {
    2. text-align: center;
    3. line-height: 15em;
    4. }

    2.padding
    不能设置高度。或者使用auto让宽高失效。

    1. .box {
    2. padding: 5em
    3. }

    3.margin

    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>margin</title>
    8. <style>
    9. .box {
    10. width: 10em;
    11. height: 15em;
    12. background-color: rgb(231, 125, 125);
    13. box-sizing: border-box;
    14. }
    15. .box {
    16. position: relative;
    17. }
    18. .box {
    19. position: absolute;
    20. top: 0;
    21. left: 0;
    22. right: 0;
    23. bottom: 0;
    24. margin: auto;
    25. }
    26. </style>
    27. </head>
    28. <body>
    29. <div class="box"></div>
    30. </body>
    31. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议