直接粘贴官方嵌入代码,在窄屏上常出现缩略图只露一半、播放器底部被切掉的情况。原因是嵌入片段自带的 width 与 height 是固定像素值,容器变窄后高度不跟着变。

容器写法
<div class="video">
<iframe src="https://www.tiktok.com/embed/v2/xxxx"
loading="lazy" allow="fullscreen"></iframe>
</div>
.video {
position: relative;
aspect-ratio: 9 / 16;
max-width: 340px;
margin-inline: auto;
}
.video iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
}
高度由宽高比推导,容器缩窄时高度同步下降,画面完整。竖屏视频用 9/16,横屏内容改成 16/9。
覆盖官方样式
嵌入片段自带内联尺寸,CSS 里用同样的选择器加更高优先级覆盖,或直接去掉片段上的 width 与 height 属性,只保留 src 与 allow。两类做法选其一,不要并存,避免优先级打架。
两个限制
- 跨域 iframe 无法用脚本控制播放。自动播放、静音、进度控制都不受控,行为由播放器内部决定。
- 加载时机有限。给 iframe 加
loading="lazy"推迟加载,首屏之外的视频不必提前拉取。
响应式收口
- 限制最大宽度并居中,避免竖屏视频在大屏上被拉得过长;
- 容器留白由外层间距控制,不用给 iframe 加 margin;
- 多个视频并列时用网格布局,列宽由断点决定,每个单元各自维持宽高比。
