Blogger Information
Blog 48
fans 3
comment 1
visits 30359
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
默认布局与定位布局
吴长清
Original
515 people have browsed it

1.默认布局

默认布局是浏览器默认的布局方式,也叫做文档流布局或正常布局流,源码的书写顺序决定了元素在html页面中显示的顺序,由此可见元素的排列位置具有可Yu测性,关键语法:position:static

布局元素分为两类:块级元素和内联(行内)元素

类型 特征 关键语法
块级元素 高度:总是占据父级的全部宽度(100%);宽度:未设置时,由内容的高度来决定;是可以自定义宽高,总是垂直排列 display:block
内联(行内)元素 用来描述块级元素内部的内容/文本,高度和宽度都由内容的宽高来决定,均不能自定义宽高,总是水平排列;内联元素中padding有效,margin只有左右有效 display:inline
内联块 既可以像内联元素一样水平排列,又可以像块级元素一样设置宽高 display:inline-block

2.定位布局

类型 描述 关键语法
相对定位 相对于”自身在文档流中的位置”,以文档左上角为中心,向左(X轴)或向下(Y轴)移动 position:relative
绝对定位 相对于”距离它最近的定位元素的位置”,即常说的”定位父级”,逐级向上直到找到最初包含块(最初的视口) position:absolute
固定定位 总是相对于”最初包含块”定位,永远保持在视口的某一位置 position:fixed
粘性定位 粘性定位 = 静态定义 + 固定定位 position:sticky

3.案例

HTML代码

  1. <div class="parent">
  2. <div class="childBox1">
  3. <img src="logo.jpg" alt="" />
  4. <ul class="absoluteList">
  5. <li class="item">首页</li>
  6. <li class="item">视频教程</li>
  7. <li class="item">学习路径</li>
  8. <li class="item">培训</li>
  9. <li class="item">资源下载</li>
  10. <li class="item">技术文章</li>
  11. <li class="item">社区</li>
  12. <li class="item">App下载</li>
  13. </ul>
  14. </div>
  15. <div class="childBox2">
  16. <ul class="fixedList">
  17. <li class="item">直播课</li>
  18. <li class="item">限时折扣</li>
  19. <li class="item">最新课程</li>
  20. <li class="item">热门推荐</li>
  21. <li class="item">手册教程</li>
  22. <li class="item">资源下载</li>
  23. <li class="item">技术文章</li>
  24. <li class="item">博客文章</li>
  25. <li class="item">社区问答</li>
  26. <li class="item">APP下载</li>
  27. </ul>
  28. </div>
  29. </div>
  30. <div class="box">
  31. <img src="app.jpg" alt="">
  32. </div>
  33. <div class="con">
  34. <div>
  35. <h2 style="background-color: yellow">第一章 小二上酒</h2>
  36. <p>
  37. <!-- 这里内容自定义 -->
  38. </p>
  39. </div>
  40. <div>
  41. <h2 style="background-color: coral">第二章 白狐脸儿</h2>
  42. <p>
  43. <!-- 这里内容自定义 -->
  44. </p>
  45. </div>
  46. <div>
  47. <h2 style="background-color: green">这是第三个标题</h2>
  48. <p>
  49. <!-- 这里内容自定义 -->
  50. </p>
  51. </div>
  52. <div>
  53. <h2 style="background-color: cyan">这是第四个标题</h2>
  54. <p>
  55. <!-- 这里内容自定义 -->
  56. </p>
  57. </div>
  58. </div>

CSS代码

  1. html {
  2. /* 简化布局,方便计算 */
  3. box-sizing: border-box;
  4. }
  5. img {
  6. margin-left: 10%;
  7. margin-top: 12px;
  8. }
  9. .childBox1 {
  10. width: 100%;
  11. height: 80px;
  12. }
  13. .childBox1 > .absoluteList {
  14. width: 60%;
  15. top: 5px;
  16. /* 绝对定位 */
  17. position: absolute;
  18. display: block;
  19. left: 20%;
  20. }
  21. .absoluteList > li {
  22. width: 10%;
  23. height: 50px;
  24. display: inline-block;
  25. line-height: 50px;
  26. text-align: center;
  27. }
  28. /* 去掉ul的小圆点 */
  29. ul {
  30. list-style-type: none;
  31. }
  32. .parent > .childBox2 {
  33. /* 固定定位 */
  34. position: fixed;
  35. right: 0;
  36. top: 25%;
  37. }
  38. .fixedList > li {
  39. width: 150px;
  40. height: 30px;
  41. border-top: 1px solid rgb(255, 253, 254);
  42. background-color: lightgray;
  43. text-align: center;
  44. margin-top: 1px;
  45. padding-top: 15px;
  46. }
  47. /* 最后一个li字体加粗 */
  48. .fixedList > li:last-of-type {
  49. font-weight: bold;
  50. }
  51. .box{
  52. width: 150px;
  53. height: 150px;
  54. position: relative;
  55. top: 20px;
  56. left: 20px;
  57. float: left;
  58. }
  59. .con {
  60. background-color: antiquewhite;
  61. }
  62. .con h2 {
  63. /* 粘性定位 */
  64. position: sticky;
  65. /* 当到了top=0的位置时,就自动悬停住了,就像粘在那里一样 */
  66. top: 0;
  67. }

效果预览

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