Rumah > Artikel > hujung hadapan web > Penjelasan mendalam tentang cara menggunakan komponen Kad dalam Bootstrap
Bagaimana untuk menggunakan komponen Kad dalam Bootstrap? Artikel berikut akan menerangkan penggunaan komponen kad Bootstrap5 melalui contoh kod saya harap ia akan membantu anda!
Kad Bootstrap menyediakan bekas kandungan yang fleksibel dan boleh skala dengan pelbagai variasi dan pilihan. Kad direka bentuk untuk menggunakan penanda dan penggayaan sesedikit mungkin supaya ia boleh diselaraskan dengan mudah dan digabungkan dengan baik dengan komponen Bootstrap yang lain. Ia tidak mempunyai margin secara lalai, jadi anda boleh menambah kategori umum jarak mengikut keperluan. [Cadangan berkaitan: "tutorial bootstrap"]
Berikut ialah contoh kad asas dengan kandungan campuran dan lebar tetap. Kad yang tidak mempunyai lebar tetap secara semula jadi akan mengisi lebar penuh elemen induknya. Ini boleh diselaraskan dengan mudah dengan pelbagai pilihan penskalaan kami. Di bawah adalah contoh mudah.
<div class="card" style="width: 18rem;"> <img src="../pic/5.jpg" class="card-img-top" alt="卡片的图片宽度会自动设置"> <div class="card-body"> <h5 class="card-title">卡片标题</h5> <p class="card-text">卡片的内容可以使用文本、列表、表格、表单、图片等各种html元素</p> <a href="#" class="btn btn-primary">这是一个按钮</a> </div> </div>
Secara amnya, kami tidak memerlukan struktur kad yang lengkap Anda boleh gunakan komponen kad dengan sangat baik. Seperti yang ditunjukkan dalam contoh di atas, kad lengkap termasuk pengepala, pengaki, gambar (di sini merujuk kepada gambar di bawah pengepala, yang sama lebar dengan kad), badan, dan kumpulan senarai bahagian, di mana badan boleh mengandungi tajuk dan teks. Berikut adalah contoh yang komprehensif Sebenarnya, dalam keadaan biasa, cukup untuk menggunakan satu atau dua elemen kad seperti yang diperlukan.
<div class="card" style="width: 18rem;"> <div class="card-header"> 卡片页眉 </div> <img src="../pic/5.jpg" class="card-img-top" alt="卡片的图片宽度会自动设置"> <div class="card-body"> <h5 class="card-title">卡片标题</h5> <p class="card-text">卡片的内容可以使用文本、列表、表格、表单、图片等各种html元素 <img src="../pic/7.jpg" class="card-img-top" alt="卡片主体内的图片"> </p> <a href="#" class="btn btn-primary">这是一个按钮</a> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">列表元素</li> <li class="list-group-item">列表元素</li> <li class="list-group-item">列表元素</li> </ul> <div class="card-footer text-muted"> 卡片页脚 </div> </div>
Pengepala dan pengaki tidak diperlukan Berbanding dengan kandungan lain, pengepala dan pengaki tidak diperlukan teks berwarna lebih terang dan kecil sedikit dalam saiz fon. Di samping itu, penjajarannya boleh dilaraskan melalui kelas umum, dan banyak kesan khas boleh dicapai melalui penggunaan fleksibel.
<div class="card"> <h5 class="card-header">通知</h5> <div class="card-body"> <h5 class="card-title">中秋节放假通知</h5> <p class="card-text">下周中秋节放假7天,给大家乐活以下.........</p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div>
<div class="card"> <div class="card-header"> 名言 </div> <div class="card-body"> <blockquote class="blockquote mb-0"> <p>只有诗人同圣徒才会坚信,在沥青路面上辛勤浇水会培植出百合花来。</p> <footer class="blockquote-footer">威廉· 萨默赛特·毛姆的 <cite title="Source Title">《月亮和六便士》</cite></footer> </blockquote> </div> </div>
<div class="card text-center"> <div class="card-header"> 名著推荐 </div> <div class="card-body"> <h5 class="card-title">《红楼梦》</h5> <p class="card-text"> 《红楼梦》是一部具有世界影响力的人情小说作品,举世公认的中国古典小说巅峰之作, 中国封建社会的百科全书,传统文化的集大成者。小说以贾、史、王、薛四大家族的兴衰为背景, 以贾府的家庭琐事、闺阁闲情为脉络,以贾宝玉、林黛玉、薛宝钗的爱情婚姻故事为主线, 刻画了以贾宝玉和金陵十二钗为中心的正邪两赋有情人的人性美和悲剧美。 通过家族悲剧、女儿悲剧及主人公的人生悲剧,揭示出封建末世危机。 </p> <a href="#" class="btn btn-primary">马上阅读</a> </div> <div class="card-footer text-muted"> 2 days ago </div> </div>
melepasi kad-img-atas atau kad-img-bawah untuk menetapkan sama ada untuk dipaparkan di bahagian atas atau bawah kad Di bawah ialah dua kad, satu gambar di atas dan satu gambar di bahagian bawah.
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div class="card mb-2"> <img src="../pic/5.jpg" alt="..."> <div> <h5>软发布 Win11 </h5> <p>T 微软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <p><small>Last updated 3 mins ago</small></p> </div> </div> <div> <div> <h5>飞利浦推出4K显示器</h5> <p>飞利浦推出 Momentum 4K 电竞显示器:专为 Xbox 设计,售价过万 </p> <p><small>Last updated 3 mins ago</small></p> </div> <img src="../pic/7.jpg" alt="..."> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
Tukar imej kepada latar belakang kad dan tindih teks kad. Bergantung pada imej, anda boleh memilih sama ada anda mahukan gaya tambahan atau kategori generik.
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div class="card card bg-dark text-white"> <img src="../pic/7.jpg" alt="..."> <div class="card-body card-img-overlay"> <h5>微软发布 Win11 </h5> <p> 微软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <p><small>Last updated 3 mins ago</small></p> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
Perhatikan bahawa kami menambahkan latar belakang hitam pada kad melalui bg-gelap, menetapkan fon kepada putih dengan teks-putih dan menetapkan tindanan-img kad sebagai warna latar belakang dalam badan-kad. Anda juga boleh menggunakan card-img-overlay terus tanpa kad-body seperti di atas.
digabungkan dengan grid. dan Kelas generik yang membolehkan kad dipaparkan secara mendatar dengan cara yang responsif Dalam contoh di bawah, kami menggunakan g-0 untuk mengalih keluar jurang dalam grid dan menggunakan kategori col-md-*
untuk menjadikan kad secara mendatar berdasarkan titik putus md kandungan kad mungkin memerlukan beberapa pelarasan tambahan kad
<div class="card mb-3" style="max-width: 540px;"> <div class="row g-0"> <div class="col-md-4"> <img src="../pic/3.jpg" alt="..." class="w-100"> </div> <div class="col-md-8"> <div class="card-body"> <h5 class="card-title">春夏秋冬皆自然</h5> <p class="card-text"> 春夏秋冬皆自然,明月清风共我闲,有春风拂面的温柔,也有美好故事的发生,又一个春天如约而至,温柔的朝阳里布谷鸟声声呼唤,愿普天同安康,迎接春天到来的简... </p> <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p> </div> </div> </div> </div>2.3.1 Tajuk dan sari kata
Blok binaan kad ialah .card-body Gunakan ini apabila anda memerlukan pelapik dalam kad.
<h></h>
标签中添加card-title
以使用卡片标题。<h></h>
标签中加入card-subtitle
以使用副标题。如果card-title以及card-subtitle元件被放在card-body里面,它们将会对齐良好。
文本内容可以放置任何html元素和bootstrap的组件,如按钮等,在a标签中加入card-link
并使连接彼此相邻。
<div class="card" style="width: 18rem;"> <div class="card-body"> <h5 class="card-title">微软发布 Win11</h5> <h6 class="card-subtitle mb-2 text-muted">科技动态</h6> <p class="card-text"> 微软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="card-link">了解详情</a> <a href="#" class="card-link">下载试用</a> </div> </div>
列表群组使用非常简单
<div class="card" style="width: 18rem;"> <div class="card-header text-center"> 晚会活动 </div> <ul class="list-group list-group-flush"> <li class="list-group-item">歌舞</li> <li class="list-group-item">男生独唱</li> <li class="list-group-item">小品</li> </ul> </div>
混合并搭配多个内容形式,用来创建你所需要的卡片。以下示例将图片样式、块、文字样式以及列表群组全部包装在一个固定宽度的卡片中。
<div class="card" style="width: 18rem;"> <img src="../pic/cap.jpg" class="card-img-top" alt="..."> <div class="card-body"> <h5 class="card-title">Card title</h5> <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">An item</li> <li class="list-group-item">A second item</li> <li class="list-group-item">A third item</li> </ul> <div class="card-body"> <a href="#" class="card-link">Card link</a> <a href="#" class="card-link">Another link</a> </div> </div>
卡片预设没有特定的起始width,除非另有声明,否则它们的宽度将是100%。
使用网格,根据需要在列和行中包装卡片。需要注意的是卡片默认是每个卡片一行的,要想一行中显示多个卡片,必须把几个卡片放在一个div容器中且每行中的卡片总宽度不能超过屏幕宽度。网格中的row-cols-*
同样适用卡片。另外卡片默认是宽度相同,高度根据内容自动调整的,但是如果卡片拥有页脚,则高度会自动调整到相同。
下面给出一个完整例子。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div> <div> <div> <div> <h5>微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> <div> <div> <div> <h5>飞利浦推出4K显示器</h5> <p> 飞利浦推出 Momentum 4K 电竞显示器:专为 Xbox 设计,售价过万 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
使用可调整宽度大小的通用类来快速设置卡片的宽度。
使用网格
使用网格,根据需要在列和行中包装卡片。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div class="card w-75"> <div> <h5>微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> <div class="card w-50"> <div> <h5>飞利浦推出4K显示器</h5> <p> 飞利浦推出 Momentum 4K 电竞显示器:专为 Xbox 设计,售价过万 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
需要注意的是,这里的宽度值必须是预定的,预设包含25%,50%,75%,100%和auto,而不是随意写的。 详情见 Bootstrap5中文手册 通用类 尺寸(Sizing)一节。
在样式表中使用自定义的CSS或使用行内样式设置宽度,这种方式比较灵活,可以使用rem、px、百分比。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div style="width: 30rem;"> <div> <h5>微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> <div style="width: 20rem;"> <div> <h5>飞利浦推出4K显示器</h5> <p> 飞利浦推出 Momentum 4K 电竞显示器:专为 Xbox 设计,售价过万 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
可以透过文字对齐类别更改任何卡片的整体或特定部分的文本对齐方式。默认全部是局左(text-start)对齐的,可以用card-text、text-end通用类使之居中对齐或居右对齐。通用类可用在card容器,也可以单独以用在标题、页眉页脚、主体等任意部分,如果同时使用,则单独的覆盖整体的。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div> <div> <div class="card text-center"> <div> 整体居中 </div> <div> <h5>微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> <div> <div> <div class="card-header text-center""> 页眉、标题居中 </div> <div> <h5 class="card-title text-center">微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> <div> <div class="card text-center"> <div> 整体居中中标题居左 </div> <div> <h5 class="card-title text-start">微软发布 Win11</h5> <p> 软已宣布将于 6 月 24 日举行“What's next for Windows”活动,届时将发布下一代桌面操作系统 Win11 及其应用商店等内容。 </p> <a href="#" class="btn btn-primary">了解详情</a> </div> </div> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
使用Bootstrap的导航组件在卡片的页首(或块)添加一些导航,获得选项卡效果。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div> <br><br><br> <div class="card text-center"> <div> <ul class="nav nav-tabs card-header-tabs"> <li> <a aria-current="true" href="#" data-bs-toggle="tab" data-bs-target="#nav-hot">热门新闻</a> </li> <li> <a class="nav-link active" href="#" data-bs-toggle="tab" data-bs-target="#nav-home">国内新闻</a> </li> <li> <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">国外新闻</a> </li> </ul> </div> <div> <div class="card-body tab-pane fade" id="nav-hot"> <h5>热点新闻</h5> <p>热点新闻</p> <a href="#" class="btn btn-primary">Go somewhere</a> </div> <div class="card-body tab-pane fade show active" id="nav-home"> <h5>国内新闻</h5> <p>国内热点新闻</p> <a href="#" class="btn btn-primary">Go somewhere</a> </div> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
对于上面的代码,只需经过两处替换,就可以换为胶囊导航
<ul class="nav nav-tabs card-header-tabs">
替换为
<ul class="nav nav-pills card-header-pills">
所有的
data-bs-toggle="tab"
替换为
data-bs-toggle="pill"
卡片包含许多用来自定义背景、边框、颜色的选项。
使用文字和背景通用类别来改变卡片的外观。
<!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content=""> <meta name="description" content=""> <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet"> <title>卡片</title> </head> <body> <div class="container"> <br><br><br> <div class="d-flex"> <div class="card text-white bg-primary" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Primary</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-white bg-secondary" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Secondary</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-white bg-success" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Success</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-white bg-danger" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Danger</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> </div> <div class="d-flex"> <div class="card text-dark bg-warning" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Warning</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-dark bg-info" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Info</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-dark bg-light" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Light</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> <div class="card text-white bg-dark" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Dark</h5> <p class="card-text">颜色直接作用于card容器上</p> </div> </div> </div> </div> <script src="../bootstrap5/bootstrap.bundle.min.js" ></script> </body> </html>
<div class="d-flex"> <div class="card border-primary mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body text-primary"> <h5 class="card-title">Primary 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-secondary mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body text-secondary"> <h5 class="card-title">Secondary 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-success mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body text-success"> <h5 class="card-title">Success 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-danger mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body text-danger"> <h5 class="card-title">Danger 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> </div> <div class="d-flex"> <div class="card border-warning mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body"> <h5 class="card-title">Warning 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-info mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body"> <h5 class="card-title">Info 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-light mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body"> <h5 class="card-title">Light 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> <div class="card border-dark mb-3" style="max-width: 18rem;"> <div class="card-header">页眉</div> <div class="card-body text-dark"> <h5 class="card-title">Dark 卡片标题</h5> <p class="card-text">card-text 卡片文字内容</p> </div> </div> </div>
限于篇幅,仅展示前面一部分边框图片。
也可以依照需求更改卡片页首、页尾的边框,并能使用bg-transparent来移除它们的background-color。
<div class="card border-success mb-3" style="max-width: 26rem;"> <div class="card-header bg-transparent border-success">页眉</div> <div class="card-body text-success"> <h5 class="card-title">Success卡片标题</h5> <p class="card-text"> 注意card-body使用了 text-success",页脚使用了bg-transparent border-success </p> </div> <div class="card-footer bg-transparent border-success">页脚</div> </div>
更多关于bootstrap的相关知识,可访问:bootstrap基础教程!!
Atas ialah kandungan terperinci Penjelasan mendalam tentang cara menggunakan komponen Kad dalam Bootstrap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!