2026-11-05 11:36:05 +00:00

54 lines
24 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>布局原理 | tmagic-editor</title>
<meta name="description" content="页面可视化平台">
<meta name="generator" content="VitePress v2.0.0-alpha.20">
<link rel="preload stylesheet" href="/tmagic-editor/docs/assets/style.BJ2NNEpv.css" as="style">
<link rel="preload stylesheet" href="/tmagic-editor/docs/assets/vp-icons.139f4833.css" as="style">
<script type="module" src="/tmagic-editor/docs/assets/chunks/metadata.dcccadd9.js"></script>
<script type="module" src="/tmagic-editor/docs/assets/app.CPR846ZD.js"></script>
<link rel="preload" href="/tmagic-editor/docs/assets/inter-roman-latin.q5rAVC0E.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/framework.xVFRZL1t.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/chunks/theme.Cnor0NYZ.js">
<link rel="modulepreload" href="/tmagic-editor/docs/assets/guide_advanced_layout.md.JUG4h1AD.lean.js">
<meta name="theme-color" content="#646cff">
<script id="check-dark-mode">(()=>{let e=localStorage.getItem(`vitepress-theme-appearance`)||`auto`,t=window.matchMedia(`(prefers-color-scheme: dark)`).matches;(!e||e===`auto`?t:e===`dark`)&&document.documentElement.classList.add(`dark`)})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle(`mac`,/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-30dd6aed><!--[--><!--]--><!--[--><span tabindex="-1" data-v-a433cfaa></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-a433cfaa>Skip to content</a><!--]--><!----><header class="VPNav" data-v-30dd6aed data-v-07bd5c5d><div class="VPNavBar has-sidebar top" data-v-07bd5c5d data-v-21941f7c><div class="wrapper" data-v-21941f7c><div class="container" data-v-21941f7c><div class="title" data-v-21941f7c><div class="VPNavBarTitle has-sidebar" data-v-21941f7c data-v-897088ca><a class="title" href="/tmagic-editor/docs/" title="tmagic-editor" data-v-897088ca><!--[--><!--]--><!--[--><img class="VPImage logo" src="./favicon.png" alt data-v-38e748df><!--]--><span data-v-897088ca>tmagic-editor</span><!--[--><!--]--></a></div></div><div class="content" data-v-21941f7c><div class="content-body" data-v-21941f7c><!--[--><!--]--><div class="VPNavBarSearch search" data-v-21941f7c data-v-f5079369><!--[--><button type="button" class="VPNavBarSearchButton" aria-label="Search" aria-keyshortcuts="/ control+k meta+k" data-v-f5079369 data-v-83aac609><span class="vpi-search" aria-hidden="true" data-v-83aac609></span><span class="text" data-v-83aac609>Search</span><span class="keys" aria-hidden="true" data-v-83aac609><kbd class="key-mod" data-v-83aac609></kbd><kbd class="key-k" data-v-83aac609></kbd></span></button><!----><!--]--></div><nav aria-label="Main Navigation" class="VPNavMenu VPNavBarMenu menu" data-v-21941f7c data-v-4ba09fef><ul class="list" data-v-4ba09fef><!--[--><li class="" data-v-4ba09fef><a class="VPLink link VPNavMenuLink VPNavBarMenuLink active" href="/tmagic-editor/docs/guide/" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>文档</span><!--]--></a></li><li class="" data-v-4ba09fef><a class="VPLink link VPNavMenuLink VPNavBarMenuLink" href="/tmagic-editor/docs/api/editor/props.html" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>Editor API</span><!--]--></a></li><li class="" data-v-4ba09fef><a class="VPLink link VPNavMenuLink VPNavBarMenuLink" href="/tmagic-editor/docs/runtime-api/core/app.html" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>Runtime API</span><!--]--></a></li><li class="" data-v-4ba09fef><a class="VPLink link VPNavMenuLink VPNavBarMenuLink" href="/tmagic-editor/docs/form-config/fields/text.html" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>表单配置</span><!--]--></a></li><li class="" data-v-4ba09fef><a class="VPLink link vp-external-link-icon VPNavMenuLink VPNavBarMenuLink" href="https://github.com/Tencent/tmagic-editor/releases" target="_blank" rel="noreferrer" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>更新日志</span><!--]--></a></li><li class="" data-v-4ba09fef><a class="VPLink link vp-external-link-icon VPNavMenuLink VPNavBarMenuLink" href="https://tencent.github.io/tmagic-editor/playground/index.html" target="_blank" rel="noreferrer" data-v-4ba09fef data-v-7e03ec29><!--[--><span data-v-7e03ec29>Playground</span><!--]--></a></li><!--]--></ul></nav><!----><div class="VPNavAppearance VPNavBarAppearance appearance" data-v-21941f7c data-v-f5ba90e0><!----><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-label="Appearance" aria-checked="false" data-v-f5ba90e0 data-v-dd1ff0a1 data-v-cbe52c7c><span class="check" data-v-cbe52c7c><span class="icon" data-v-cbe52c7c><!--[--><span class="vpi-sun sun" aria-hidden="true" data-v-dd1ff0a1></span><span class="vpi-moon moon" aria-hidden="true" data-v-dd1ff0a1></span><!--]--></span></span></button></div><ul class="VPSocialLinks VPNavSocialLinks VPNavBarSocialLinks social-links" data-v-21941f7c data-v-552b8346 data-v-677dc98a><!--[--><li data-v-677dc98a><a class="VPSocialLink no-icon" href="https://github.com/Tencent/tmagic-editor" aria-label="github" target="_blank" rel="me noopener" data-v-677dc98a data-v-9979aee9><span class="vpi-simple-icons-github" data-v-9979aee9 data-v-8056d6c9></span></a></li><!--]--></ul><!----><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="Menu" aria-expanded="false" data-v-21941f7c data-v-5bed391b><span class="container" aria-hidden="true" data-v-5bed391b><span class="top" data-v-5bed391b></span><span class="middle" data-v-5bed391b></span><span class="bottom" data-v-5bed391b></span></span></button></div></div></div></div><div class="divider" data-v-21941f7c><div class="divider-line" data-v-21941f7c></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-30dd6aed data-v-194cf01f><div class="container" data-v-194cf01f><button type="button" class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-194cf01f><span class="vpi-align-left menu-icon" aria-hidden="true" data-v-194cf01f></span><span class="menu-text" data-v-194cf01f>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-allow-mismatch="style" data-v-194cf01f data-v-5b4c2295><button type="button" data-v-5b4c2295>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-30dd6aed data-v-86dd7c4e><div class="curtain" data-v-86dd7c4e></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-86dd7c4e><span class="visually-hidden" id="sidebar-aria-label" data-v-86dd7c4e> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-e9f7a9fe><section class="VPSidebarItem level-0" data-v-e9f7a9fe data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><h2 class="text" data-v-83833344>文档</h2><!----></div><ul class="items" data-v-83833344><li data-v-83833344><!--[--><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/introduction.html" data-v-83833344><!--[--><p class="text" data-v-83833344>介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/" data-v-83833344><!--[--><p class="text" data-v-83833344>快速开始</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/runtime.html" data-v-83833344><!--[--><p class="text" data-v-83833344>RUNTIME</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/component.html" data-v-83833344><!--[--><p class="text" data-v-83833344>组件开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/conception.html" data-v-83833344><!--[--><p class="text" data-v-83833344>基础概念</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/publish.html" data-v-83833344><!--[--><p class="text" data-v-83833344>页面发布</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/editor-expand.html" data-v-83833344><!--[--><p class="text" data-v-83833344>编辑器扩展</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/migration.html" data-v-83833344><!--[--><p class="text" data-v-83833344>升级到1.5.x</p><!--]--></a><!----></div><!----></div><!--]--></li></ul></section></div><div class="no-transition group" data-v-e9f7a9fe><section class="VPSidebarItem level-0 has-active" data-v-e9f7a9fe data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><h2 class="text" data-v-83833344>进阶指南</h2><!----></div><ul class="items" data-v-83833344><li data-v-83833344><!--[--><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/js-schema.html" data-v-83833344><!--[--><p class="text" data-v-83833344>JS Schema</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link is-active has-active" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/layout.html" aria-current="page" data-v-83833344><!--[--><p class="text" data-v-83833344>布局原理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/page.html" data-v-83833344><!--[--><p class="text" data-v-83833344>页面渲染</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/coupling.html" data-v-83833344><!--[--><p class="text" data-v-83833344>联动原理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/code-block.html" data-v-83833344><!--[--><p class="text" data-v-83833344>代码块</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/data-source.html" data-v-83833344><!--[--><p class="text" data-v-83833344>数据源</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/history-list.html" data-v-83833344><!--[--><p class="text" data-v-83833344>历史记录面板</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/tmagic-form.html" data-v-83833344><!--[--><p class="text" data-v-83833344>@tmagic/form</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/advanced/prop-form-validate.html" data-v-83833344><!--[--><p class="text" data-v-83833344>属性配置表单校验联动</p><!--]--></a><!----></div><!----></div><!--]--></li></ul></section></div><div class="no-transition group" data-v-e9f7a9fe><section class="VPSidebarItem level-0" data-v-e9f7a9fe data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><h2 class="text" data-v-83833344>教程</h2><!----></div><ul class="items" data-v-83833344><li data-v-83833344><!--[--><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/" data-v-83833344><!--[--><p class="text" data-v-83833344>写在前面</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/hello-world.html" data-v-83833344><!--[--><p class="text" data-v-83833344>1.Hello World</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/runtime.html" data-v-83833344><!--[--><p class="text" data-v-83833344>2.Runtime</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-83833344><div class="item" data-v-83833344><div class="indicator" data-v-83833344></div><a class="VPLink link link" href="/tmagic-editor/docs/guide/tutorial/render.html" data-v-83833344><!--[--><p class="text" data-v-83833344>3.DSL解析渲染</p><!--]--></a><!----></div><!----></div><!--]--></li></ul></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-30dd6aed data-v-67626bf1><div class="VPDoc has-sidebar has-aside" data-v-67626bf1 data-v-d7746812><!--[--><!--]--><div class="container" data-v-d7746812><div class="aside" data-v-d7746812><div class="aside-curtain" data-v-d7746812></div><div class="aside-container" data-v-d7746812><div class="aside-content" data-v-d7746812><div class="VPDocAside" data-v-d7746812 data-v-c57c5106><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c57c5106 data-v-44783068><div class="content" data-v-44783068><div class="outline-marker" data-v-44783068></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-44783068>On this page</div><ul class="VPDocOutlineItem root" data-v-44783068 data-v-78fca9da><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c57c5106></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-d7746812><div class="content-container" data-v-d7746812><!--[--><!--]--><main class="main" data-v-d7746812><div style="position:relative;" class="vp-doc _tmagic-editor_docs_guide_advanced_layout" data-v-d7746812><div><h1 id="布局原理" tabindex="-1">布局原理 <a class="header-anchor" href="#布局原理" aria-label="Permalink to “布局原理”">​</a></h1><p>tmagic-editor的布局实现方式,<strong>关键在于将布局配置指定在容器上,对容器内的所有子组件生效</strong>,这是tmagic-editor页面可以支持各种布局方式混合使用的核心方法。</p><h2 id="容器" tabindex="-1">容器 <a class="header-anchor" href="#容器" aria-label="Permalink to “容器”">​</a></h2><p>前面概念介绍中有提到,tmagic-editor的容器是组件的基础。组件必属于某个容器,容器下可以放组件,也可以放容器。页面本身就是一个容器,是所有容器和组件的根,整个页面的容器和组件组成一个树状结构。在 DSL 配置中,表现为:</p><div class="language-javascript"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">123456</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;page&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> items: [{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">222222</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;comp-A&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }, {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">333333</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;comp-B&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}]</span></span></code></pre></div><h2 id="顺序-绝对定位" tabindex="-1">顺序/绝对定位 <a class="header-anchor" href="#顺序-绝对定位" aria-label="Permalink to “顺序/绝对定位”">​</a></h2><p>组件是绝对或者顺序定位,体现在组件的<strong>直属父级容器</strong>上,比如我们将 page 设置为绝对定位,则它的子组件,全都为绝对定位。在 DSL 配置中,表现为:</p><div class="language-javascript"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">123456</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;page&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> layout: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;absolute&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> items: [{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">222222</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;comp-A&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> style: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> position: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;absolute&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }, {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">333333</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;comp-B&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> style: {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> position: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;absolute&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}]</span></span></code></pre></div><p>所以,我们对绝对/顺序排布的配置描述 layout,是存在于容器上的。</p><h2 id="混合布局" tabindex="-1">混合布局 <a class="header-anchor" href="#混合布局" aria-label="Permalink to “混合布局”">​</a></h2><p>因为tmagic-editor的布局配置,是指定在容器上的,所以tmagic-editor的设计方式,就可以支持在页面中实现各种混合布局的嵌套。</p><img src="https://image.video.qpic.cn/oa_88b7d-37_1417201939_1636341538475155?imageView2/q/70"></div></div></main><footer class="VPDocFooter" data-v-d7746812 data-v-5edf9672><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5edf9672><span class="visually-hidden" id="doc-footer-aria-label" data-v-5edf9672>Pager</span><div class="pager" data-v-5edf9672><a class="VPLink link pager-link prev" href="/tmagic-editor/docs/guide/advanced/js-schema.html" data-v-5edf9672><!--[--><span class="desc" data-v-5edf9672>Previous page</span><span class="title" data-v-5edf9672>JS Schema</span><!--]--></a></div><div class="pager" data-v-5edf9672><a class="VPLink link pager-link next" href="/tmagic-editor/docs/guide/advanced/page.html" data-v-5edf9672><!--[--><span class="desc" data-v-5edf9672>Next page</span><span class="title" data-v-5edf9672>页面渲染</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-30dd6aed data-v-58cefbd9><div class="container" data-v-58cefbd9><p class="message" data-v-58cefbd9>Powered by 腾讯视频会员平台技术中心</p><p class="copyright" data-v-58cefbd9>Copyright (C) 2025 Tencent.</p></div></footer><!--[--><!--]--></div></div>
</body>
</html>