做一个常规的banner图——负边距的使用、banner图的拼法

时间:2023-08-04 00:06:38

在这之前,首先要了解如何设置块级元素在块级元素水平居中

方法:

设置子容器为定位元素

水平居中

left:50%;margin-left:-width/2;

垂直居中

top:50%;margin-top:-width/2;

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> .div1{
width: 200px;
height: 200px;
/*background-image: url(img/002.png);*/
background-color: green; border:10px dotted red; background-clip: padding-box;
position: relative;
overflow: hidden; }
.div2{
width: 100px;
height: 100px;
background-color: palevioletred;
position: absolute;
left: 50%;
margin-left: -50px;
top: 50%;
margin-top: -50px;
} </style>
</head>
<body>
<!---->
<div class="div1">
<div class="div2"></div>
</div>
</body>
</html>

效果图:

做一个常规的banner图——负边距的使用、banner图的拼法

掌握了上边的方法,我们就可以做个比较标准的banner图了。

下边是一个没有被切的banner 图的做法:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#zb_banner{
width: 100%;
height:345px;
position: relative;
/*background-position: -260px 0px;*/
overflow: hidden;
}
#zb_banner .c_ban{
width: 1920px;
height: 345px;
background-image: url(../img/a01d20c11e264df890bd3e629e2420b0.jpg);
background-repeat: no-repeat;
position: absolute;
left: 50%;
margin-left: -960px; } </style>
</head>
<body>
<section id="zb_banner">
<div class="c_ban">
</div>
</section>
</body>
</html>

效果图如下:

最大化下的状态:

做一个常规的banner图——负边距的使用、banner图的拼法

缩小窗口后的效果:

做一个常规的banner图——负边距的使用、banner图的拼法

因为现在主流最大的显示屏是1920的,所以banner图一般也做成1920的,被切开的话,放到一个宽度1920的div里边就可以了,不用调整图的大小。只有这么设置才会不会因为浏览器窗口大小的变化而影响banner图的居中位置,也可以使被切开的banner图能够完整的拼起来,不会变形。