博客列表 >绝对定位、固定定位及flex,grid属性

绝对定位、固定定位及flex,grid属性

初见
初见原创
2021年09月26日 10:24:291094浏览

CSS定位和flex,grid属性

绝对定位和固定定位

  • 绝对定位

静态定位:position: static;
相对定位:position: relative;
绝对定位: position: absolute;

静态定位为html中的默认值,相对定位以元素原始位置为参照物,绝对定位以上一级相对定位或原始元素为参照物;相对定位需要占据空间,绝对定位不占据空间。实例演示如下:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  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. </head>
  9. <body>
  10. <h1>相对定位</h1>
  11. <div class="box three">
  12. <div class="box two">
  13. <div class="box one"></div>
  14. </div>
  15. </div>
  16. <style>
  17. .box {
  18. border: 1px solid #000;
  19. display: inline-block;
  20. }
  21. .box.one {
  22. width: 5em;
  23. height: 5em;
  24. background-color: violet;
  25. }
  26. .box.two {
  27. width: 10em;
  28. height: 10em;
  29. background-color: wheat;
  30. }
  31. .box.three {
  32. width: 15em;
  33. height: 15em;
  34. background-color: lightgreen;
  35. }
  36. .one {
  37. position: static;
  38. position: relative;
  39. top: 1em;
  40. left: 1em;
  41. }
  42. </style>
  43. <h1>绝对定位</h1>
  44. <!--
  45. 静态定位:static
  46. -->
  47. <div class="box2 three2">
  48. <div class="box2 two2"><div class="box2 one2"></div></div>
  49. </div>
  50. <style>
  51. .box2 {
  52. border: 1px solid #000;
  53. display: inline-block;
  54. }
  55. .box2.one2 {
  56. width: 5em;
  57. height: 5em;
  58. background-color: violet;
  59. }
  60. .box2.two2 {
  61. width: 10em;
  62. height: 10em;
  63. background-color: wheat;
  64. }
  65. .box2.three2 {
  66. width: 15em;
  67. height: 15em;
  68. background-color: lightgreen;
  69. }
  70. .one2 {
  71. /* position: static;
  72. position: relative;
  73. top: 1em;
  74. left: 1em; */
  75. position: absolute;
  76. left: 1em;
  77. top: 1em;
  78. }
  79. .three2 {
  80. position: relative;
  81. }
  82. </style>
  83. </body>
  84. </html>

效果如下:

绝对定位

  • 固定定位

固定定位 position:fixed;

如果一个值总是相对于html或包含块静止,那么它就处于固定定位。实例如下:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  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. </head>
  9. <body>
  10. <div class="box">
  11. <img src="kf.jpg" />
  12. <article>
  13. <h2 style="background-color: green">国内新闻</h2>
  14. <ul>
  15. <li><a href="">任正非重磅发声:鸿蒙之外,华为还有备胎</a></li>
  16. <li><a href="">留学生回国一年:家长陪读网课,教育花费近百万</a></li>
  17. <li><a href="">明星频繁翻车,虚拟偶像是解决方案吗?</a></li>
  18. <li><a href="">美国只有用实际行动才能摘掉“抗疫失败国”的帽子</a></li>
  19. <li><a href="">福建莆田最小确诊患者仅4岁 穿隔离服独自做检查</a></li>
  20. <li><a href="">潜望|iPhone13背后的苹果供应链江湖:出局与挣扎</a></li>
  21. <li>
  22. <a href=""
  23. >多虑了!网络诈骗不收割“网瘾老人”,而是孤独青年人|钛度图闻</a
  24. >
  25. </li>
  26. <li>
  27. <a href=""
  28. >iPhone13发布,一台苹果手机究竟值多少钱?真的成倍利润?</a
  29. >
  30. </li>
  31. <li>
  32. <a href=""
  33. >美团、饿了么双双发文:严禁诱导和强迫骑手注册成个体工商户</a
  34. >
  35. </li>
  36. <li>
  37. <a href=""
  38. >莫名被开通十余个手机号?工信部推出一证查询名下电话卡功能</a
  39. >
  40. </li>
  41. </ul>
  42. </article>
  43. <article>
  44. <h2 style="background-color: red">国际新闻</h2>
  45. <ul>
  46. <li>
  47. <a href=""
  48. >美军战略司令部司令:中国在发展战略武器方面取得了前所未有的突破</a
  49. >
  50. </li>
  51. <li>
  52. <a href=""
  53. >美国防情报局长称“基地”组织可能在一两年内威胁美国本土,还不忘扯上中俄</a
  54. >
  55. </li>
  56. <li>
  57. <a href=""
  58. >美媒:3名前美国情报人员在阿联酋当黑客雇佣兵,承认泄露敏感军事技术</a
  59. >
  60. </li>
  61. <li>
  62. <a href="">美官员:约700人周末将在首都集会 支持国会骚乱案示威者</a>
  63. </li>
  64. <li><a href="">结束16年的德国总理生涯后,默克尔打算做什么?</a></li>
  65. <li>
  66. <a href="">12人涉非法集结案宣判,“支联会”成员何俊仁判监禁10个月</a>
  67. </li>
  68. <li>
  69. <a href=""
  70. >对华开战会提前通知!防止总统宣战,美最高将领两次秘密致电中方</a
  71. >
  72. </li>
  73. <li>
  74. <a href="">英媒:消息人士称塔利班领导层为组建新政府“大吵一架”</a>
  75. </li>
  76. <li>
  77. <a href=""
  78. >杀人灭口?以色列前总理腐败案证人意外死亡,引发各界猜测</a
  79. >
  80. </li>
  81. <li>
  82. <a href=""
  83. >印度将试射洲际弹道导弹,印媒制造矛盾:可覆盖中国多个内陆城市</a
  84. >
  85. </li>
  86. </ul>
  87. </article>
  88. </div>
  89. <style>
  90. .box {
  91. margin: 5em atuo;
  92. border: 2px solid #000;
  93. height: 320px;
  94. overflow: scroll;
  95. line-height: 2em;
  96. }
  97. .box article h2 {
  98. color: white;
  99. margin: 0;
  100. position: sticky;
  101. top: 0;
  102. }
  103. .box img {
  104. width: 4em;
  105. border-radius: 50%;
  106. box-shadow: 2px 2px 3px #666;
  107. position: fixed;
  108. right: 2em;
  109. top: 13em;
  110. z-index: 999;
  111. }
  112. </style>
  113. </body>
  114. </html>

效果如下

固定定位和粘性定位

flex,grid属性

flex容器属性

  • flex-direction: row | row-reserve | column | column-reserve
  • flex-wrap: nowrap | warp | warp-reserve
  • flex-flow:[flex-direction] [ flex-warp]
  • justify-content:flex-start | flex-end | center | space-between | space-around
  • aline-items:flex-start | flex-end | center | baseline | stresch

grid容器属性

  • display :grid
  • template-columns | grid-template-rows 网格的行和列
  • grid-template-areas 网格区域
  • grid-template <grid-template-rows> <grid-template-columns> <grid-template-areas>
  • grid-column-gap
  • grid-row-gap
  • grid-gap grid-colunm-gap/grid-row-gap
  • justify-items
  • align-items
  • place-items aline-items和justfy-items的缩写
  • justify-content
  • align-content
  • place-content align-content 和 justify-content 的简写
  • grid-auto-columns
  • grid-auto-rows
  • grid-auto-flow
  • grid grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, 和 grid-auto-flow的简写

项目属性

  • order:数字
    自定义项目的排序

  • flex-grow:数字
    项目的放大比例

  • flex-shrink:数字
    项目缩小比例

  • flex-base:[length] | auto
    定义项目占据的主轴空间大小,默认为auto

  • flex:none | [flex-grow flex-shrink flex-base]
    flex是flex-grow、flex-shrink、flex-base的缩写,默认值为0 1 auto

  • align-self:auto | flex-start | flex-end | center | baseline | stretch
    允许单个项目有自己的对齐方式

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