Cards component for rendering any type of content: photos, text, video and forms in a consistent way.
Use it for organizing content and provide entry points with optional actions.
Shipping with useful features for creating effective layouts:
Built from three blocks: header, content & footer
Fully supports typograpy elements & classes
Thumbnail, avatar, inline & cover image support
Integrates with horizontal scroll view and list view
Multiple theme support
Lightweight footprint
RTL Support
Supports card collections
As part of Gesture enabled listview it can be picked up with the Framework and Complete licenses or with the component license .
Cards demos available for other frameworks.
Viewing demos & code for
Browse the various components and demos
Close
Cards - Basic
Change demo
Angular Cards demo with header, content, footer blocks, basic typography and card actions. With source code. For Angular 22 and Ionic 8.
Cards - Images
Change demo
Cards - Video
Change demo
Angular Cards demo showing off how to include videos with and without description. Content can be shown around media cards. For Angular 22 and Ionic 8.
Cards - Lists
Change demo
Angular Cards demo that contains gesture enabled checklist and hierarchical listview. Add or remove elements from the list. For Angular 22 and Ionic 8.
Cards - Social cards
Change demo
Angular social cards demo with avatar, name, timestamp, photos, text and various actions. Build custom templates. For Angular 22 and Ionic 8.
Cards - Forms
Change demo
Angular Cards demo with various form elements. Add text fields, selects, checkboxes, sliders, switch, radio, buttons & more. For Angular 22 and Ionic 8.
Cards - Swipe away
Change demo
Angular Notification card demo. Use it like notification center or google now. Swipe away to clear. With source code. For Angular 22 and Ionic 8.
Cards - Stacked cards
Change demo
Angular Stacked and rotated cards with tinder-like swipe away interaction. Use cards with listview gestures and custom CSS. For Angular 22 and Ionic 8.
import { Component } from '@angular/core';
import { mobiscroll, MbscListviewOptions } from '@mobiscroll/angular';
mobiscroll.settings = {
lang : ' ' ,
theme : ' ',
themeVariant : ' '
};
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
listSettings: MbscListviewOptions = {
stages: [{
percent: -20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}, {
percent: 20,
action: (event, inst) => {
inst.remove(event.target);
return false;
}
}],
actionable: false
};
cycleSettings: MbscListviewOptions = {
stages: [{
percent: -20,
action: (event, inst) => {
inst.move(event.target, 0);
return false;
}
}, {
percent: 20,
action: (event, inst) => {
inst.move(event.target, 0);
return false;
}
}],
actionable: false
};
}
<mbsc-note primary>
Swipe cards away left or right to clear stack.
</mbsc-note>
<div class="custom-card-deck">
<mbsc-listview [options]="listSettings">
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Best places to seek silence</mbsc-card-title>
<mbsc-card-subtitle>The Dhamma Giri, a vipassana meditation retreat.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_1.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>Best animal adventure</mbsc-card-title>
<mbsc-card-subtitle>A young panda tests his climbing skills at the Chengdu Research Base.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_2.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>Best places to test your survival skills</mbsc-card-title>
<mbsc-card-subtitle>A view across the Turnagain Arm on Alaska's Kenai Peninsula.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_3.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Most accessible destinations</mbsc-card-title>
<mbsc-card-subtitle>The impressive Mayan site of Chichén Itzá.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_4.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>The world’s most extraordinary sleepovers</mbsc-card-title>
<mbsc-card-subtitle>Explore the azure depths with a stay at the Manta Resort's underwater room.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_5.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
</mbsc-listview>
</div>
<mbsc-note primary>
Swipe cards away for cyclic movement.
</mbsc-note>
<div class="custom-card-deck">
<mbsc-listview [options]="cycleSettings">
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Best places to seek silence</mbsc-card-title>
<mbsc-card-subtitle>The Dhamma Giri, a vipassana meditation retreat.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_1.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>Best animal adventure</mbsc-card-title>
<mbsc-card-subtitle>A young panda tests his climbing skills at the Chengdu Research Base.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_2.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card">
<mbsc-card-header>
<mbsc-card-title>Best places to test your survival skills</mbsc-card-title>
<mbsc-card-subtitle>A view across the Turnagain Arm on Alaska's Kenai Peninsula.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_3.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-right">
<mbsc-card-header>
<mbsc-card-title>Most accessible destinations</mbsc-card-title>
<mbsc-card-subtitle>The impressive Mayan site of Chichén Itzá.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_4.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
<mbsc-listview-item>
<mbsc-card class="custom-card custom-card-rotate-left">
<mbsc-card-header>
<mbsc-card-title>The world’s most extraordinary sleepovers</mbsc-card-title>
<mbsc-card-subtitle>Explore the azure depths with a stay at the Manta Resort's underwater room.</mbsc-card-subtitle>
</mbsc-card-header>
<mbsc-card-content>
<img draggable="false" src="https://img.mobiscroll.com/demos/card_5.png">
</mbsc-card-content>
</mbsc-card>
</mbsc-listview-item>
</mbsc-listview>
</div>
.custom-card-deck {
margin: 1em 0;
}
.custom-card-deck .mbsc-lv-sl-c {
max-width: 500px;
margin: 0 auto;
}
.custom-card-deck .mbsc-lv-v {
padding-top: 88%;
min-height: 390px;
}
.custom-card-deck .mbsc-lv-item {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.custom-card-deck .mbsc-lv-item.mbsc-lv-item-swiping {
z-index: 10;
}
.custom-card-deck .custom-card-rotate-right {
transform: rotate(1deg);
}
.custom-card-deck .custom-card-rotate-left {
transform: rotate(-2deg);
}
.custom-card-deck .mbsc-card.custom-card {
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule, HttpClientJsonpModule } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MbscModule } from '@mobiscroll/angular';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
MbscModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
HttpClientJsonpModule
],
bootstrap: [AppComponent]
})
export class AppModule { }
Cards - Content
Change demo
Angular Image card demo with description. Use it between content blocks or virtually anywhere for clean rendering. For Angular 22 and Ionic 8.
Angular Cards demo with tabbed view. Use it to break up content logically and provide bite-sized information. For Angular 22 and Ionic 8.
Cards - Collapsible
Change demo
Angular Collapsible card list with summary in the header and additional content visible when the card is expanded. For Angular 22 and Ionic 8.
Cards - Accordion
Change demo
Angular Accordion cards with one card expanded at a time. Use it let users focus on a single piece of content. For Angular 22 and Ionic 8.
Cards - Masonry layout
Change demo
Angular Image cards with variable height in masonry layout. Four column layout similar to how Pinterest renders content. For Angular 22 and Ionic 8.
Cards - Grid layout
Change demo
Angular image card grid with title and description. Use it in horizontally scrollable lists or responsive grid layout. For Angular 22 and Ionic 8.
Looking for something you didn't see or have a sales question? Ask us about it, we're here to help.
Ask us anything
Customize & try demos locally
Sign in or start your free trial
What framework are you using?
Javascript
jQuery
AngularJS
Angular
React
Other
Ionic Angular
Select a framework
Install demo in your app
Follow this quick, two minute install guide
Close window
Install demo in your app
Follow this quick, two minute install guide
Close window
Customize & try demos locally
How would you like to do it?
Install demo in your app
Follow this quick, two minute install guide
Close window
Thanks for downloading
Try and customize the app locally
Extract the zip file and run the project like any Ionic app. Make sure to have Ionic CLI installed and open the terminal in the app root folder.
Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ionic serve
Let us know if we can help and enjoy!
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
Extract the zip file and open the demo in your favorite browser.
To install Mobiscroll in your project
follow instructions from this page .
Let us know if we can help and enjoy! 👍
Thanks for downloading
Customize demos locally
Please extract the zip file and run the project like any Angular CLI app.
Make sure to have the Angular CLI installed.
For installation and usage, extract the zip file and open a terminal window and follow these steps.
Step 1. Run in root folder
$ npm install
Step 2. Start the app
$ ng serve --open
Let us know if we can help and enjoy! 👍
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The easiest way to get started is to follow the installation steps and by
grabbing the code directly from the demo page. Let us know if we can help and enjoy! 👍
You'll find a fully functional Kitchen-sink Ionic app in the zip file.
Thanks for downloading
Customize demos locally
Everything is set up so that you can dig in right away and start exploring.
We have set up a trial so that you can try the demos locally.
The demos are using Babel's in-browser ES6 and JSX transformer.
Extract the zip file and open the demo in your browser. To install Mobiscroll in your project
follow instructions from this page .
Let us know if we can help and enjoy! 👍
Customize & try this demo locally
Sign in or start your free trial
Need to update your password?
Enter a new password and hit the button below to change it!
You are setting a password for the account
Need to update your password?
Your password has been changed!