博主信息
博文 11
粉丝 0
评论 0
访问量 12737
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实现列间隙的两种方式和设置等高列的第一种方式
YwQ
原创
893人浏览过

1022 作业

实例演示列间隙的二种设置方案,并比较异同
第一种方式
  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. .box {
  9. background-color: lightgreen;
  10. font-size: 1.2em;
  11. }
  12. .box .left {
  13. float: left;
  14. width: 50%;
  15. background-color: lightsalmon;
  16. margin-right: 5%;
  17. height: 10em;
  18. }
  19. .box .right {
  20. float: left;
  21. width: 45%;
  22. background-color: lightsteelblue;
  23. height: 10em;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div class="box">
  29. <div class="left">这是左边</div>
  30. <div class="right">这是右边</div>
  31. </div>
  32. </body>
  33. </html>

总结:左右浮动,间隙为 5%。

第二种方式
  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. .box {
  9. background-color: lightgreen;
  10. font-size: 1.2em;
  11. }
  12. .box .left {
  13. float: left;
  14. width: 50%;
  15. background-color: lightsalmon;
  16. margin-right: 1em;
  17. height: 10em;
  18. }
  19. .box .right {
  20. float: left;
  21. width: calc(50% - 1em);
  22. /* 注意符号前后要有空格,不然效果不实现 */
  23. background-color: lightsteelblue;
  24. height: 10em;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <div class="box">
  30. <div class="left">这是左边</div>
  31. <div class="right">这是右边</div>
  32. </div>
  33. </body>
  34. </html>

总结:左右浮动,间隙为 1em。

比较相同:

  1. 两种方式都是使用浮动来进行左右排列
  2. 宽度都是使用固定的百分比来实现
  3. 间隙都是通过 margin 来撑开的

比较不同:

  1. 第一个间隙是视口的 5%,随着视口的的变化而变化,视口变化过大会有很大差异。
  2. 第二个间隙是 1em,随着当前元素字体大小的变化而变化,不会因为视口的变化而改变。
参考课堂案例,自己实现一个等高列的案例(不得抄源码)
设置等高列的第一种方式
  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. body {
  9. margin: 0;
  10. padding: 0;
  11. }
  12. .box {
  13. background-color: mediumaquamarine;
  14. font-size: 1.2em;
  15. display: table;
  16. /* 将当前的容器改成table表格 */
  17. width: 100%;
  18. /* 将宽度设置为100% */
  19. /* 因为表格宽度由内容决定,所以要用100%撑开 */
  20. border-spacing: 1em 0;
  21. /* 给两个列之间给个列间隙 */
  22. /* 列间隙为左右1.5em,上下0 */
  23. }
  24. .box .left {
  25. display: table-cell;
  26. /* 将两个列都转为单元格元素 */
  27. background-color: lightsalmon;
  28. }
  29. .box .right {
  30. display: table-cell;
  31. /* 将列转为单元格元素 */
  32. background-color: lightsteelblue;
  33. }
  34. /* 等高列效果实现 */
  35. /* 但是现在还存在一个问题:表格除了中间有间隙之外,最左侧和最右侧也存在间隙 */
  36. /* 那么需要通过给box容器外面再套一个容器*/
  37. .big {
  38. margin: 0 -1em;
  39. /* 给一个上下为0,左右为-1em的外边距 */
  40. }
  41. /* 通过margin给左右两边的间隙拉回到 0 */
  42. </style>
  43. </head>
  44. <body>
  45. <div class="big">
  46. <div class="box">
  47. <div class="left">
  48. 这是左边<br />这是左边<br />这是左边<br />
  49. 这是左边<br />这是左边<br />这是左边<br />
  50. </div>
  51. <div class="right">这是右边</div>
  52. </div>
  53. </div>
  54. </body>
  55. </html>
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:在没有flex,grid之前, 等高列实现挺麻烦的, 现在简单了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学