从绝对位置到页面宽度的矩形

Rectangle from absolute position to page width

具体地说:我想在一个高度为 100px 的网站上绘制一个矩形,比如说,它的左端在 100px 处,然后延伸到网站的右侧(不使页面宽度变大) ).

我试图通过一个宽度为 200px 的 svg 元素来做到这一点,比如说,它包含一个 5000 的矩形,但我不知道如何使父 svg 元素不裁剪矩形:

<svg width="200" height="100" viewBox="0 0 200 100"><rect x="100" y="0" width="5000" height="100" style="fill:rgb(255,0,0)"></svg>

另一种可能性是,如果我可以有类似 width="100%-100px" 的内容

请注意,这不是我想要的,因为左端会因页面宽度而异:

<svg width="100%" height="100" viewBox="0 0 200 100" preserveAspecRatio="none"><rect x="100" y="0" width="5000" height="100" style="fill:rgb(255,0,0)"></svg>

当然可以通过多种方式动态地做到这一点(例如使用 Java 脚本),但我正在寻找静态解决方案。

编辑:具体问题由下面的 Paulie_D 和 maioman 解决(通过 "alternative possibility")。我仍然会对以下内容感兴趣:

抽象地说:我怎样才能让内容超出其边界框?

您可以将宽度 属性 设置为如下值:

  width: calc( 100% - 100px )

最明显的方法是绝对定位 div 并使用 calc 设置宽度。

div {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 100px);
  height: 100px;
  background: red;
}
<div></div>

注意...可能存在其他选项,具体取决于您要求的实际性质。