博主信息
博文 9
粉丝 0
评论 1
访问量 14697
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
高效设置列间距的方法,以及用“表格”设置等高列的思考
黑色郁金香
原创
1827人浏览过

一、列间距的设置:

通过设置 margin 来实现列间距,目前有两种方法: 1.通过百分比设置 2.通过(百分比 - em )来实现(推荐使用)

1. 第一种方法

设置百分比

设置百分比

代码部分

  1. <style>
  2. body {
  3. background-color: #f1f1f1;
  4. /* 把盒子设置为IE盒子 */
  5. box-sizing: border-box;
  6. }
  7. .container {
  8. background-color: rgb(46, 101, 250);
  9. border-radius: 0.5em;
  10. text-align: center;
  11. color: #fff;
  12. }
  13. /* 将main转换为块元素 */
  14. .main {
  15. display: block;
  16. width: 70%;
  17. }
  18. .main ,.right {
  19. border: 1px solid #333;
  20. border-radius: 0.5em;
  21. background: #fff;
  22. float: left;
  23. /* 将main和right转换为IE盒子 */
  24. box-sizing: border-box;
  25. }
  26. /* 把右边的块元素撑开 */
  27. .right {
  28. padding: 1.5em;
  29. }
  30. /* 第一种设置列间距的方法 */
  31. /* 1. 用相对单位百分比来设置 */
  32. .right {
  33. width: 29%;
  34. margin-left: 1%;
  35. }
  36. </style>

总结:

将右列(right)的宽度设置为 29%,然后设置左侧外边距为 1%,即 margin-left: 1%

虽然通过设置百分比,得到了我们想要的效果。但是,在改变视窗大小后,块元素之间的间距大小也会随之改变,在一些特定场景下,我们是不希望出现这种情况的。所以,这种实现方法并不推荐。

2. 第二种方法

设置(百分比 - em)

设置百分比

代码部分

  1. <style>
  2. body {
  3. background-color: #f1f1f1;
  4. /* 把盒子设置为IE盒子 */
  5. box-sizing: border-box;
  6. }
  7. .container {
  8. background-color: rgb(46, 101, 250);
  9. border-radius: 0.5em;
  10. text-align: center;
  11. color: #fff;
  12. }
  13. /* 将main转换为块元素 */
  14. .main {
  15. display: block;
  16. width: 70%;
  17. }
  18. .main ,.right{
  19. border: 1px solid #333;
  20. border-radius: 0.5em;
  21. background: #fff;
  22. float: left;
  23. /* 将main和right转换为IE盒子 */
  24. box-sizing: border-box;
  25. }
  26. /* 把右边的块元素撑开 */
  27. .right {
  28. padding: 1.5em;
  29. }
  30. /* 第二种设置列间距的方法 */
  31. /* 2. 用相对单位百分比和em组合来设置
  32. 注意计算格式之间有空格,否则计算无效
  33. */
  34. .right {
  35. width: calc(30% - 1em);
  36. margin-left: 1em;
  37. }
  38. </style>

总结:

设置右边的块元素,左侧外边距为 1em,因为(right)的宽度包含了这个外边距,所以应当减去,运用函数计算。表达式为:calc(百分比 - em),即:calc(30% - 1em)
注意表达式里的空格,必须隔开,否则会导致运算无效。【切记!!!切记!!!切记!!!】

通过设置后发现,运用这种方法,无论怎么调整视窗的大小,这个列间距都是相对一致的,并不会随视窗改变而改变。所以,我们推荐使用这种方法来实现列间距的设置。


二、实现一个等高列的代码实例

思考:???

用表格实现等高列的设置

我们在前面学习了使用百分比来实现列间距的设置,虽然能实现左右两边块元素的间距,但是,一旦两个块元素里所包含的元素数量不等时,是无法实现块元素等高的。也不能通过写死数据,来设置高度。还有什么办法呢?

办法肯定是有的,我们知道表格的属性中,具有同行列高相等的特性,单元格内不管包含的元素有多少,这行表格两边元素的列高始终一致。为了验证想法,通过下面的代码案例,来实践一下。

代码部分:

  1. <style>
  2. body {
  3. background-color: #eee;
  4. color: #000;
  5. }
  6. .top > h2 {
  7. background-color: #fff;
  8. }
  9. .conter {
  10. display: table;
  11. width: 100%;
  12. border-spacing: 0.5em 0;
  13. text-align: center;
  14. }
  15. .main,.sider {
  16. display: table-cell;
  17. background-color: #fff;
  18. color: #000;
  19. border-radius: 0.5em;
  20. }
  21. .right-box {
  22. margin: 0;
  23. padding: 0;
  24. }
  25. .container {
  26. margin-left: -0.5em;
  27. margin-right: -0.5em;
  28. }
  29. </style>

等高列案例

总结:

使用表格来实现列的等高并不会真正使用表格,(在HTML里没有用到表格元素), 而只是是把CSS属性设置为表格元素的属性来显示。这个方法可能是一个比较简单的解决方案。不过,因为是用到了”表格”。所有需要特别小心浏览器兼容性问题。

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:table布局不存在兼容性的
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学