我正在使用 LessCSS 创建一个简单的地铁主题网站。我的 variables.less 文件中有以下内容:
@unit: 30px;
@tileMargin: 2px;
这在我的 mixins.less 中:
.tile(@xDim, @yDim, @color){
display: inline-block;
margin: @tileMargin;
width: @xDim * @unit + 2 * (@xDim - 1) * @tileMargin;
height: @yDim * @unit + 2 * (@yDim - 1) * @tileMargin;
.gradient-bottom-right(@color);
}
.tile-container(@width, @height){
margin: 0;
padding: 0;
height: @height * @unit + 2 * (@height - 1) * @tileMargin + 2 * @tileMargin;
width: @width * @unit + 2 * (@width - 1) * @tileMargin + 2 * @tileMargin;
}
为了保证单位正方形的倍数保持适当的大小,尽管元素边距。但是,当我实际使用两个 5x5 瓷砖和一个 10x5 瓷砖进行测试时,我的瓷砖之间的间距很奇怪。
错误示例(为清楚起见,我在容器上添加了边框):
如果我删除 inline-block 语句,图块之间的间距将正确,但与父 div 的关系不再正确(脱离父级),自然不再希望彼此相邻。如何消除这种烦人的间距?我想不惜一切代价避免浮动。
编辑:刚刚确认在 Firefox 中也出现了同样的问题。