首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Compass susy柱没有边沟?

Compass susy柱没有边沟?
EN

Stack Overflow用户
提问于 2012-10-21 03:34:58
回答 2查看 6K关注 0票数 2

我有一个完美工作的网格,除了我想让导航中的列彼此对接。这是桌面上的24列魔术网格,每个导航项目都是4/24。如果我尝试负边距,它们不再覆盖导航栏的整个宽度,它们滑向左侧并留下一个洞(最后一项是omega)。这可以使用列来完成吗,或者我只需要在没有列的情况下使用导航栏?在这个屏幕截图中,我将它们全部涂成灰色,以使其变得明显:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 23:19:37

Eric Meyer太棒了,他现在加入了一些东西来帮助你解决这个问题,史蒂夫-看看最新版本的Susy中的bleed

我相信这会帮助你解决你的问题。它允许您执行以下操作:

代码语言:javascript
运行
复制
.nav-item {
  ...
  @include bleed(1 of 4);
}

通读the update to susy with isolate & bleed

希望这能有所帮助!并感谢Eric在Susy上做了如此出色的工作:)

票数 1
EN

Stack Overflow用户

发布于 2012-10-21 04:34:33

如果你不需要水槽,你也不需要Susy的帮助--数学很简单:

代码语言:javascript
运行
复制
.nav-item {
  float: left;
  width: percentage(4/24);
}

仅此而已,但正如您所注意到的,由于亚像素舍入,在某些浏览器中会留下额外的空间。除了学习如何围绕它进行设计之外,亚像素舍入没有简单的解决方案。Susy将最后一列向右浮动,因为它更容易隐藏内部空间而不是边缘。

你的other option有点老生常谈,让你离得更近(但不是全部)。通过左对齐拉出所有列,您可以将它们推回原位,而不会让舍入误差累积。这样你就永远不会有超过1px的差距:

代码语言:javascript
运行
复制
.nav-item {
  float: left;
  width: percentage(4/24);

  // pull things flush left
  margin-right: -100%;

  // push things back into place
  @for $i from 1 through 6 {
    &:nth-child(#{$i}) { margin-left: percentage(($i - 1)*4/24); }
  }
}

当然,如果您支持较旧的浏览器,则可以使用类来代替:nth-child。如果你正在做任何类型的响应式设计,这是你能做的最好的。在响应式设计中,无法完全避免亚像素舍入。我强烈建议学习围绕这一点进行设计。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12991944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档