CSS边距折叠(允许内部折叠,拒绝外部折叠)

时间:2011-12-22 13:13:27

标签: css margin margins

我有以下结构:

<div class="form-item">
 <label>Label</label>
 <input type="text" value="" size="23">
 <div class="description">
   <div class="msg">*Some description</div>
   <div class="msg">Error</div>
 </div>
</div>

有很多表格项目。我需要使用parent(表单项)折叠标签和描述边距,并且两个表单项边距不得折叠。

为什么我需要那个?好吧我会使用填充,但标签和描述是可选的,所以它们必须有边距,必须与父级折叠。此外,描述可能包含零(隐藏)到许多消息,必须使用描述边缘折叠,如果所有消息都被隐藏,则整个字段必须是不可见的。

P.S。我确实需要IE7支持:)

修改 基本css:

.form-item{
    margin: 7px 0 10px;
}
.form-item legend{
    margin: 5px 0;
}
.form-item .description{
    margin: 2px;
}
.description .msg{
    margin: 1px 0;
}

总结一下:

  1. 两个表单项之间的空格:17px(页边距不会折叠);
  2. 顶级表单项边距:7px(5px折叠,7px);
  3. 底部表格项目边距:10px(2px以10px折叠);

0 个答案:

没有答案