Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 固定位置比Susy的相对位置占用更多空间?_Css_Css Position_Susy Compass - Fatal编程技术网

Css 固定位置比Susy的相对位置占用更多空间?

Css 固定位置比Susy的相对位置占用更多空间?,css,css-position,susy-compass,Css,Css Position,Susy Compass,嘿,伙计们,我在苏西的固定位置有一些问题,我希望有人能帮我解决我的问题 当我将位置从“静态”(使用跨度列时的默认选项)切换到“固定”时,具有固定位置的块超出了我给定的宽度。是否有方法确保固定定位柱与静态柱保持相同的尺寸?(问题在右侧,左侧出血是故意的) 这里有一个图片链接,可以更好地显示我的要求 这是我当前布局文件中的内容: 侧边栏主要是红色框,而侧边栏次要是橙色框 .sidebar-primary { @include span-columns ( 4, 16 ); text

嘿,伙计们,我在苏西的固定位置有一些问题,我希望有人能帮我解决我的问题

当我将位置从“静态”(使用跨度列时的默认选项)切换到“固定”时,具有固定位置的块超出了我给定的宽度。是否有方法确保固定定位柱与静态柱保持相同的尺寸?(问题在右侧,左侧出血是故意的)

这里有一个图片链接,可以更好地显示我的要求

这是我当前布局文件中的内容: 侧边栏主要是红色框,而侧边栏次要是橙色框

.sidebar-primary {
    @include span-columns ( 4, 16 );
    text-align: right;
    background:red;
}

.sidebar-secondary {
    @include at-breakpoint($large) {
        @include span-columns ( 4, 16 );

        @include bleed ( 1 of 16, left );
        text-align: right;
        background: orange;
        position: fixed;
        // height: 100%;
    }
}

谢谢

相对宽度是根据其定位上下文计算的<代码>静态和
相对
定位元素始终位于其父元素的上下文中。相反,
绝对
宽度是相对于下一个非静态祖先计算的,而
固定
宽度是相对于浏览器窗口(或“视口”)

Susy的工作原理是计算相对于容器的宽度,而这对于从预期流中移除的固定元素不起作用。如果您可以处理额外的标记,那么有一个巧妙的解决方法。您需要做的是创建一个固定的上下文,然后为Susy创建一个
容器
,然后在该固定容器内执行
span列

// fixed context
.fixed-context {
  position: fixed;
  left: 0;
  right: 0;

  // container
  .container {
    @include container;

    // span-columns
    .sidebar {
      @include span-columns(4);
    }
  }
}

如果你有一个固定位置的容器在里面工作,它里面的柱跨度会落回原位。

工作得很好!谢谢你,埃里克!我只想对这个答案补充一点。我发现fixed content div覆盖了右侧(未显示)的常规内容,但在内容中添加position:relative和z-index:20允许人们再次单击它。