最后一个div框在边缘右边没有等间距

时间:2013-05-01 15:36:25

标签: css css3 html jsfiddle

我在一个容器内有一堆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框在右边有额外的一些额外间距(在这种情况下,测试5框和测试7框) 我有点需要相同的间距。有解决方法吗?

4 个答案:

答案 0 :(得分: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%宽度

答案 1 :(得分:0)

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

body{margin-right:0px}

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

答案 2 :(得分:0)

整个容器的顶部,底部,左侧和右侧都有间距。您的个人盒子底部和右侧只有间距。你在右边看到“额外”间距的原因是因为单个盒子和整个容器的间距被加在一起。

答案 3 :(得分:0)

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

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

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

查看browser support of nth-child at caniuse