Bootstrap4速成笔记三 Card Carousel

Card卡片组件

一个卡片可以由卡片头,卡片体,卡片尾组成,使用卡片的方法仍然是设置相关类进行操作;首先设置一个div,类为"card";

如若想要文本居中可以加入情景类"text-center/right/left"进行设置,然后下开几个div;

我这里是标准的三段式,第一个div设置类为"card-header",第二个设置为"card-body",第三个为"card-footer",然后设置内部的相关效果即可;

我这里设置头部内容为Card,尾部无内容,卡片体中有"card-title"/“card-link”/"card-text"等相关内容可以进行设置

<div class="component demo">
        <div class="card text-center">
            <div class="card-header">
                <h4>Card</h4>
            </div>
            <div class="card-body">
                <h4 class="card-title">Title</h4>
                <p class="card-text">description</p>
                <a href="#" class="card-link">Action1</a>
                <a href="#" class="card-link">Action2</a>
            </div>
            <div class="card-footer">footer</div>
        </div>
    </div>

在这里插入图片描述
如果需要设置头部尾部为图片内容可以直接将div进行一个替换,头部图片使用"card-img-top",尾部图片"card-img-bottom",头部图片的上边两角为圆角,尾部图片的下边两角为圆角

  <div class="component demo">
        <div class="card text-center">
            <img src="lib/img/1.jpg" class="card-img-top">
            <div class="card-body">
                <h4 class="card-title">Title</h4>
                <p class="card-text">description</p>
                <a href="#" class="card-link">Action1</a>
                <a href="#" class="card-link">Action2</a>
            </div>
            <img src="lib/img/1.jpg" class="card-img-bottom">
        </div>
    </div>

在这里插入图片描述
如想使用悬浮效果,可以将图片class设置"card-img",这样图片的四个角都会有圆角效果;

然后将原先body的类改成"card-img-overlay",可以将文字内容在图片上悬浮显示
在这里插入图片描述
Card组件没有固定的宽度,因此其宽度会随着浏览器中容器的宽度变化而变化

如果需要将不同卡片进行统一管理与宽度一致,可以将多张卡片放到同一个卡片组中

 <div class="component demo">
        <div class="card-group">
            <!-- 卡片一 -->
            <div class="card text-center">
                <img src="lib/img/1.jpg" class="card-img">
                <div class="card-img-overlay">
                    <h4 class="card-title">Title</h4>
                    <p class="card-text">description</p>
                    <a href="#" class="card-link">Action1</a>
                    <a href="#" class="card-link">Action2</a>
                </div>
            </div>
            <!-- 卡片二 -->
            <div class="card text-center">
                <img src="lib/img/1.jpg" class="card-img">
                <div class="card-img-overlay">
                    <h4 class="card-title">Title</h4>
                    <p class="card-text">description</p>
                    <a href="#" class="card-link">Action1</a>
                    <a href="#" class="card-link">Action2</a>
                </div>
            </div>
        </div>
    </div>

在这里插入图片描述
修改一个卡片的内容,会发现其不会改变两张卡片宽度的一致性
在这里插入图片描述
当前卡片是相邻且连接起来的,如果想让其中间有一定的间隙,可以将"card-group"换成"card-deck"
在这里插入图片描述
将"card-group"换成"card-columns",可以将横向分布的卡片变成纵向分布,再适当修改内容,可以将卡片变成瀑布流显示
在这里插入图片描述

Carousel循环显示组件

Carousel可以通过设置实现多图循环播放的功能,控件还是十分受欢迎的

使用方法:
首先设置最外层的div,其中class为"carousel slide",slide是我自定义的图片平滑切换的情景类;

然后在内部设置一个容器inner,创建div,class为"carousel-inner"

再设置循环播放的选项,每个选项外面是div,class是"carousel item",内部是设置好的img,下面代码中class设置的d-block等于display:block;w-100等同于width:100%

总的来说就是最外面是carousel组件,向里走一层是inner,再往里走就是item

<div class="component demo">
        <div class="carousel slide" data-ride="carousel">
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img class="d-block w-100" src="lib/img/1.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/2.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/3.jpg">
                </div>
            </div>
        </div>
    </div>

在这里插入图片描述
这样就可以实现图片的自动循环播放

下面加入一些控制元素

首先将当前的carousel工程div的id设置成一个你自己喜欢的名字,我的是"carousel-demo";

然后在和item同级的div下加入两个a标签,href链接设置成"#id"(例如我的就是#carousel-demo),其余设置见下面的代码,其中第一个的参数设置成prev,第二个的所有参数设置成next

<div class="carousel slide" id="carousel-demo" data-ride="carousel">
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img class="d-block w-100" src="lib/img/1.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/2.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/3.jpg">
                </div>
                <!--左右切换按钮设置-->
                <a href="#carousel-demo" class="carousel-control-prev" data-slide="prev"><span class="carousel-control-prev-icon"></span>
                </a>
                <a href="#carousel-demo" class="carousel-control-next" data-slide="next"><span class="carousel-control-next-icon"></span>
                </a>
            </div>

在这里插入图片描述
再设置一下导航栏

在和inner同等位置下加入一个ol有序列表,其中class为"carousel-indicators",然后在ol下开与item数量相同的li,每个的data-target设置成"#id"(我的是#carousel-demo),data-slide-to设置成想要导航到的图片的顺序下标(默认从零开始)

整段代码

<div class="carousel slide" id="carousel-demo" data-ride="carousel">
            <ol class="carousel-indicators">
                <li data-target="#carousel-demo" data-slide-to="0" class="active"></li>
                <li data-target="#carousel-demo" data-slide-to="1"></li>
                <li data-target="#carousel-demo" data-slide-to="2"></li>
            </ol>
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img class="d-block w-100" src="lib/img/1.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/2.jpg">
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="lib/img/3.jpg">
                </div>
                <a href="#carousel-demo" class="carousel-control-prev" data-slide="prev"><span class="carousel-control-prev-icon"></span>
                </a>
                <a href="#carousel-demo" class="carousel-control-next" data-slide="next"><span class="carousel-control-next-icon"></span>
                </a>
            </div>
        </div>

效果
在这里插入图片描述
可以看到当前的图片切换的时候宽度不是均匀的,使用CSS进行设置

在carousel slide后加一句demo,然后在CSS文件中设置item高度为300px,img的最小高度与最大高度设置,图片平铺防止比例变化,

.carousel.demo .carousel-item{
	height: 300px;
}
.carousel.demo .carousel-item img{
	min-height: 300px;
	max-height: 400px;
	object-fit: cover;
}

这样就实现了宽度平均
在这里插入图片描述
最后设置一下循环时间和监听动作

首先,循环时间可以通过使用js文件或自定义参数进行设置,js文件可以使用carousel函数

$('.carousel').carousel({
		//轮播时间设置
		interval:1000
	})

自定义参数可以使用data-interval,效果和js设置一样

<div class="carousel slide demo" id="carousel-demo" data-ride="carousel" data-interval=1000>

除了轮换时间设置,其他自定义参数有
在这里插入图片描述
当图片轮换时与图片轮换完成时可以除法时间,在这里使用js进行设置

$('.carousel').on('slide.bs.carousel',function(event) {
		console.log('slide',`
			方向:${event.direction}${event.from}${event.to}`)
	});
	$('.carousel').on('slid.bs.carousel',function(event) {
		console.log('slid',`
			方向:${event.direction}${event.from}${event.to}`)
	});

注意右下角console的变化
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 Bootstrap 的轮播插件,以下是一些学习笔记: 1. 轮播插件是基于 JavaScript 实现的,所以需要在 HTML 文件中引入 jQuery 和 Bootstrap 的 JavaScript 文件。 2. 在 HTML 中创建轮播容器,可以使用 `div` 元素,并添加 `carousel` 类。 3. 在轮播容器中添加 `carousel-inner` 类,用于放置轮播项。 4. 在 `carousel-inner` 中添加 `carousel-item` 类,用于定义每个轮播项。可以在每个 `carousel-item` 中添加图片、标题、描述等元素。 5. 在轮播容器中添加控制按钮,可以使用 `a` 元素,并添加 `carousel-control-prev` 和 `carousel-control-next` 类。分别用于向前和向后控制轮播项。 6. 最后,在 JavaScript 中初始化轮播插件,可以使用 `$('.carousel').carousel()` 方法。 以下是一个基本的轮播插件的示例代码: ```html <!-- 引入 jQuery 和 Bootstrap 的 JavaScript 文件 --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.2/js/bootstrap.min.js"></script> <!-- 创建轮播容器 --> <div class="carousel"> <!-- 轮播项 --> <div class="carousel-inner"> <div class="carousel-item active"> <img src="https://via.placeholder.com/800x400?text=Slide+1" class="d-block w-100" alt="Slide 1"> <div class="carousel-caption d-none d-md-block"> <h5>Slide 1 Title</h5> <p>Slide 1 Description</p> </div> </div> <div class="carousel-item"> <img src="https://via.placeholder.com/800x400?text=Slide+2" class="d-block w-100" alt="Slide 2"> <div class="carousel-caption d-none d-md-block"> <h5>Slide 2 Title</h5> <p>Slide 2 Description</p> </div> </div> <div class="carousel-item"> <img src="https://via.placeholder.com/800x400?text=Slide+3" class="d-block w-100" alt="Slide 3"> <div class="carousel-caption d-none d-md-block"> <h5>Slide 3 Title</h5> <p>Slide 3 Description</p> </div> </div> </div> <!-- 控制按钮 --> <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-bs-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="visually-hidden">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </a> </div> <!-- 初始化轮播插件 --> <script> $('.carousel').carousel(); </script> ``` 这里的示例代码使用了 Bootstrap 5 的语法,如有需要,可以根据自己使用的版本进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值