Files
orico-official-website/public/static/index/pc/css/topic_laptop/jk.css
liqian ba79dc6178
All checks were successful
Gitea Actions Official-website / deploy-dev (push) Successful in 2s
笔记本
2025-12-12 17:45:49 +08:00

110 lines
2.9 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

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.

/* 图片容器100vw宽最小宽度1440px按图片原始比例2560:1857定高 */
.zoom-container {
width: 100%;
min-width: 1440px;
overflow: hidden;
position: relative;
/* 固定比例:高度 = 宽度 * 1857/2560确保图片不裁切 */
aspect-ratio: 2560 / 1857;
height: auto; /* 替代原max计算用aspect-ratio保证比例 */
}
/* 图片包裹层:与容器同尺寸,定位参考系,承接缩放变换 */
.img-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
/* 图片:按原始比例填充包裹层,不裁切,初始放大+过渡动画 */
.bg-img {
width: 100%;
height: 100%;
object-fit: contain; /* 改为contain确保图片完整显示不裁切 */
display: block;
transform: scale(1.5);
transition: transform 1.8s ease;
transform-origin: center center;
}
/* 图片缩小后的状态 */
.bg-img.zoom-out {
transform: scale(1);
}
/* 标注样式:关键修正 - 基于容器绝对定位,百分比参考图片原始比例 */
.annotation {
position: absolute;
color: #48494D;
font-size: calc(12px + 0.3vw);
opacity: 0;
transform: translateY(calc(10px + 0.5vw));
transition: opacity 0.8s ease, transform 0.8s ease;
pointer-events: none;
z-index: 10;
white-space: nowrap;
/* 关键:标注的定位参考系是容器(与图片同比例),而非缩放后的图片 */
top: 0;
left: 0;
/* 重置默认值依赖内联style的百分比定位 */
}
/* 标注显示状态 */
.annotation.anno-show {
opacity: 1;
transform: translateY(0);
}
.annotation span {
position: relative;
display: inline-block;
/* 确保文字居中对齐 */
text-align: center;
}
/* 标注线条样式:基于文字定位,适配缩放 */
.annotation span::before {
content: '';
position: absolute;
left: 50%;
transform: translateX(-50%);
width: 1px;
height: 0;
bottom: calc(100% + 6px);
background-color: #48494D;
transition: height 0.8s ease;
transform-origin: bottom center;
}
/* 标注显示时,设置线条最终高度 */
.annotation.anno-show span::before {
height:clamp(50px,3vw,0.6rem);
/* 最终高度vw单位 */
}
/* 响应式适配1280px以下固定尺寸 */
@media (max-width: 1280px) {
.zoom-container {
min-width: 1280px; /* 最小宽度适配 */
}
.annotation span::before {
bottom: calc(100% + 6px);
}
.annotation.anno-show span::before {
height: 38px; /* 固定高度 */
}
.annotation {
font-size: 14px; /* 固定字体大小,避免过小 */
}
}
/* 标注延迟类 */
.anno-delay-1 {
transition-delay: 0.8s;
}
.anno-delay-1 span::before {
transition-delay: 0.8s;
}