> For the complete documentation index, see [llms.txt](https://helps.ptengine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helps.ptengine.com/cn/faq/experience-edit/rearrange-bug.md).

# 内容移动功能故障对策

用页面编辑挪动内容之后，**样式乱了**，或者**原本能点能展开的东西不动了**。这两类问题成因是同一个：移动破坏了元素原本所处的上下文。

***

## 两条规则记住就够 <a href="#two-rules" id="two-rules"></a>

| 症状      | 规则                          |
| ------- | --------------------------- |
| 移动后样式乱  | **只在同一套样式规则的范围内移动**         |
| 移动后交互失效 | **把相关内容整体一起移动**，保持它们之间的相对位置 |

下面解释为什么，以及怎么判断“同一套样式规则”“相关内容”到底指什么。

***

## 样式为什么会乱 <a href="#why-does-content-style-break-after-moving" id="why-does-content-style-break-after-moving"></a>

网页的样式**很多是按位置写的**，不是按元素本身写的。比如“卡片区里的标题用 20px 加粗”“页脚里的链接是灰色”——这些规则生效的前提是元素待在原来那个容器里。

一旦把元素挪到别的容器，原来的规则够不着它了，新容器的规则又套到它头上，于是样式就变了。

### 安全的移动 vs 危险的移动 <a href="#safe-vs-risky-moves" id="safe-vs-risky-moves"></a>

|           | 例子                          | 结果                          |
| --------- | --------------------------- | --------------------------- |
| ✅ 安全      | 一个“三大卖点”区块里，把三张卡片**互相调换顺序** | 三张卡本来就共用同一套规则，怎么换都不会乱       |
| ❌ 危险      | 把页面下方某段文字**搬进**“三大卖点”区块里    | 这段文字没有卡片的样式，搬进去会跟旁边两张卡长得不一样 |
| ✅ 推荐的替代做法 | 把**整个“三大卖点”区块**移到页面下方那段文字之前 | 每块内容都还在自己的容器里，样式规则一个没变      |

**判断方法**：想挪的东西，挪过去之后它的“邻居”还是原来那批吗？是，就安全；不是，就要当心。

***

## 交互为什么会失效 <a href="#why-do-dynamic-elements-lose-interactivity-after-moving" id="why-do-dynamic-elements-lose-interactivity-after-moving"></a>

折叠面板、标签页、轮播、下拉菜单这类**动态元素**，靠的是“按钮”和“被控制的内容”之间的位置关系。页面上的脚本常常是按“找我的下一个兄弟节点”“找我父容器里的那一块”这种方式定位的。

把按钮挪走、内容留下（或反过来），这层关系就断了，点下去不再有反应。

### 安全的移动 vs 危险的移动 <a href="#safe-vs-risky-moves-interactive" id="safe-vs-risky-moves-interactive"></a>

|      | 例子                               | 结果                   |
| ---- | -------------------------------- | -------------------- |
| ❌ 危险 | 只把折叠面板的**标题行**挪到页面另一处，展开后的内容留在原地 | 点标题没反应——脚本找不到要展开的那块了 |
| ✅ 安全 | 把**标题行加展开内容整块一起**挪过去             | 内部相对位置没变，照常工作        |

**判断方法**：选中要移动的范围时，问自己“这个东西点下去会影响谁？”——把它和受影响的部分**一起**选进来再移动。

***

## 做完之后怎么确认 <a href="#verify" id="verify"></a>

移动类改动**光看编辑器里的效果不够**，一定要[预览](/cn/experience/campaign/preview.md)一遍，并且：

* 在 PC 和手机上各看一次——样式错乱常常只在某一种宽度下暴露
* **把挪动过的交互元素逐个点一遍**，折叠、切换、轮播都试试
* 还是不对 → 用 [HTML 编辑](/cn/experience/campaign/create-new/notes-html.md) 直接改结构，或改用[代码模式](/cn/experience/campaign/code-mode.md)

***

## 相关页面 <a href="#related-pages" id="related-pages"></a>

* [编辑器的使用方法](/cn/experience/campaign/create-new/editor-usage.md)
* [HTML 编辑](/cn/experience/campaign/create-new/notes-html.md) — 交互失效时怎么用 HTML 修
* [代码模式的使用方法](/cn/experience/campaign/code-mode.md)
* [体验预览](/cn/experience/campaign/preview.md) — 改完一定要预览确认
