第一张照片是截图,想只显示照片中间的内容。
点进去图二如果照片只有一张照片就按照片大小展示,如果是多张是就按一排三张显示,如图三限制大小,只显示中间部分。
这种应该都怎么布局呀?
css only-child,这个伪类可以帮你实现
保存成html文件,并替换图片路径,运行。OK请给采纳。谢谢
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>图片展示</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.item {
margin: 10px;
width: calc(33.33% - 20px);
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
}
.item img {
max-width: 100%;
max-height: 100%;
object-fit: cover;
}
</style>
</head>
<body>
<div class="container"></div>
<script>
const images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg']; // 假设有4张图片
const container = document.querySelector('.container');
if (images.length === 1) {
const img = new Image();
img.src = images[0];
img.onload = function() {
const width = img.width;
const height = img.height;
const item = document.createElement('div');
item.classList.add('item');
item.style.width = `${width}px`;
item.style.height = `${height}px`;
item.innerHTML = `<img src="${img.src}" alt="">`;
container.appendChild(item);
};
} else {
images.forEach(image => {
const item = document.createElement('div');
item.classList.add('item');
item.innerHTML = `<img src="${image}" alt="">`;
container.appendChild(item);
});
}
</script>
</body>
</html>