1. <!DOCTYPE html>
    2. <html lang="zh">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Title</title>
    6. <style>
    7. ul{width: 300px;list-style: none;background: gray;margin: 100px auto;text-align: center;line-height: 100px;}
    8. li{width: 100px;height: 100px;float: left;}
    9. .a{background: skyblue;}
    10. .b{background: blue;}
    11. .c{background: red;}
    12. </style>
    13. </head>
    14. <body>
    15. <!--
    16. 浮动:让块级元素能在一行
    17. 语法:float: left|right ; 表示向左|右浮动
    18. 浮动的特点:
    19. 1.浮动元素会使元素像浮云一样浮起来,后面的正常元素会自动补位
    20. 2.浮动元素会脱离正常的文档流,但会被父级元素的宽度所约束,所以浮动元素并没有完全脱离文档流。
    21. 3.浮动元素会对它下面正常元素中的文字产生影响
    22. 1.当浮动元素上一行为正常元素时,这个浮动元素只能待在当前行,不能跑到上一行
    23. 2.左浮动:元素会向左跑,从上一行最右边出来继续往左跑,直到遇到有浮动属性的元素才会停止。
    24. 3.右浮动:元素会向右跑,从上一行最左边出来继续往右跑,直到遇到有浮动属性的元素才会停止。
    25. 清除浮动
    26. 语法:clear:left|right|both; 清除左|右|左右浮动
    27. 规定元素哪一侧没有浮动
    28. 清除浮动属性时,要考虑元素的加载顺序
    29. 塌陷问题
    30. 由于父元素中的子元素设置了浮动属性,会在成父元素高度塌陷
    31. 防止塌陷
    32. 1.直接给父元素设置高度来防止父元素塌陷
    33. 2.在元素内容之后加一个块级元素,并清除该元素的浮动来防止父元素塌陷
    34. 3.使用伪元素,在元素内容之后加上一个空内容,转为表格元素,并清除该元素的浮动来防止父元素塌陷
    35. ul::after{
    36. content:"";
    37. display:table;
    38. clear:both
    39. }
    40. 4.若多个元素需要防止元素塌陷,可以将元素加上class属性,来实现复用
    41. 5.当父元素设置有高度时,不用清除浮动,父元素没有设置高度时,需要清除浮动
    42. -->
    43. <ul>
    44. <li class="a">浮动测试</li>
    45. <li class="b">浮动测试</li>
    46. <li class="c">浮动测试</li>
    47. </ul>
    48. </body>
    49. </html>
    1. <!DOCTYPE html>
    2. <html lang="zh">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Title</title>
    6. <style>
    7. .box{
    8. width: 302px;
    9. height: 302px;
    10. border: 1px solid black;
    11. margin: 50px auto;
    12. }
    13. .pst1,.pst2,.pst3{
    14. width: 100px;
    15. height: 100px;
    16. }
    17. .pst1 {
    18. background: red;
    19. }
    20. .pst2 {
    21. background: green;
    22. position: absolute;
    23. }
    24. .pst3{
    25. background: blue;
    26. }
    27. </style>
    28. </head>
    29. <body>
    30. <!--定位:规定元素的位置,用于没有规律的元素布局
    31. 定位的使用
    32. 1.规定哪一种定位方式
    33. 2.指定在方向上的偏移量top bottom left right
    34. 3.在同一个方向上,只会生效一个方向(上和左优先)
    35. 相对定位:position: relative;
    36. 1.指定了相对定位后,元素就是一个定位元素,元素会脱离文档流,但没完全脱离
    37. 2.相对定位元素脱离了文档流,但原来的位置还需要保留
    38. 3.相对定位是相对于原来的位置进行定位
    39. 绝对定位:position: absolute;
    40. 1.指定了相对定位后,元素就是一个定位元素,元素会完全脱离文档流
    41. 2.绝对定位元素完全脱离了文档流,原来的位置不会保留
    42. 3.绝对定位是相对于最近有定位属性的父元素进行定位的,如果往上没有找到具有定位属性的元素,会相对于body进行定位
    43. 定位偏移量
    44. 1.可以使用尺寸单位
    45. 2.定位可以使用负值,与正值偏移量方向相反
    46. 3.元素相对于哪个元素进行定位,使用百分比时,就是哪个元素宽度或高度的百分比
    47. 层级 z-index: 值(代表哪一层);
    48. 每一个定位元素会独占一层
    49. 通过改变层级来改变元素定位的堆叠顺序
    50. 层级越高,数值越大,默认值是0
    51. 当层级相同时,后写的元素会盖住之前的元素
    52. 固定定位 position: fixed;
    53. 1.指定了固定定位后,元素就是一个定位元素,元素会完全脱离文档流
    54. 2.固定定位元素完全脱离了文档流,原来的位置不会保留
    55. 3.固定定位是相对于浏览器窗口进行定位的
    56. -->
    57. <div class="box">
    58. <div class="pst1"></div>
    59. <div class="pst2"></div>
    60. <div class="pst3"></div>
    61. </div>
    62. </body>
    63. </html>