一、菱形图片布局的基本原理

二、实现菱形图片布局的步骤

1. 准备工作

<div class="diamond-container">
  <img src="path/to/image.jpg" alt="Diamond Image">
</div>

2. 设置容器样式

div容器添加以下CSS样式:

.diamond-container {
  position: relative;
  width: 300px; /* 根据图片大小调整 */
  height: 300px; /* 根据图片大小调整 */
  overflow: hidden;
}

3. 设置图片样式

.diamond-container img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) skewX(-45deg);
  transform-origin: 50% 50%;
}

4. 实现菱形效果

.diamond-container {
  height: calc(300px / sin(45deg)); /* 根据图片高度调整 */
}

三、创意技巧

1. 动态调整大小

window.addEventListener('resize', function() {
  var container = document.querySelector('.diamond-container');
  var img = container.querySelector('img');
  var h = img.height;
  container.style.height = h / Math.sin(45 * Math.PI / 180) + 'px';
});

2. 菱形图片动画

.diamond-container img {
  animation: rotate 5s infinite linear;
}

@keyframes rotate {
  from {
    transform: translate(-50%, -50%) skewX(-45deg) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) skewX(-45deg) rotate(360deg);
  }
}