.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

/* 懒加载样式 */
.lazy-img {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  position: relative;
}

.lazy-img-mask {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    rgba(190, 190, 190, 0.2) 0%,
    rgba(230, 230, 230, 0.3) 20%,
    rgba(190, 190, 190, 0.2) 40%
  );
  background-size: 200% 100%;
  animation: moveGradient 0.8s linear infinite;
  z-index: 10;
}

.lazy-img-mask.hidden {
  display: none;
}

.lazy-img.loaded {
  opacity: 1;
}

/* 图片悬停效果 */
.lazy-img.loaded:hover {
  transform: scale(1.02);
  transition: transform 0.3s ease-in-out;
}

@keyframes moveGradient {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

.lazy-img-box {
  line-height: 0; /* 消除图片间隙 */
}

.td-span-static table td {
  position: relative;
}
.td-span-static table td > span:first-child.lazy-img-box,
td > p:first-child > span:first-child.lazy-img-box {
  position: static !important; /* td元素的loading充满 */
}
