写一个html文件,一个大盒子尺寸是2066*909,里面有一个小盒子,尺寸是1533*840,小盒子居中,小盒子的布局是左右两个圆形按钮,按钮上分别是”<“和”>",在小盒子的中间有两个个图片,名字分别为img1和img2,要求写出css样式文件,实现,点击左边按钮显示img1,点击右边按钮显示img2
时间: 2024-02-25 21:54:14 浏览: 101
通过按钮点击实现css样式切换--模仿百度有啊
好的,以下是实现这个布局和功能的 HTML 和 CSS 代码:
HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>按钮切换图片</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="big-box">
<div class="small-box">
<img src="img1.jpg" id="img1">
<img src="img2.jpg" id="img2">
<button class="left-btn" onclick="changeImg(-1)"><</button>
<button class="right-btn" onclick="changeImg(1)">></button>
</div>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
```
CSS 代码:
```css
.big-box {
width: 2066px;
height: 909px;
background-color: #ccc;
display: flex;
justify-content: center;
align-items: center;
}
.small-box {
width: 1533px;
height: 840px;
background-color: #fff;
position: relative;
}
img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.left-btn,
.right-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50px;
height: 50px;
border-radius: 25px;
background-color: #666;
color: #fff;
font-size: 24px;
cursor: pointer;
}
.left-btn {
left: 0;
}
.right-btn {
right: 0;
}
```
JavaScript 代码:
```javascript
var currentImg = 1;
var totalImg = 2;
function changeImg(n) {
currentImg += n;
if (currentImg > totalImg) {
currentImg = 1;
}
if (currentImg < 1) {
currentImg = totalImg;
}
document.getElementById("img1").style.display = "none";
document.getElementById("img2").style.display = "none";
document.getElementById("img" + currentImg).style.display = "block";
}
```
解释一下代码:
1. HTML 代码中,我们首先引入了样式文件 `style.css` 和脚本文件 `script.js`。然后我们创建了一个大盒子 `.big-box` 和一个小盒子 `.small-box`,并在小盒子里面放了两个图片 `img1` 和 `img2`,以及两个圆形按钮 `.left-btn` 和 `.right-btn`。
2. CSS 代码中,我们设置大盒子和小盒子的宽高和背景色,并使用 `display: flex` 和 `justify-content: center` 和 `align-items: center` 属性将小盒子水平和垂直居中显示。然后我们给图片和按钮设置了一些基本样式,例如 `position: absolute` 和 `width: 100%` 和 `height: 100%` 等属性。
3. JavaScript 代码中,我们定义了两个变量 `currentImg` 和 `totalImg`,分别表示当前显示的图片编号和总共的图片数量。然后我们定义了一个函数 `changeImg`,这个函数接收一个参数 `n`,表示图片要切换的方向,如果 `n` 是正数,则表示要显示下一张图片,如果 `n` 是负数,则表示要显示上一张图片。在函数中,我们首先根据 `n` 的值更新 `currentImg` 的值,并判断 `currentImg` 是否超出了图片数量的范围,如果超出了,则将 `currentImg` 的值重置为 1 或 totalImg。然后我们通过 `document.getElementById` 方法获取到图片元素,并将其 `display` 属性设置为 `none`,以隐藏当前显示的图片。最后,我们根据 `currentImg` 的值,将要显示的图片元素的 `display` 属性设置为 `block`,以显示新的图片。
这样,当用户点击左侧按钮时,就会显示上一张图片;当用户点击右侧按钮时,就会显示下一张图片。
阅读全文