最后一个div框在右边距上的间距不相等



我在一个容器中有一堆div,从右边和底部等距。(即margin-right和margin-bottom是相同的)以下是我的观点: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框在这种情况下)我需要周围都有相同的间距。有解决这个问题的方法吗?

如果您添加:

body {
    margin: 0;
    padding: 0;
}

你将只有5px距离右边

由你来决定div容器的左距和上距为5px


i manage to twick it:

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%的宽度

你的问题很简单,正文有自然的边距。

body{margin-right:0px}

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

整个容器的上、下、左、右都有间距。您的单个框只在底部和右侧有间距。您在右侧看到"额外"间距的原因是单个框和整个容器的间距被加在一起。

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

.wrapper:nth-child(4n) .box{
    margin-right: 0;
}
http://jsfiddle.net/wYCzJ/5/

查看浏览器对第n -child的支持

最新更新