在html编程中常遇到要求的图片剧中的情况、一般是banner为最为常用的。下面总结两个方法用于banner居中,这里的居中是大图片(通常是通屏或者图片大于浏览器宽度)居中!

方法一

通过设置背景图的方式进行居中background:url('xxx/xxx.png') center;

<div class="swiper-container tg-banner">
    <div class="swiper-wrapper">
    <div class="swiper-slide">
        <a href="javascript:void(0);"  style="width: 100%;height:400px;background: url('/Public/home/index/bdtj/image/1.jpg') center;"></a>        
</div>
    <div class="swiper-slide">
        <a href="javascript:void(0);"  style="width: 100%;height:400px;background: url('/Public/home/index/bdtj/image/2.jpg') center;"></a>        
</div>
    <div class="swiper-slide">
        <a href="javascript:void(0);"  style="width: 100%;height:400px;background: url('/Public/home/index/bdtj/image/3.jpg') center;"></a>
</div>
</div>
    <!-- Add Pagination -->
    <div class="swiper-pagination"></div>
    <!-- Add Arrows -->
    <div class="swiper-button-next"></div>
    <div class="swiper-button-prev"></div>
</div>


这里是把<a>标签设置为块状元素设置背景

优点:设置简单减少了html代码,

缺点:没有img标签不能设置,onerror事件回调。不能设置热点区域

方法二

设置图片为绝对定位、进行居中

<div class="swiper-slide" style="position: relative;width: 100%;">
    <a href="javascript:;" style="display: block;width: 100%;overflow: hidden;height: 400px;">
        <img src="public/image/banner1.jpg"  alt="" style="position: absolute;left:50%;margin-left:-960px;"/>
    </a>
</div>

js代码

var swiper1 = new Swiper('.swiper-container.index-banner', {
    pagination: '.swiper-pagination',
    autoplayDisableOnInteraction : false,
    paginationClickable :true,
    slidesPerView: 1,
    autoplay: 2500,
    loop: true,
    effect: 'fade',
    centeredSlides: true,
    paginationType : 'custom',
    paginationCustomRender: function (swiper, current, total) {
        $(".span-custom").removeClass('pagination-active');
        var active=$(".span-custom")[current-1];
        $(active).addClass('pagination-active');
    }
});

比较推荐这种
其中margin-left:-960px;是图片宽度的一半,代码中的图片是1920px;
是结合left:50%来使用的。
注意这种方式不适合从右向左的那种、适合渐入渐出的效果

Last modification:May 6, 2022
如果觉得我的文章对你有用,请随意赞赏