0

我在一个容器内有一堆 div,它们与右侧和底部的间距相等。(即 margin-right 和 margin-bottom 是相同的)这是我的 jsfiddle 下面:http: //jsfiddle.net/wYCzJ/1/ 这是我的 css 代码:

.container {
  width: 100%;
  height: auto;
  display: inline-block;
}

.wrapper {
   position: relative;
  float: left;
  width: 25%;

}

.box {
    margin-bottom: 0.5em;
  margin-right: 0.5em;
  border: 1px solid;
  border-color:#DDD;
  padding: 0.5em;
  height: 150px;
}


.name{
  width: 95%;
  font-size: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: bold;
}

.result {
  text-align: right;
  margin-top: 0.5em;
  font-weight: bold;
  margin-right: 0.75em;
}
.result-type {
  float:left;
  display:inline;
  font-size: 1.1em;
  display: inline;
}

.result-value {
  font-size: 1.5em;
  display: inline;
}

.no_data {
  font-size: 1.2em;
  color: darkgray;
}

.date {
  position: absolute;
  bottom: 1em;
  color: gray;
}

一切都按预期工作,除了最后一个 div 框向右有一些额外的间距(在这种情况下,Test 5 框和 Test 7 框)我有点需要相同的间距。有解决方法吗?

4

4 回答 4

2

如果您添加:

body {
    margin: 0;
    padding: 0;
}

你将只有 5px 从右边

由您决定将 div 容器从左侧和顶部设置为 5px 的边距


我设法扭动它:

body {
    padding: 0;
    margin: 0;
    margin-top: 0.5em;
    margin-left: 0.5em;
}

在 Chrome 和 FF 中对其进行了测试 - http://jsfiddle.net/elen/wYCzJ/3/


发现并采用了这个版本 - jsfiddle.net/elen/5CJ5e/131 - 看看它是否适合你,请注意外盒和内盒的text-align: justify;,和高度的组合。font-size: 0;<span class="stretch"></span>用于 100% 宽度

于 2013-05-01T15:45:30.740 回答
0

你的问题很简单,身体有一个自然的边缘。

body{margin-right:0px}

这解决了你的问题,但是只有在 0 的身体有点奇怪margin-right......

于 2013-05-01T15:45:40.983 回答
0

整个容器的顶部、底部、左侧和右侧都有间距。您的各个框仅在底部和右侧有间距。您在右侧看到“额外”间距的原因是因为单个框和整个容器的间距被添加在一起。

于 2013-05-01T15:46:42.097 回答
0

一个可能的解决方案nth-child。这将删除每 4 个.box元素的边距。

.wrapper:nth-child(4n) .box{
    margin-right: 0;
}

http://jsfiddle.net/wYCzJ/5/

在 caniuse 中查看nth-child 的浏览器支持。

于 2013-05-01T16:14:44.087 回答