getContainingBlockRenderBox method
Implementation
RenderBox? getContainingBlockRenderBox() {
RenderBox? containingBlockRenderBox;
CSSPositionType positionType = renderStyle.position;
switch (positionType) {
case CSSPositionType.relative:
case CSSPositionType.static:
case CSSPositionType.sticky:
containingBlockRenderBox = parentNode!.renderer;
break;
case CSSPositionType.absolute:
Element viewportElement = ownerDocument.documentElement!;
if (ownerView.activeRouterRoot != null) {
viewportElement = (ownerView.activeRouterRoot!.firstChild as RenderBoxModel).renderStyle.target;
}
containingBlockRenderBox = _findContainingBlock(this, viewportElement)?._renderLayoutBox;
break;
case CSSPositionType.fixed:
Element viewportElement = ownerDocument.documentElement!;
if (ownerView.activeRouterRoot != null) {
viewportElement = (ownerView.activeRouterRoot!.firstChild as RenderBoxModel).renderStyle.target;
}
containingBlockRenderBox = viewportElement.renderer;
break;
}
return containingBlockRenderBox;
}