博客列表 >box-sizing功能。相对定位与绝对定位。绝对定位:块级居中。

box-sizing功能。相对定位与绝对定位。绝对定位:块级居中。

愿情的博客
愿情的博客原创
2021年03月25日 13:46:38575浏览

一.box-sizing功能

盒子

  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>box-sizing</title>
  8. <style>
  9. /* 初始化 */
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. box-sizing: 0;
  14. }
  15. /* :root=== html */
  16. :root {
  17. /* font-size: 16px; */
  18. font-size: 10px;
  19. }
  20. /* em,rem */
  21. /* em:根据元素得上下文来确定它得值 */
  22. /* rem:根据根元素得字号来设置 */
  23. .box {
  24. /* font-size: 16px; */
  25. font-size: 20px;
  26. /* width: 200px; */
  27. /* width: 12.5em; */
  28. /* width: 12.5rem; */
  29. width: 22rem;
  30. /* height: 200px; */
  31. /* height: 12.5em; */
  32. /* height: 12.5rem; */
  33. height: 21rem;
  34. border: 2px solid black;
  35. color: red;
  36. /* padding: 上,右,下,左;顺时针顺序 */
  37. /* 四个值: */
  38. padding: 10px 5px 5px 10px;
  39. /* 三个值:左右相同,上下不同 */
  40. padding: 8px 10px 8px ;
  41. /* 二值简化 只要写到第二个参数位置上的一定代表的是左右值*/
  42. padding: 8px 10px;
  43. /* padding: 10px; */
  44. padding: 1rem;
  45. margin: 1rem;
  46. background-color: lightgreen;
  47. /* 考虑将W3C的标准盒子转为IE盒子 */
  48. /* 将盒子的padding和border计算在width,height内*/
  49. box-sizing: border-box;
  50. /* 再转为标准盒子 */
  51. box-sizing: content-box;
  52. background-clip: content-box;
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div class="box">box</div>
  58. <!-- <h2>hello</h2> -->
  59. </body>
  60. </body>
  61. </body>
  62. </html>

二.相对定位与绝对定位

定位

  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>定位</title>
  8. <style>
  9. html {
  10. /* border: 1px solid black; */
  11. }
  12. .box {
  13. width: 20em;
  14. height: 15em;
  15. background-color: lawngreen;
  16. /* 默认:静态定位,就是没有定位 */
  17. /* position: :static */
  18. /* 相对定位:自动的转为定位元素 */
  19. /* 定位元素:只要这个元素上有非static的定位属性,就是定位元素 */
  20. /* position: relative; */
  21. /* 只要是定位偏移量,定位偏移量就有效 */
  22. /* 相对于它在文档中的原始位置进行定位 */
  23. /* top: 5em;
  24. left: 4em; */
  25. /* position: absolute; */
  26. /* 绝对定位元素脱离了文档流 */
  27. /* 文档流:显示顺序与熟悉顺序一致 */
  28. /* 相对于它在文档流中的原始位置进行定位 */
  29. /* top: 5em; */
  30. /* left: 4em; */
  31. }
  32. .parent {
  33. border: 1px solid black;
  34. /* 转为定位元素,作为绝对定位元素的父级/定位参考/定位包含快 */
  35. position: relative;
  36. /* top: 4em;、 */
  37. /* left: 4em; */
  38. min-height: 30em;
  39. }
  40. /* 固定定位 */
  41. /* 永远相对于html定位 */
  42. .box {
  43. /* position: fixed; */
  44. }
  45. </style>
  46. </head>
  47. <body>
  48. <!-- <div class="box"></div> -->
  49. <!-- <h2>hello php</h2> -->
  50. <div class="parent">
  51. <!-- 父级定位元素 -->
  52. <div class="box"></div>
  53. </div>
  54. </body>
  55. </html>

三.绝对定位的一个应用:块级居中

绝对定位块级居中

  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>绝对定位的一个应用:块级居中</title>
  8. <style>
  9. .box {
  10. width: 15em;
  11. height: 15em;
  12. background-color: lawngreen;
  13. }
  14. /* 行内元素 */
  15. .box {
  16. /* 水平居中 */
  17. /* text-align: center; */
  18. /* 垂直居中 */
  19. /* line-height: 15em; */
  20. }
  21. .parent {
  22. border: 1px solid;
  23. background-color: yellow;
  24. width: 25em;
  25. height: 25em;
  26. /* 转为定位元素作为box的定位父级 */
  27. position: relative;
  28. }
  29. /* 块元素居中 */
  30. .box {
  31. /* 水平居中 */
  32. /* margin: auto auto auto auto; */
  33. /* 上下auto,左右auto,但是没有出现我们想象中的垂直居中 */
  34. /* margin: auto auto; */
  35. /* margin: 0 80px; */
  36. /* 为什么高度设置成auto是被解析成了0呢? */
  37. /* 这是基于一个布局常识 */
  38. /* 布局的前提:页面宽高受限制,而而高度仅限内容的影响 */
  39. }
  40. /* 使用绝对定位一步到位块元素垂直居中 */
  41. .box {
  42. position: absolute;
  43. /* 定位空间 */
  44. top: 0;
  45. left: 0;
  46. right: 0;
  47. bottom: 0;
  48. /* 水平和垂直的居中 */
  49. margin: auto;
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <div class="parent">
  55. <div class="box"></div>
  56. </div>
  57. </body>
  58. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议