一组优美草原歌曲欣赏
本帖最后由 llz123 于 2026-2-23 19:16 编辑 <br /><br /><style>/* 外层容器:必须设置固定宽度,通过 transform 实现水平居中 */
#iframeContainer {
width: 1400px; /* 与 iframe 宽度一致 */
margin: 120px 0; /* 上下边距(可根据需要调整) */
transform: translateX(var(--offsetX, 0px));
/* 以下样式可选,用于视觉调试,正式使用时可移除背景和边框 */
background: transparent;
border: none;
}
iframe {
width: 100%;
height: 800px;
border: none;
display: block; /* 消除 iframe 底部的额外间隙 */
}
</style>
<!-- 外层容器:包裹 iframe,用于居中 -->
<div id="iframeContainer">
<iframe src="https://www.llz123.net/llz/llz/mulu/caoyuan/" frameborder="0" scrolling="no"></iframe>
</div>
<script>
(function() {
// ----- 核心居中函数(基于原始位置计算)-----
function centerContainer() {
var el = document.getElementById('iframeContainer');
if (!el) return;
// 检查元素是否已渲染(宽度 > 0),否则延迟重试
if (el.offsetWidth === 0) {
setTimeout(centerContainer, 50);
return;
}
// 获取当前 transform 偏移量(--offsetX)
var curOffset = parseFloat(getComputedStyle(el).getPropertyValue('--offsetX')) || 0;
// 元素当前实际位置(包含 transform 偏移)
var rect = el.getBoundingClientRect();
// 计算原始左边缘位置(未偏移前的位置)
var originalLeft = rect.left - curOffset;
// 目标中心 = 窗口宽度的一半
var targetCenter = window.innerWidth / 2;
// 元素宽度
var width = el.offsetWidth;
// 计算新偏移量:让元素中心对齐窗口中心
var newOffset = targetCenter - (originalLeft + width / 2);
// 微调(可选,根据你的需要保留或去掉)
// newOffset -= 10;
// 如果变化明显,则更新样式
if (Math.abs(newOffset - curOffset) > 1) {
el.style.setProperty('--offsetX', newOffset + 'px');
}
// ----- ResizeObserver:监听容器自身尺寸变化(如图片加载后高度变化)-----
if (!window.__resizeObserver) {
window.__resizeObserver = new ResizeObserver(function() {
centerContainer();
});
}
// 确保 observer 监听的是当前元素
if (window.__resizeObserver.__target !== el) {
if (window.__resizeObserver.__target) {
window.__resizeObserver.unobserve(window.__resizeObserver.__target);
}
window.__resizeObserver.observe(el);
window.__resizeObserver.__target = el;
}
}
// ----- 全局事件绑定(只执行一次)-----
if (!window.__iframeEventsBound) {
window.__iframeEventsBound = true;
window.addEventListener('resize', centerContainer);
if (document.readyState === 'complete') {
centerContainer();
} else {
window.addEventListener('load', centerContainer);
}
}
// ----- 立即执行一次居中(带重试)-----
centerContainer();
})();
</script>
<div style="height:50px"></div> 春节有点空闲,捣鼓了一个嵌套页面自动居中代码,已在多个论坛测试,效果还行,大多数论坛应该可以通用,相关代码均保留了注释说明,如果发空间帖可以直接复制套用,不用再费神去设置div定位。直接原始码发论坛的居中代码也测试成功,过几天发上来。 欣赏学习老师精彩播放器! 祝老师玩得开心! llz123 发表于 2026-2-23 19:23
春节有点空闲,捣鼓了一个嵌套页面自动居中代码,已在多个论坛测试,效果还行,大多数论坛应该可以通用,相 ...
谢谢老师分享优美草原歌曲,祝贺老师的居中代码测试成功 感谢分享,观点独特新颖 支持分享,文章十分出众 支持佳作,风格独具一格 感谢分享,引发深入探讨 前来支持~~~~~~~~~~~~~~~~~~~
页:
[1]
2