【问题标题】:Why are margins in my CSS not applied?为什么我的 CSS 中的边距没有应用?
【发布时间】:2013-01-18 08:01:56
【问题描述】:

我正在尝试创建一个日历,其中每天都有一个框,以小边距分隔。问题:未应用边距。我在日期周围添加了红色边框,正如您在the code 中看到的那样,边框之间没有边距。我删除了所有无关的 CSS,甚至临时添加了一个 !important 属性(我讨厌它,想想我有多绝望),无济于事。我绝对看不出我做错了什么,因此感谢您提供任何帮助。

代码是here


编辑
我添加了hrunting的答案中提到的代码

#calendar table {
  border-collapse: separate;
  border-spacing: 2px 2px;
}

my code,但这似乎没有任何区别。 (我删除了红色边框。如果您有单独的日期框,您应该会看到它何时起作用。)

【问题讨论】:

  • 我编辑了我的答案以包括删除 cellspacing=0 属性。这将使您获得所需的结果。

标签: css margin


【解决方案1】:

阅读this StackOverflow answer here

基本上,内部表格元素没有对其应用边距(并且填充不是您想要的,因为间距位于边框内部,而不是外部)。您需要使用border-spacing attribute along with the border-collapse attribute 来获得您想要的外观。

另外,从<table> 定义中删除cellspacing=0 HTML 属性。

【讨论】:

  • 谢谢,我去看看。我已经知道填充不是解决方案,当您发布您的答案时,我正在评论另一个答案。
  • +1 感谢您的编辑,这似乎解决了它。我可能也会接受这个,但我通常会等一天让其他人也回答。
【解决方案2】:

表格单元格不能直接应用边距。您可以在此处阅读表格的规格:http://www.w3.org/TR/CSS2/tables.html 并查看表格单元格有自己的盒子模型。您可以像@Praveen 建议的那样添加填充,但填充有限制。例如,如果您想增加不起作用的边界之外的空间。填充实际上增加了单元格内的空间,因此具有不同的效果。

此问题可能重复:CSS Cell Margin

取自那个问题:

那么“正确”的方法是什么?如果您正在寻找更换 表格的 cellspacing 属性,然后是边框间距(使用 border-collapse disabled) 是一个替代品。但是,如果每个单元格 “边距”是必需的,我不确定如何正确 使用 CSS 实现。我能想到的唯一技巧是使用填充作为 上面,避免任何样式的单元格(背景颜色,边框, 等),而是使用单元格内的容器 DIV 来实现这样的 样式。

【讨论】:

  • 感谢您的回复。我不认为这个问题是重复的。提问者似乎对接受的答案非常满意,这仅说明如何将内容分开,但这对我的问题不起作用。
猜你喜欢
  • 2010-11-25
  • 2018-02-24
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
  • 2013-04-14
相关资源
最近更新 更多