博客列表 >浮动与(定位类型)场景

浮动与(定位类型)场景

lus菜
lus菜原创
2020年12月22日 21:39:56699浏览

浮动:

  1. 浮动只限于水平方向
  2. 浮动元素脱离了文档流,后面的元素会上移填充它原来的空间
  3. 浮动元素不会影响到它前面的元素的布局,只会影响到后面的元素排列
  4. 任何元素(包括行内元素)浮动后,都具备了块级元素的特征
  5. 父元素计算高度的时候,会忽略内部的浮动元素(父级高度的塌陷)
  6. 可以通过伪元素或创建BFC的方式这两种来修改父级高度塌陷问题

css:

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. .box {
  8. padding: 1em;
  9. border: 1px solid #000;
  10. background-color: lightcyan;
  11. }
  12. .box .desc a {
  13. width: 10em;
  14. height: 10em;
  15. background-color: violet;
  16. float: left;
  17. }
  18. </style>
  19. <body>
  20. <div class="box">
  21. <div class="desc">
  22. <a href="">这是一个浮动</a>
  23. </div>
  24. </div>
  25. </body>

示例:

修改方式:

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. .box {
  8. padding: 1em;
  9. border: 1px solid #000;
  10. background-color: lightcyan;
  11. }
  12. .box .desc a {
  13. width: 10em;
  14. height: 10em;
  15. background-color: violet;
  16. float: left;
  17. }
  18. //伪元素
  19. .box:after{
  20. content: '';
  21. display: block;
  22. clear: both;
  23. }
  24. //创建BFC
  25. .box .desc{
  26. overflow: hidden;
  27. }
  28. </style>

示例:

定位类型:

  1. 静态定位static 这是默认的
  2. 相对定位relative
  3. 绝对定位absolue
  4. 固定定位fixed
  1. <style>
  2. .box {
  3. width: 10em;
  4. height: 10em;
  5. border: 5px solid #000;
  6. margin: 3em auto;
  7. }
  8. .box h2 {
  9. border: 1px solid #000;
  10. background-color: yellowgreen;
  11. //相对定位
  12. position: relative;
  13. top: 1em;
  14. left: 1em;
  15. }
  16. //将h2改为绝对定位
  17. .box h2 {
  18. //绝对定位会脱离文档流
  19. position: absolute;
  20. }
  21. .box {
  22. // 转为定位元素,它内部的元素就相对于它进行绝对定位
  23. position: relative;
  24. }
  25. .box h2{
  26. top: 0;
  27. left: 0;
  28. right: 0;
  29. bottom: 0;
  30. width: 4em;
  31. height: 2em;
  32. margin: auto;
  33. }
  34. html{
  35. min-height: 100em;
  36. }
  37. //使用固定定位使用h2不动
  38. .box h2{
  39. position: fixed;
  40. }
  41. </style>
  42. <body>
  43. <div class="box">
  44. <h2>二维码</h2>
  45. </div>
  46. </body>

示例:

" class="reference-link">

  1. <title>模态框</title>
  2. <link rel="stylesheet" href="style.css" />
  3. </head>
  4. <body>
  5. //页眉
  6. <header>
  7. <h2>点击右侧登录按钮</h2>
  8. <button>登录</button>
  9. </header>
  10. //模态框
  11. <div class="modal">
  12. //蒙板:用来盖住后面的内容,使它半透明
  13. <div class="modal-backdrop"></div>
  14. //主体
  15. <div class="modal-body">
  16. <button class="close">关闭</button>
  17. <form action="" method="POST">
  18. <table>
  19. <caption>
  20. 用户登录
  21. </caption>
  22. <tbody>
  23. <tr>
  24. <td><label for="email">用户名:</label></td>
  25. <td><input type="email" name="email" id="email" /></td>
  26. </tr>
  27. <tr>
  28. <td><label for="password">密码:</label></td>
  29. <td><input type="password" name="password" id="password" /></td>
  30. </tr>
  31. <tr>
  32. <td></td>
  33. <td><button>登录</button></td>
  34. </tr>
  35. </tbody>
  36. </table>
  37. </form>
  38. </div>
  39. </div>
  40. <script src="modal.js"></script>
  41. </body>

CSS代码:

  1. //页眉
  2. header {
  3. background-color: #ccc;
  4. padding: .5em 2em;
  5. overflow: hidden;
  6. }
  7. header h2{
  8. float: left;
  9. }
  10. header button {
  11. float: right;
  12. width: 10em;
  13. height: 2.5em;
  14. }
  15. header button:hover{
  16. cursor: pointer;
  17. background-color: #fff;
  18. }
  19. //模态框
  20. //蒙板
  21. .modal .modal-backdrop {
  22. background-color: rgb(0,0,0,0.5);
  23. position: fixed;
  24. top:0;
  25. left:0;
  26. right:0;
  27. bottom: 0;
  28. }
  29. .modal .modal-body {
  30. padding: 1em;
  31. min-width: 20em;
  32. border: 1px solid #000;
  33. background: linear-gradient(to right, blue,red,#bbbbbb,violet,lightcyan, #fff,#ccc);
  34. //固定定位
  35. position: fixed;
  36. top: 5em;
  37. left: 30em;
  38. right: 30em;
  39. }
  40. .modal form table {
  41. width: 80%;
  42. }
  43. .modal form table caption {
  44. font-weight: bold;
  45. margin-bottom: 1em;
  46. }
  47. .modal form table td {
  48. padding: 0.5em;
  49. }
  50. .modal form table td:first-of-type {
  51. width: 5em;
  52. }
  53. .modal form table input {
  54. width: 20em;
  55. height: 2em;
  56. }
  57. .modal form table button {
  58. width: 20em;
  59. height: 2.5em;
  60. }
  61. //定位父级
  62. .modal-body {
  63. position: relative;
  64. }
  65. .modal .close {
  66. position: absolute;
  67. width: 4em;
  68. height: 2em;
  69. top: 1em;
  70. right: 1em;
  71. }
  72. .modal .close:hover {
  73. cursor: pointer;
  74. background-color: red;
  75. color: white;
  76. }
  77. //页面初始化时,模态框应该隐藏
  78. .modal {
  79. display: none;
  80. }

js代码:

  1. const btn = document.querySelector('header button');
  2. const modal = document.querySelector('.modal');
  3. const close = document.querySelector('.close');
  4. btn.addEventListener('click', setModal, false);
  5. close.addEventListener('click', setModal, false);
  6. function setModal(ev) {
  7. ev.preventDefault();
  8. let status = window.getComputedStyle(modal, null).getPropertyValue('display');
  9. modal.style.display = status === 'none' ? 'block' : 'none';
  10. }

示例:

上一条:浮动 & 定位下一条:1210-QA和CSS入门
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议