Blogger Information
Blog 5
fans 0
comment 0
visits 3537
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
CSS表格控制以及通过元素的浮动和定位完成布局+PHP九期线上班191101
done
Original
676 people have browsed it

CSS表格控制以及通过元素的浮动和定位完成布局

1. 制作商品信息表,实现行与列的合并

  1. <table>
  2. <caption>
  3. <h3>热门手表</h3>
  4. </caption>
  5. <thead>
  6. <tr>
  7. <th>排名</th>
  8. <th>型号</th>
  9. <th>品牌</th>
  10. <th>系列</th>
  11. <th>单价(元)</th>
  12. </tr>
  13. </thead>
  14. <tbody>
  15. <tr>
  16. <td>1</td>
  17. <td>116610LV-97200</td>
  18. <td rowspan="2">劳力士</td>
  19. <td rowspan="2">潜航者</td>
  20. <td>70500</td>
  21. </tr>
  22. <tr>
  23. <td>2</td>
  24. <td>116610LN-97200</td>
  25. <!-- <td>劳力士</td>
  26. <td>潜航者</td> -->
  27. <td>66400</td>
  28. </tr>
  29. <tr>
  30. <td>3</td>
  31. <td>L2.628.4.78.3</td>
  32. <td>浪琴</td>
  33. <td>制表传统</td>
  34. <td>15000</td>
  35. </tr>
  36. <tr>
  37. <td>4</td>
  38. <td>424.13.40.20.02.001</td>
  39. <td>欧米茄</td>
  40. <td>碟飞</td>
  41. <td>28500</td>
  42. </tr>
  43. <tr>
  44. <td>5</td>
  45. <td>116233</td>
  46. <td>劳力士</td>
  47. <td>日志36</td>
  48. <td>100800</td>
  49. </tr>
  50. </tbody>
  51. <tfoot>
  52. <tr>
  53. <td colspan="4">平均:</td>
  54. <!-- <td></td>
  55. <td></td>
  56. <td></td> -->
  57. <td>56240</td>
  58. </tr>
  59. </tfoot>
  60. </table>

2. 使用CSS模拟表格

  1. .table {
  2. display: table;
  3. box-sizing: border-box;
  4. width: 700px;
  5. box-shadow: 2px 2px 2px gray;
  6. border-collapse: collapse;
  7. margin: 20px auto;
  8. }
  9. .caption {
  10. display: table-caption;
  11. margin: auto;
  12. text-align: center;
  13. font-size: 1.5rem;
  14. font-weight: bold;
  15. }
  16. .thead {
  17. display: table-header-group;
  18. text-align: center;
  19. letter-spacing: 5px;
  20. }
  21. .thead span {
  22. font-weight: bold;
  23. font-size: 1.2rem;
  24. }
  25. .tbody {
  26. display: table-row-group;
  27. }
  28. .tfoot {
  29. display: table-footer-group;
  30. }
  31. ul {
  32. display: table-row;
  33. }
  34. li {
  35. display: table-cell;
  36. border: 1px solid gray;
  37. padding: 15px;
  38. }

3. 使用绝对定位,实现盒子的居中显示

  1. .login {
  2. display: table;
  3. box-sizing: border-box;
  4. width: 300px;
  5. height: 100px;
  6. border: 1px solid gray;
  7. box-shadow: 2px 2px 2px gray;
  8. }
  9. ul {
  10. display: table-row-group;
  11. }
  12. li {
  13. display: table-row;
  14. }
  15. label {
  16. display: table-cell;
  17. }
  18. .login {
  19. margin: auto;
  20. position: absolute;
  21. top: 0;
  22. left: 0;
  23. bottom: 0;
  24. right: 0;
  25. }

4. 圣杯布局的流程和思路

  1. /* 实现圣杯布局的流程 */
  2. /* 圣杯布局:
  3. 1. 两侧宽度固定,主体自适应
  4. 2. 主体内容优先渲染
  5. */
  6. /* 步骤1:article写到aside前面,保证内容区优先渲染 */
  7. /* 步骤2:顶部和底部设置box-sizing,固定一个高度 */
  8. header,
  9. footer {
  10. box-sizing: border-box;
  11. height: 100px;
  12. background-color: lightpink;
  13. }
  14. /* 步骤3:创建内容主体区域main,设置box-sizing,给一个边框,用于测试 */
  15. /* 重点:实现圣杯布局的关键是通过padding把中间内容区挤到居中,再通过相对位置移动两个侧边 */
  16. main {
  17. box-sizing: border-box;
  18. border: 2px solid red;
  19. padding: 0 200px;
  20. }
  21. /* 步骤4:内容中间部分article的渲染,设置box-sizing,设置宽度为父元素的100%满足自适应,同时给个高度*/
  22. /* 重点:通过float可以实现块元素在同一行显示 */
  23. article {
  24. box-sizing: border-box;
  25. width: 100%;
  26. height: 600px;
  27. background-color: lightgreen;
  28. float: left;
  29. }
  30. /* 步骤5:两边栏aside都float */
  31. aside {
  32. box-sizing: border-box;
  33. width: 200px;
  34. height: 600px;
  35. background-color: lightblue;
  36. float: left;
  37. }
  38. /* 步骤6:为main设置overflow */
  39. /* 重点:子元素都是float的时候,父元素会失去高度,需要把父元素转为BFC块 */
  40. main {
  41. overflow: hidden;
  42. }
  43. /* 步骤7:把左边栏放到左边 */
  44. /* 重点:现在左边栏是被article挤到下一行的,通过margin-left:-100%向左移动一个父元素宽度 */
  45. /* 重点:再通过position:relative移动最后200px */
  46. aside:first-of-type {
  47. margin-left: -100%;
  48. position: relative;
  49. left: -200px;
  50. }
  51. /* 步骤8:右边栏同理左边栏 */
  52. aside:last-of-type{
  53. margin-left: -200px;
  54. position: relative;
  55. left: 200px;
  56. }

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