web前端,设计轮播图中,一旦设置图片大小就无法水平居中

whitevil 2021-03-29 11:11:16
首先上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../css1/reset.css">
<style>
.img-list{
width: 1920px;
margin: 0 auto;
height: 1080px;

/*
为ul开启相对定位,目的是使ul中的pointer可以相对于ul定位
而不是相对于初始包含块(html)去定位
*/

position: relative;
}

/* 设置li */
.img-list li{
position: absolute;
}

/* 通过修改元素的层级来显示指定的图片 */
.img-list li:nth-child(5){
z-index: 1;
}



/* 设置导航点的样式 */
.pointer{
position: absolute;
z-index: 999;
bottom: 30px;
left: 40px;

}
.pointer a{
float: left;
width: 10px;
height: 10px;
border-radius: 50%;
margin: 0 4px;
background-color: rgba(255, 255, 255, .3);
background-clip: content-box;
/* 将背景颜色值设置到内容区,边框和内边距不再有背景颜色 */
border: 2px solid transparent;
}

.pointer a.active,
.pointer a:hover{
background-color: #fff;
border: 2px solid rgba(255, 255, 255, .3);

}

</style>
</head>
<body>
<ul class="img-list">
<li><a href="#"><img src="../picture/1.jpg" ></a></li>
<li><a href="#"><img src="../picture/2.jpg" ></a></li>
<li><a href="#"><img src="../picture/3.jpg" ></a></li>
<li><a href="#"><img src="../picture/4.jpg" ></a></li>
<li><a href="#"><img src="../picture/5.jpg" ></a></li>
<li><a href="#"><img src="../picture/6.jpg" ></a></li>
<li><a href="#"><img src="../picture/7.jpg" ></a></li>
<li><a href="#"><img src="../picture/8.jpg" ></a></li>

<div class="pointer">
<a class="active" href=""></a>
<a href=""></a>
<a href=""></a>
<a href=""></a>
<a href=""></a>
<a href=""></a>
<a href=""></a>
<a href=""></a>
</div>
</ul>
</body>
</html>

一旦在css或者内联样式中修改图片的大小(还试过改div盒子的大小),图片就会跑偏而不会水平居中了,

主要原因是本身自带的图片是1920*1080的,呈现的太大不美观,所以想修改大小,但是始终没成功

希望能获得解答,或者是我表达有疏忽还请指出!谢谢!
...全文
432 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whitevil 2021-03-30
  • 打赏
  • 举报
回复
引用 2 楼 我爱小仙女 的回复:

<style>
.img-list li{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</style>
谢谢你,但是也还是没用,
引用 2 楼 我爱小仙女 的回复:

<style>
.img-list li{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</style>
很感谢你,但是还是没有生效,我决定重新做一下,先专注于修改图片大小而不是实现轮播效果。
whitevil 2021-03-30
  • 打赏
  • 举报
回复
引用 1 楼 qq_45713941 的回复:
ul 已经占满整个屏幕了,设置margin就没用了,在ul外面套一个盒子
emmm还是没有用,不过非常感谢你能回复。
我爱小仙女 2021-03-30
  • 打赏
  • 举报
回复

<style>
.img-list li{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</style>
  • 打赏
  • 举报
回复
ul 已经占满整个屏幕了,设置margin就没用了,在ul外面套一个盒子
whitevil 2021-03-30
  • 打赏
  • 举报
回复
最终虽然不明白,但我全部重做了一遍,减少了不必要的结构,非常感谢给我提供思路的各位,新代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="../css1/reset.css"> <style> .box1{ position: relative; height: 1000px; margin-top: 50px; } img { width: 960px; height: 540px; } .img-list { width: 960px; margin: 0 auto; } .img-list a { position: absolute; } /* 通过修改元素的层级来显示指定的图片 */ .img-list a:nth-child(5) { z-index: 1; } /* 设置导航点的样式 */ .pointer { position: absolute; z-index: 9; top: 500px; left: 120px; } .pointer a { float: left; width: 10px; height: 10px; border-radius: 50%; margin: 0 4px; background-color: rgba(255, 255, 255, .3); background-clip: content-box; /* 将背景颜色值设置到内容区,边框和内边距不再有背景颜色 */ border: 2px solid transparent; } .pointer a.active, .pointer a:hover { background-color: #fff; border: 2px solid rgba(255, 255, 255, .3); } </style> </head> <body> <div class="box1"> <div class="img-list"> <a href="#"><img src="../picture/1.jpg"></a> <a href="#"><img src="../picture/2.jpg"></a> <a href="#"><img src="../picture/3.jpg"></a> <a href="#"><img src="../picture/4.jpg"></a> <a href="#"><img src="../picture/5.jpg"></a> <a href="#"><img src="../picture/6.jpg"></a> <a href="#"><img src="../picture/7.jpg"></a> <a href="#"><img src="../picture/8.jpg"></a> </div> <div class="pointer"> <a class="active" href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> </div> </div> </body> </html>

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧