全国服务热线:18980020603 成都热线:028-86633922
新闻中心网站专题联系我们
行业新闻 建站经验 网站建设资讯 手机网站资讯 微信网站建设资讯 APP开发资讯 商城网站资讯

网站建设: 如何处理布局中的垂直块间距问题

发布人:桔子科技    发布时间:2015-05-07 07:08:55    分享到:
在做页面布局(qiē tú)时,我们经常需要在块之间留一个间距。水平方向的情况通常靠浮动等各种强计算来解决,这里先不扯了。主要是来纠结一下垂直方向的块间距问题。我们通常会使用 margin 实现的,但就算只用 margin,具体的实现方式也是有很多选择的。

margin-top 和 margin-bottom 的选择
Bootstrap 喜欢使用 margin-bottom 来处理块元素之间的间距,这种做法会很纠结。我之前都使用 margin-top 的,因为 margin-top 可以使用 first-child 伪类把第一个元素的 margin-top 干掉,而且是 IE7 开始支持的。margin-bottom 可能就要依赖 last-child,这得从 IE9 才开始支持。而且考虑到插入元素通常使用 appendChild,也就是说 last-child 这个元素本身很不稳定,那么 margin-bottom 就可能带来各种麻烦。所以综合各种因素考虑,我选择了 margin-top。但我觉得,既然我都能想到这些问题,Bootstrap 的开发团队应该也能够想到,也许它们是故意这么设计的?是我还不够了解 Bootstrap 的思想么?
依赖于 margin 合并的解决方案
垂直方向的块间距除了使用单向的 margin 来解决以外还可以使用双向 margin 自动合并的方式来解决,这通常用于头尾也需要间距的情况。比如这个例子:
运行<!DOCTYPE html>
<style>
.list { border: 1px solid #ccc; width: 200px; padding: 0; }
.list-item { margin: 1em; border: 1px solid #ccc; }
</style>
<div class=”list”>
<div class=”list-item”>1</div>
<div class=”list-item”>2</div>
<div class=”list-item”>3</div>
<div class=”list-item”>4</div>
</div>
这也是一种很常用的布局方式。但这种方式总是会在头尾留下间距,如果想要处理掉,可能还要利用 margin 的容器合并特性,将这个 margin 合并到容器上,因为通常容器也需要一个间距嘛。比如下面例子就使用了这个特性:
运行<!DOCTYPE html>
<style>
body { font: 14px/1.5 Arial; }
.aside {
margin: 1em;
width: 200px;
padding: 0;
outline: 1px solid red;
}
.panel {
margin: 1em 0;
border: 1px solid #ccc;
border-radius: 4px;
overflow: hidden;
}
.panel-heading {
background: #f5f5f5;
border-bottom: 1px solid #ccc;
}
</style>
<div class=”aside”>
<div class=”panel”>
<div class=”panel-heading”>panel 1</div>
<div class=”panel-body”>data 1</div>
</div>
<div class=”panel”>
<div class=”panel-heading”>panel 2</div>
<div class=”panel-body”>data 2</div>
</div>
<div class=”panel”>
<div class=”panel-heading”>panel 3</div>
<div class=”panel-body”>data 3</div>
</div>
</div>
期望与现实
我非常希望使用 margin 合并的特性来处理垂直间距问题,但前提是所在的团队成员都必须了解 BFC,这对于大多数团队而言可能还真有点困难。如果团队无法承受各种技术细节的话,还是用最原始的解决方案来得实在。
本文来源于成都网站建设公司、成都网站设计制作公司与成都APP开发公司-桔子科技公司!
成都网站建设,成都网站设计,成都网站制作,成都网页设计,成都网站建设公司 ,成都网站设计公司, 成都网站制作公司,成都手机网站建设,手机网站建设,成都APP开发,APP开发,成都建网站,成都做网站,成都微信网站建设,成都微商城网站建设,成都商城网站建设,成都网络公司。

下一篇:网站建设: 介绍caller的概念及其兼容性差异上一篇:成都网站建设:门户网站怎么达到盈利目标?

最新案例
手机/微网站
  1. [成都]微信网站建设:微信分销系统能为商铺带来哪些特色服务
  2. [成都]微信网站建设:如何通过微信公众号来推广产品
  3. [成都]微信网站建设:微信开发都有些什么功能
  4. [成都]手机网站:手机网站设计需要达到什么效果
  5. [成都]手机网站:手机网站响应式网站解决方案
  6. [成都]手机网站:手机网站响应式网站解决方案
网络营销
  1. APP开发: APP网页评分功能设计
  2. APP开发:手机APP开发前这4点必须要了解
  3. APP开发:为什么企业要做手机APP
  4. APP开发:你可以更好的留住APP用户
  5. APP开发:开发时间的长短主要由哪些因素决定
  6. APP开发:电子商务类APP开发的4点建议
img

7x24小时售后服务

img

5倍故障时长赔付

img

15天无理由退款

img

N对一管家服务

让我们的顾问联系您

  • 电话:4006-028-024 028-86633922

    邮箱:Service@orangeapp.cn

    成都市成华区崔家店路789号上城国际1-24-9号

qq sina