Blogger Information
Blog 77
fans 0
comment 0
visits 55215
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
相对定位与绝对定位的区别和联系,flex必会的容器与项目属性
Jet的博客
Original
531 people have browsed it

一、相对定位与绝对定位

1.1 基础代码

  1. <body>
  2. <ul>
  3. <li class="relative">item1</li>
  4. <li class="absolute">item2</li>
  5. <li>item3</li>
  6. <!--绝对定位不占原先空间-->
  7. </ul>
  8. <style>
  9. /* 初始化 */
  10. * { margin:0; padding:0; box-sizing: border-box;}
  11. body {border: 5px solid red;}
  12. /* 基本样式 */
  13. ul { width: 400px; height: 400px; border:5px solid blue; }
  14. ul li { height: 30px; border: 1px solid black; list-style: none;}
  15. ul li:first-child { background-color: bisque;}
  16. /* *号:后面所有的元素*/
  17. ul li:first-child + * { background-color:lightgreen; }
  18. </style>
  19. </body>

1.2 相对定位

  1. /*相对定位*/
  2. ul li.relative {
  3. position: relative; top: 10px; left: 10px;
  4. /*
  5. itme1相对于自己原来的位置移动;
  6. itme2没有偏移,继续保留原来的位置
  7. 没有释放原空间
  8. */
  9. }


1.3 绝对定位

  1. /* 绝对定位 */
  2. ul li.absolute {
  3. position:absolute;
  4. top:0; left:0; bottom:0; right:0;
  5. width: 200px;
  6. height: 200px;
  7. margin: auto;
  8. /* 父级元素没有定位,即没有参考物,以浏览器html为准*/
  9. }
  10. /*
  11. 父级元素有定位,则以最近一级有定位元素为参照物
  12. 绝对定位不占原先空间
  13. */
  14. ul { position: relative;}



1.4 固定定位

  1. <div class="box">广告位/客服</div>
  2. <style>
  3. * {
  4. margin: 0;
  5. padding: 0;
  6. }
  7. .box {
  8. width: 150px;
  9. height: 150px;
  10. background-color: lightgreen;
  11. /* 固定定位 */
  12. position: fixed;
  13. /* 右下角 */
  14. right: 20px;
  15. bottom: 50px;
  16. }
  17. body {
  18. min-height: 2000px;
  19. }
  20. </style>


1.5 粘性定位

  1. <style>
  2. article figure {
  3. margin: 1em 0;
  4. }
  5. article figure figcaption {
  6. background-color: lightgreen;
  7. color: color;
  8. border: 1px solid #000;
  9. padding: 1em;
  10. font-size: 1.3em;
  11. /* 粘性定位 */
  12. position: sticky;
  13. /* 当标题滚动到顶部时自动停住 */
  14. top: 0;
  15. }
  16. </style>
  1. <article>
  2. <figure>
  3. <figcaption>11、标题11</figcaption>
  4. <p>
  5. 内容内容内容
  6. </p>
  7. <p>
  8. 内容内容内容
  9. </p>
  10. <p>
  11. 内容内容内容
  12. </p>
  13. <p>
  14. 内容内容内容
  15. </p>
  16. <p>
  17. 内容内容内容
  18. </p>
  19. <p>
  20. 内容内容内容
  21. </p>
  22. <p>
  23. 内容内容内容
  24. </p>
  25. <p>
  26. 内容内容内容
  27. </p>
  28. </figure>
  29. <figure>
  30. <figcaption>1、标题1</figcaption>
  31. <p>
  32. 内容内容内容
  33. </p>
  34. <p>
  35. 内容内容内容
  36. </p>
  37. <p>
  38. 内容内容内容
  39. </p>
  40. <p>
  41. 内容内容内容
  42. </p>
  43. <p>
  44. 内容内容内容
  45. </p>
  46. <p>
  47. 内容内容内容
  48. </p>
  49. <p>
  50. 内容内容内容
  51. </p>
  52. <p>
  53. 内容内容内容
  54. </p>
  55. </figure>
  56. </article>

定位总结:


二、flex必会的容器与项目属性

1.1 基础代码

  1. <div class="container">
  2. <div class="item">item1</div>
  3. <div class="item">item2</div>
  4. <div class="item">item3</div>
  5. </div>

1.2 flex布局

  1. <style>
  2. .container {
  3. /* width:450px;*/
  4. height: 100px;
  5. /*使用flex进行布局,先将它转为flex容器元素*/
  6. display: flex;
  7. }
  8. </style>


1.3 place-content主轴的排列方式

  1. /*主轴的排列方式 place-content*/
  2. place-content: start;
  3. place-content: end;


1.4 place-items 交叉轴的排列方式

  1. /*交叉轴的排列方式 place-items*/
  2. place-items: end;
  3. place-items: center;


1.5 独立排列

  1. /*独立排列*/
  2. place-content: space-between; /*两端对齐*/
  3. place-content: space-around; /*分散对齐*/
  4. place-content: space-evenly; /*平均对齐*/




1.6 flex宽度比例

宽度会根据游览器宽度自动进行伸缩

  1. .container .item:first-child,
  2. .container .item:last-child{
  3. background-color: yellow; flex:1;
  4. }
  5. .container .item:first-child + *{
  6. flex: 3;
  7. }


  1. /* order 在项目主轴上的排列顺序,默认每个都是0 */
  2. /* 数值越少越靠前 */
  3. .container .item:first-child{
  4. order:1;
  5. }
  6. .container .item:first-child + *{
  7. order:2;
  8. }


Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post