css 定位

阳光穿透心脏的1/2处 2021-07-24 14:23 545阅读 0赞
  1. static:
  2. static默认值,没有定位,元素出现在正常的流中;
  3. relative:
  4. 相对原位置移动,其他标签元素位置不改变,保留原本空间位置,不脱离文档流,但移动同样会覆盖到其他元素上,可通过z-index进行设置
  5. position:relative;
  6. 可以使用toprightbottomleft设置
  7. left:20px;
  8. top:30px;
  9. absolute:
  10. 不保留空间位置,脱离了文档流
  11. 相对于最近的上级已定位的元素,如:relativeabsolutefixed;不能是static,若都无则相对于body定位
  12. 绝对定位元素隐藏:
  13. 想隐藏在哪个祖先里,该祖先必须同时设置position:relative/absolute/fixedoverflow:hidden的值
  14. fixed:
  15. 固定到屏幕位置,不随页面滑动而改变
  16. position:fixed;
  17. 使用toprightbottomleft设置
  18. #div04{
  19. position:fixed;
  20. }
  21. sticky:
  22. 当在父容器滑动,元素距离父元素边界为设置的距离时,会自动附着上去,同级元素会叠加,不同级会顶走
  23. 使用条件:
  24. 1、父元素不能overflow:hidden或者overflow:auto属性。
  25. 2、必须指定topbottomleftright4个值之一,否则只会处于相对定位
  26. 3、父元素的高度不能低于sticky元素的高度
  27. 4sticky元素仅在其父元素内生效
  28. position:sticky;
  29. 使用toprightbottomleft设置
  30. float:浮动定位
  31. 浮动不占据空间
  32. float:left/right
  33. 清除浮动:
  34. 因为浮动不占据空间,所以浮动后,包含其的div高度变为0,可能有其他元素
  35. 占据其位置,所以要清除浮动,即浮动后样式不改变,还原其空间
  36. 法一:clear:both 可在包含浮动的一个div里再添加一个空的div,设置其样式为clearboth
  37. 法二:通过伪类对象
  38. 包含浮动元素的对象::after{
  39. display:block;
  40. clear:both;
  41. }
  42. z-index
  43. 显示层级优先级别
  44. 必须对都是定位的元素才能使用

代码示例:

  1. <html>
  2. <head>
  3. <title>css 定位</title>
  4. <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <style type="text/css"> #div01{
  5. border:solid 2px red;
  6. height:200px;
  7. width:800px;
  8. margin-bottom:10px;
  9. margin-top:50px;
  10. position:relative;
  11. }
  12. #div02{
  13. border:dashed 2px blueviolet;
  14. height:200px;
  15. width:800px;
  16. margin-bottom:10px;
  17. position:relative; /*使用相对定位和其他div已不在一个层级上*/
  18. left:50px;
  19. top:50px;
  20. background-color:blueviolet;
  21. }
  22. #div03{
  23. border:solid 2px cyan;
  24. height:200px;
  25. width:800px;
  26. background-color:cyan;
  27. position:relative;
  28. z-index:1; /*设置层级显示优先级别*/
  29. }
  30. #div04{
  31. border: solid 3px blue;
  32. height:50px;
  33. width:50px;
  34. position:fixed; /*使用固定定位*/
  35. top:295px;
  36. right:10px;
  37. }
  38. #showdiv{
  39. border: solid 3px;
  40. height:50px;
  41. width:50px;
  42. position:absolute; /*使用绝对定位*/
  43. top:10px;
  44. }
  45. </style>
  46. </head>
  47. <h3 align="center">css 定位</h3>
  48. <hr size="30" color="aquamarine"/>
  49. <body>
  50. <div id="div01">
  51. <div id="showdiv">
  52. </div>
  53. </div>
  54. <div id="div02">
  55. div02
  56. </div>
  57. <div id="div03">
  58. </div>
  59. <div id="div04">
  60. </div>
  61. </body>
  62. </html>

发表评论

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

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

相关阅读

    相关 CSS定位

    定位的分类 1.静态定位(static) 一般的标签元素不加任何定位属性都属于静态定位,在页面的最底层属于标准流。 2.绝对定位(absoulte) 一般与祖

    相关 css_定位

    1) CSS定位的概念 CSS 定位 (Positioning) 属性允许你对元素进行定位。 它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素