<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
  -->
<html lang="ja">
<meta charset="utf-8">
<title>CSS Ruby Test: DIV append in 'display:ruby/block ruby'.</title>
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
<link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
<link rel="help" href="https://drafts.csswg.org/css-display-3/#inlinify">
<link rel="match" href="block-ruby-005-ref.html">
<style>
html,body {
  color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
}

rbb, ruby { background:lightblue; text-overflow:ellipses; overflow:hidden; width:3em; }
ruby { display: ruby; }
rbb { display: block ruby; }
grid { display: grid; }
.mbp {
  margin: 1px 3px 5px 7px;
  padding: 3px 5px 7px 1px;
  border-width: 3px 1px 7px 5px;
  border-style: solid;
}
rbc {
  display: ruby-base-container;
  unicode-bidi: isolate;
  font-size: 200%;
}
rtc {
  display: ruby-text-container;
  unicode-bidi: isolate;
  ruby-position: under;
}
</style>

<div>zzzzzzzzzzzz</div>
<ruby class=mbp>X</ruby>
<grid>A<ruby class=mbp></ruby>B</grid>
<grid>A<ruby class=mbp>X</ruby>B</grid>
<grid>A<ruby>X</ruby><ruby><rbc></rbc></ruby>B</grid>
<grid>A<ruby></ruby><ruby><rbc>X</rbc></ruby>B</grid>
<ruby><rt><rbb>X</rbb></rt></ruby>
<ruby><rbc><rbb>X</rbb></rbc></ruby>
<ruby><rtc><rbb>X</rbb></rtc></ruby>
<rbb class=mbp></rbb>
<rbb class=mbp>X</rbb>
<rbb class=mbp><rt>X</rt></rbb>
<rbb class=mbp><rb>X</rb></rbb>

<script>
document.body.getClientRects();
let div = document.querySelector('div');
let ruby = Array.prototype.slice.call(document.querySelectorAll('ruby,rbb'));
ruby.forEach(function(e){ let n = div.cloneNode(true); e.appendChild(n); e.offsetHeight;});
</script>

</html>
