carousel.mdx 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. ---
  2. title: Carousel
  3. summary: A carousel is used to display multiple pieces of visual content without taking up too much space. Carousels eliminate the need to scroll down the page to see all content and are a popular method of displaying marketing information.
  4. bootstrapLink: components/carousel/
  5. description: Display visual content with carousels.
  6. ---
  7. ## Default markup
  8. Use a carousel to make your website design more visually appealing for users. In the default carousel design, respective elements slide automatically and users can go to the next slide by clicking an arrow.
  9. ```html example centered columns={2} height="35rem"
  10. <div id="carousel-sample" class="carousel slide" data-bs-ride="carousel">
  11. <div class="carousel-indicators">
  12. <button
  13. type="button"
  14. data-bs-target="#carousel-sample"
  15. data-bs-slide-to="0"
  16. class="active"
  17. ></button>
  18. <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="1"></button>
  19. <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="2"></button>
  20. <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="3"></button>
  21. <button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="4"></button>
  22. </div>
  23. <div class="carousel-inner">
  24. <div class="carousel-item active">
  25. <img
  26. class="d-block w-100"
  27. alt=""
  28. src="/samples/photos/city-lights-reflected-in-the-water-at-night.jpg"
  29. />
  30. </div>
  31. <div class="carousel-item">
  32. <img
  33. class="d-block w-100"
  34. alt=""
  35. src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
  36. />
  37. </div>
  38. <div class="carousel-item">
  39. <img
  40. class="d-block w-100"
  41. alt=""
  42. src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg"
  43. />
  44. </div>
  45. <div class="carousel-item">
  46. <img
  47. class="d-block w-100"
  48. alt=""
  49. src="/samples/photos/tropical-palm-leaves-floral-pattern-background.jpg"
  50. />
  51. </div>
  52. <div class="carousel-item">
  53. <img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
  54. </div>
  55. </div>
  56. <a
  57. class="carousel-control-prev"
  58. data-bs-target="#carousel-sample"
  59. role="button"
  60. data-bs-slide="prev"
  61. >
  62. <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  63. <span class="visually-hidden">Previous</span>
  64. </a>
  65. <a
  66. class="carousel-control-next"
  67. data-bs-target="#carousel-sample"
  68. role="button"
  69. data-bs-slide="next"
  70. >
  71. <span class="carousel-control-next-icon" aria-hidden="true"></span>
  72. <span class="visually-hidden">Next</span>
  73. </a>
  74. </div>
  75. ```
  76. ## Dots indicators
  77. You can replace the standard indicators with dots. Just add the `carousel-indicators-dot` class to your carousel:
  78. ```html example centered columns={2} height="35rem"
  79. <div id="carousel-indicators-dot" class="carousel slide carousel-fade" data-bs-ride="carousel">
  80. <div class="carousel-indicators carousel-indicators-dot">
  81. <button
  82. type="button"
  83. data-bs-target="#carousel-indicators-dot"
  84. data-bs-slide-to="0"
  85. class="active"
  86. ></button>
  87. <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="1"></button>
  88. <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="2"></button>
  89. <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="3"></button>
  90. <button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="4"></button>
  91. </div>
  92. <div class="carousel-inner">
  93. <div class="carousel-item active">
  94. <img
  95. class="d-block w-100"
  96. alt=""
  97. src="/samples/photos/stylish-workspace-with-macbook-pro.jpg"
  98. />
  99. </div>
  100. <div class="carousel-item">
  101. <img
  102. class="d-block w-100"
  103. alt=""
  104. src="/samples/photos/coffee-on-a-table-with-other-items.jpg"
  105. />
  106. </div>
  107. <div class="carousel-item">
  108. <img class="d-block w-100" alt="" src="/samples/photos/book-on-the-grass.jpg" />
  109. </div>
  110. <div class="carousel-item">
  111. <img
  112. class="d-block w-100"
  113. alt=""
  114. src="/samples/photos/a-woman-works-at-a-desk-with-a-laptop-and-a-cup-of-coffee.jpg"
  115. />
  116. </div>
  117. <div class="carousel-item">
  118. <img
  119. class="d-block w-100"
  120. alt=""
  121. src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg"
  122. />
  123. </div>
  124. </div>
  125. </div>
  126. ```
  127. ## Thumb indicators
  128. The syntax is similar for thumbnails. Add class `carousel-indicators-thumb` and add `background-image` to element `[data-bs-target]`. Default thumbnails have an aspect ratio of 1:1. To change this use `ratio` utils.
  129. ```html example centered columns={2} height="35rem"
  130. <div id="carousel-indicators-thumb" class="carousel slide carousel-fade" data-bs-ride="carousel">
  131. <div class="carousel-indicators carousel-indicators-thumb">
  132. <button
  133. type="button"
  134. data-bs-target="#carousel-indicators-thumb"
  135. data-bs-slide-to="0"
  136. class="ratio ratio-4x3 active"
  137. style="background-image: url(/samples/photos/group-of-people-sightseeing-in-the-city.jpg)"
  138. ></button>
  139. <button
  140. type="button"
  141. data-bs-target="#carousel-indicators-thumb"
  142. data-bs-slide-to="1"
  143. class="ratio ratio-4x3"
  144. style="background-image: url(/samples/photos/young-woman-working-in-a-cafe.jpg)"
  145. ></button>
  146. <button
  147. type="button"
  148. data-bs-target="#carousel-indicators-thumb"
  149. data-bs-slide-to="2"
  150. class="ratio ratio-4x3"
  151. style="
  152. background-image: url(/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg);
  153. "
  154. ></button>
  155. <button
  156. type="button"
  157. data-bs-target="#carousel-indicators-thumb"
  158. data-bs-slide-to="3"
  159. class="ratio ratio-4x3"
  160. style="background-image: url(/samples/photos/stylish-workplace-with-computer-at-home.jpg)"
  161. ></button>
  162. <button
  163. type="button"
  164. data-bs-target="#carousel-indicators-thumb"
  165. data-bs-slide-to="4"
  166. class="ratio ratio-4x3"
  167. style="background-image: url(/samples/photos/stylish-workspace-with-macbook-pro.jpg)"
  168. ></button>
  169. </div>
  170. <div class="carousel-inner">
  171. <div class="carousel-item active">
  172. <img
  173. class="d-block w-100"
  174. alt=""
  175. src="/samples/photos/group-of-people-sightseeing-in-the-city.jpg"
  176. />
  177. </div>
  178. <div class="carousel-item">
  179. <img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
  180. </div>
  181. <div class="carousel-item">
  182. <img
  183. class="d-block w-100"
  184. alt=""
  185. src="/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg"
  186. />
  187. </div>
  188. <div class="carousel-item">
  189. <img
  190. class="d-block w-100"
  191. alt=""
  192. src="/samples/photos/stylish-workplace-with-computer-at-home.jpg"
  193. />
  194. </div>
  195. <div class="carousel-item">
  196. <img
  197. class="d-block w-100"
  198. alt=""
  199. src="/samples/photos/stylish-workspace-with-macbook-pro.jpg"
  200. />
  201. </div>
  202. </div>
  203. </div>
  204. ```
  205. ## Vertical indicators
  206. To make the indicators go to the right side, add the `carousel-indicators-vertical` class. You can combine it with other classes that are responsible for dots or thumbnails.
  207. ```html example centered columns={2} height="35rem"
  208. <div
  209. id="carousel-indicators-dot-vertical"
  210. class="carousel slide carousel-fade"
  211. data-bs-ride="carousel"
  212. >
  213. <div class="carousel-indicators carousel-indicators-vertical carousel-indicators-dot">
  214. <button
  215. type="button"
  216. data-bs-target="#carousel-indicators-dot-vertical"
  217. data-bs-slide-to="0"
  218. class="active"
  219. ></button>
  220. <button
  221. type="button"
  222. data-bs-target="#carousel-indicators-dot-vertical"
  223. data-bs-slide-to="1"
  224. ></button>
  225. <button
  226. type="button"
  227. data-bs-target="#carousel-indicators-dot-vertical"
  228. data-bs-slide-to="2"
  229. ></button>
  230. <button
  231. type="button"
  232. data-bs-target="#carousel-indicators-dot-vertical"
  233. data-bs-slide-to="3"
  234. ></button>
  235. <button
  236. type="button"
  237. data-bs-target="#carousel-indicators-dot-vertical"
  238. data-bs-slide-to="4"
  239. ></button>
  240. </div>
  241. <div class="carousel-inner">
  242. <div class="carousel-item active">
  243. <img class="d-block w-100" alt="" src="/samples/photos/man-looking-out-to-sea.jpg" />
  244. </div>
  245. <div class="carousel-item">
  246. <img class="d-block w-100" alt="" src="/samples/photos/making-magic-with-fairy-lights.jpg" />
  247. </div>
  248. <div class="carousel-item">
  249. <img
  250. class="d-block w-100"
  251. alt=""
  252. src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money-5.jpg"
  253. />
  254. </div>
  255. <div class="carousel-item">
  256. <img
  257. class="d-block w-100"
  258. alt=""
  259. src="/samples/photos/cup-of-coffee-on-table-in-cafe-2.jpg"
  260. />
  261. </div>
  262. <div class="carousel-item">
  263. <img
  264. class="d-block w-100"
  265. alt=""
  266. src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-2.jpg"
  267. />
  268. </div>
  269. </div>
  270. </div>
  271. ```
  272. An example of adding thumbnails on the right side:
  273. ```html example centered columns={2} height="35rem"
  274. <div
  275. id="carousel-indicators-thumb-vertical"
  276. class="carousel slide carousel-fade"
  277. data-bs-ride="carousel"
  278. >
  279. <div class="carousel-indicators carousel-indicators-vertical carousel-indicators-thumb">
  280. <button
  281. type="button"
  282. data-bs-target="#carousel-indicators-thumb-vertical"
  283. data-bs-slide-to="0"
  284. class="ratio ratio-4x3 active"
  285. style="
  286. background-image: url(/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg);
  287. "
  288. ></button>
  289. <button
  290. type="button"
  291. data-bs-target="#carousel-indicators-thumb-vertical"
  292. data-bs-slide-to="1"
  293. class="ratio ratio-4x3"
  294. style="background-image: url(/samples/photos/businesswoman-working-at-her-laptop.jpg)"
  295. ></button>
  296. <button
  297. type="button"
  298. data-bs-target="#carousel-indicators-thumb-vertical"
  299. data-bs-slide-to="2"
  300. class="ratio ratio-4x3"
  301. style="background-image: url(/samples/photos/color-palette-guide-sample-colors-catalog-.jpg)"
  302. ></button>
  303. <button
  304. type="button"
  305. data-bs-target="#carousel-indicators-thumb-vertical"
  306. data-bs-slide-to="3"
  307. class="ratio ratio-4x3"
  308. style="
  309. background-image: url(/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg);
  310. "
  311. ></button>
  312. <button
  313. type="button"
  314. data-bs-target="#carousel-indicators-thumb-vertical"
  315. data-bs-slide-to="4"
  316. class="ratio ratio-4x3"
  317. style="
  318. background-image: url(/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg);
  319. "
  320. ></button>
  321. </div>
  322. <div class="carousel-inner">
  323. <div class="carousel-item active">
  324. <img
  325. class="d-block w-100"
  326. alt=""
  327. src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg"
  328. />
  329. </div>
  330. <div class="carousel-item">
  331. <img
  332. class="d-block w-100"
  333. alt=""
  334. src="/samples/photos/businesswoman-working-at-her-laptop.jpg"
  335. />
  336. </div>
  337. <div class="carousel-item">
  338. <img
  339. class="d-block w-100"
  340. alt=""
  341. src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
  342. />
  343. </div>
  344. <div class="carousel-item">
  345. <img
  346. class="d-block w-100"
  347. alt=""
  348. src="/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg"
  349. />
  350. </div>
  351. <div class="carousel-item">
  352. <img
  353. class="d-block w-100"
  354. alt=""
  355. src="/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg"
  356. />
  357. </div>
  358. </div>
  359. </div>
  360. ```
  361. ## Carousel with captions
  362. Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. To make the text more readable on the image you can add `carousel-caption-background` which will add a black overlay over the image.
  363. ```html example centered columns={2} height="35rem"
  364. <div id="carousel-captions" class="carousel slide" data-bs-ride="carousel">
  365. <div class="carousel-inner">
  366. <div class="carousel-item active">
  367. <img
  368. class="d-block w-100"
  369. alt=""
  370. src="/samples/photos/workplace-with-laptop-on-table-at-home-4.jpg"
  371. />
  372. <div class="carousel-caption-background d-none d-md-block"></div>
  373. <div class="carousel-caption d-none d-md-block">
  374. <h3>Slide label</h3>
  375. <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
  376. </div>
  377. </div>
  378. <div class="carousel-item">
  379. <img
  380. class="d-block w-100"
  381. alt=""
  382. src="/samples/photos/people-watching-a-presentation-in-a-room.jpg"
  383. />
  384. <div class="carousel-caption-background d-none d-md-block"></div>
  385. <div class="carousel-caption d-none d-md-block">
  386. <h3>Slide label</h3>
  387. <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
  388. </div>
  389. </div>
  390. <div class="carousel-item">
  391. <img
  392. class="d-block w-100"
  393. alt=""
  394. src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg"
  395. />
  396. <div class="carousel-caption-background d-none d-md-block"></div>
  397. <div class="carousel-caption d-none d-md-block">
  398. <h3>Slide label</h3>
  399. <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
  400. </div>
  401. </div>
  402. <div class="carousel-item">
  403. <img
  404. class="d-block w-100"
  405. alt=""
  406. src="/samples/photos/books-and-purple-flowers-on-a-wooden-stool-by-the-bed.jpg"
  407. />
  408. <div class="carousel-caption-background d-none d-md-block"></div>
  409. <div class="carousel-caption d-none d-md-block">
  410. <h3>Slide label</h3>
  411. <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
  412. </div>
  413. </div>
  414. <div class="carousel-item">
  415. <img class="d-block w-100" alt="" src="/samples/photos/cup-of-coffee-and-an-open-book.jpg" />
  416. <div class="carousel-caption-background d-none d-md-block"></div>
  417. <div class="carousel-caption d-none d-md-block">
  418. <h3>Slide label</h3>
  419. <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
  420. </div>
  421. </div>
  422. </div>
  423. <a
  424. class="carousel-control-prev"
  425. data-bs-target="#carousel-captions"
  426. role="button"
  427. data-bs-slide="prev"
  428. >
  429. <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  430. <span class="visually-hidden">Previous</span>
  431. </a>
  432. <a
  433. class="carousel-control-next"
  434. data-bs-target="#carousel-captions"
  435. role="button"
  436. data-bs-slide="next"
  437. >
  438. <span class="carousel-control-next-icon" aria-hidden="true"></span>
  439. <span class="visually-hidden">Next</span>
  440. </a>
  441. </div>
  442. ```