<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#containing-block-details">
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#anonymous-block-level">
<style>
  body { margin: 0px;}
  .rel { position:relative; }
  .inline-block { display:inline-block; width:100px; height:1px; }
  .inline-block.large { width:200px; }
  #target { position:absolute; width:100%; height:100px; background:green; }
  #target-fixed { position:fixed; width:100%; height:100px; background:yellow; }
</style>
<p>There should be a green square, and a yellow rectangle below.</p>
<div style="height:200px;">
  <span class="rel" id="notContainingBlockOfTarget">
    <div class="large inline-block"></div>
    <br>
    <span id="containingBlockOfTarget" class="rel">
      <div class="inline-block"></div>
      <span>
        <div>
          <div id="target-fixed"></div>
          <div id="target"></div>
        </div>
      </span>
      <div class="inline-block"></div></span><br>
    <div class="large inline-block"></div>
  </span>
</div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  test(()=> {
    assert_equals(document.getElementById("target").offsetWidth,
      document.querySelector("#containingBlockOfTarget").offsetWidth);
  }, "position:absolute should be sized by the right ancestor");
  test(()=> {
    assert_equals(document.getElementById("target-fixed").offsetWidth,
      document.body.offsetWidth);
  }, "position:fixed should be sized by the right ancestor");
</script>
