CSS Position(定位)介绍

超、凢脫俗 2022-06-09 13:56 316阅读 0赞

CSS Position(定位)
定位的方法有4种:
1.static定位
2.relative定位
3.absolute定位
4.fixed定位

1.static定位
HTML元素的默认值,即没有定位,元素出现在正常的流中。
静态定位的元素不会受到 top, bottom, left, right影响。

2.relative定位

相对定位元素的定位是相对其正常位置。它原本所占的空间不会改变。

图解:

Center

示例代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>相对定位</title>
  6. <style type="text/css">
  7. .rel_move {
  8. width: 200px;
  9. height: 200px;
  10. border: 2px solid red;
  11. position: relative;
  12. left: 50px;
  13. top: 50px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="rel_move">
  19. 这个块相对于其正常位置向右移动50px,向下移动50px(相对定位)
  20. </div>
  21. </body>
  22. </html>

结果截图:
Center 1

它原本所占的空间不会改变。

示例代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>相对定位</title>
  6. <style>
  7. h2.pos_top {
  8. position: relative;
  9. top: -50px;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <h2>这是一个没有定位的标题</h2>
  15. <h2 class="pos_top">这个标题是根据其正常位置向上移动</h2>
  16. <p><b>注意:</b> 即使相对定位元素的内容是移动,预留空间的元素仍保存在正常流动。</p>
  17. </body>
  18. </html>

结果截图:
Center 2

注:相对定位元素经常被用来作为绝对定位元素的容器块。

3.absolute定位

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于:

图解:

Center 3

示例代码(相对于定位):

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>绝对定位</title>
  6. <style type="text/css">
  7. .ab_mov {
  8. width: 200px;
  9. height: 200px;
  10. border: 2px solid red;
  11. position: absolute;
  12. left: 50px;
  13. top: 50px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="ab_mov">
  19. 这个块相对于html位置向右移动50px,向下移动50px(绝对定位)
  20. </div>
  21. </body>
  22. </html>

结果截图:
Center 4

relative 定位和 absolute 定位示例(相对于最近的已定位父元素):

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>绝对定位</title>
  6. <style type="text/css">
  7. .pos_rel {
  8. width: 300px;
  9. height: 300px;
  10. border: 2px solid red;
  11. position: relative;
  12. left: 50px;
  13. top: 50px;
  14. }
  15. .pos_abs {
  16. width: 200px;
  17. height: 200px;
  18. border: 2px solid black;
  19. position: absolute;
  20. right: 50px;
  21. top: 50px;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="pos_rel">
  27. 这个块相对于其正常位置向右,向下移动(相对定位)
  28. <div class="pos_abs">
  29. 这个块相对于以定位的父类向右,向下移动(绝对定位)
  30. </div>
  31. </div>
  32. </body>
  33. </html>

结果截图:

Center 5
absolute 定位使元素的位置与文档流无关,因此不占据空间。
absolute 定位的元素和其他元素重叠。

重叠的元素
元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素
z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)
一个元素可以有正数或负数的堆叠顺序,具有更高堆叠顺序的元素总是在较低的堆叠顺序元素的前面。
注意: 如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面。

4.fixed定位
元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动:
示例代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>fixed 定位</title>
  6. <style type="text/css">
  7. .pos_fixed {
  8. width: 200px;
  9. height: 200px;
  10. border: 2px solid red;
  11. position: fixed;
  12. right: 50px;
  13. bottom: 50px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="pos_fixed">
  19. 这个块相对于游览器定位(fixed 定位)
  20. </div>
  21. </body>
  22. </html>

结果截图:

Center 6
注意:Fixed定位使元素的位置与文档流无关,因此不占据空间。
Fixed定位的元素和其他元素重叠。

发表评论

表情:
评论列表 (有 0 条评论,316人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSS 定位属性position

    一、position 属性:规定元素的定位类型。即元素脱离文档流的布局,在页面的任意位置显示。 有4种不同类型的定位: ①absolute :绝对定位;脱离文档流的布局,遗

    相关 CSS position定位

    文档流 文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。并最终窗体自上而下分成一行行,并在每行中按从左到右的顺序排放元素。让元素脱离文档流的方法