- List View (Table View)
- List View Block
- List Item
- List Item Header/Footer
- Link Item
- List Button
- List Divider
- Grouped Lists
- Simple List
- Links List
- Media List
- Custom Table-like Elements
- CSS Variables
- Examples
- Simple List
- Links List
- List With Icons
- Links
- Links, Header, Footer
- Links Without Icons
- Grouped with sticky titles
- Mixed and nested
- Mixed, inset
- Tablet inset
- Media List / Songs
- Media List / Mail App
- With centered chevron icon
- Media List / Something more simple
- Media List / Inset
- List Buttons
- Inset List Buttons
- Custom Table-like Layout
List View (Table View)
List views are versatile and powerful user interface compontents frequently found in apps. A list view presents data in a scrollable list of multiple rows that may be divided into sections/groups.
List views have many purposes:
- To let users navigate through hierarchically structured data
- To present an indexed list of items
- To display detail information and controls in visually distinct groupings
- To present a selectable list of options
List View Block
List block is your list view elements wrapper.
So first of all, all your list view elements should be wrapped with <div class="list">
element:
<div class="list">
<ul>
... list elements here ...
</ul>
</div>
To remove hairlines (thin borders) around list block we need additional no-hairlines
class:
<div class="list no-hairlines">
<ul>
... list elements here ...
</ul>
</div>
To remove hairlines (thin borders) between list items we need additional no-hairlines-between
class:
<div class="list no-hairlines-between">
<ul>
... list elements here ...
</ul>
</div>
To make list block inset we need additional inset
class:
<div class="list inset">
<ul>
... list elements here ...
</ul>
</div>
To make block inset only on large screens we need to use medium-inset
(>= 768px) class instead:
<div class="list medium-inset">
<ul>
... list elements here ...
</ul>
</div>
For full set of such responsive classes check Grid docs. They are xsmall-inset
, small-inset
, medium-inset
, large-inset
, xlarge-inset
.
List Item
Single list element has pretty complex but flexible layout:
<li>
<div class="item-content">
<div class="item-media">
<i class="icon my-icon"></i>
</div>
<div class="item-inner">
<div class="item-title">
List element title
</div>
<div class="item-after">
List element label
</div>
</div>
</div>
</li>
Where:
item-content
- main flex wrapper foritem-media
anditem-inner
. Requred element.
item-media
- container for your media element like icon, image, etc. Optional element.item-inner
- main flex wrapper foritem-title
anditem-after
. Requred element.
item-title
- single-line list item title. Required element.item-after
- list item label. Could countain any additional HTML elements, like label text, or badge, or switch/toggle or button, etc. Optional element.
Because .item-content is actually CSS flex-box element, note that
item-media
anditem-inner
should be direct children ofitem-content
!For the same reason
item-title
anditem-after
should be direct children ofitem-inner
!
Also note that if your list item has nothing additional, you can user item-content
class on <li>
element:
<li class="item-content">
<div class="item-media">
<i class="icon my-icon"></i>
</div>
<div class="item-inner">
<div class="item-title">
List element title
</div>
<div class="item-after">
List element label
</div>
</div>
</li>
List Item Header/Footer
If we need to add list item header/footer text in addition to item’s title we can use item-header
and item-footer
elements:
<li>
<div class="item-content">
<div class="item-media">
<i class="icon my-icon"></i>
</div>
<div class="item-inner">
<div class="item-title">
<!-- Item header, must be first child of item-title -->
<div class="item-header">Item header text</div>
List element title
<!-- Item footer, must be last child of item-title -->
<div class="item-footer">Item footer text</div>
</div>
<div class="item-after">...</div>
</div>
</div>
</li>
Link Item
Of course in most cases we need to use list view elements as links () to other pages or data. In this case we need to wrap item-content
with <a class="item-link">
element:
<li>
<a href="#" class="item-link">
<div class="item-content">
<div class="item-media">...</div>
<div class="item-inner">...</div>
</div>
</a>
</li>
If your links contains nothing except “item-content” then we can just use link as “item-content”:
<li>
<a href="#" class="item-link item-content">
<div class="item-media">...</div>
<div class="item-inner">...</div>
</a>
</li>
Note that item-inner
has additional right padding and chevron icon when it is in item-link
To remove this chevron icon and extra padding, you can add no-chevron
class to link item or to containing list
List Button
List button is a simplified list link item, usefule in case you need to trigger simple self-explaining actions:
<li>
<a class="list-button">List Button 1</a>
</li>
<li>
<a class="list-button">List Button 2</a>
</li>
List Divider
List divider is a simple list element with title to visually divide one list items from another:
<li class="item-divider">Divider title here</li>
<div class="list">
<ul>
<!-- List items -->
<li class="item-content">...</li>
<li class="item-content">...</li>
<!-- Divider -->
<li class="item-divider">Divider title here</li>
<!-- Another list items -->
<li class="item-content">...</li>
<li class="item-content">...</li>
</ul>
</div>
Grouped Lists
Sometimes we need to group list view elements inside of single list block. In this case we need to additional list-group
elements:
<div class="list">
<!-- First group-->
<div class="list-group">
<ul>
<li class="list-group-title">First group</li>
<li class="item-content">...</li>
<li class="item-content">...</li>
...
</ul>
</div>
<!-- Second group-->
<div class="list-group">
<ul>
<li class="list-group-title">Second Group</li>
<li class="item-content">...</li>
<li class="item-content">...</li>
...
</ul>
</div>
</div>
You may ask what is the difference from simple dividers? With list groups, group titles have sticky position during scroll within single group.
Simple List
In case we need list with simple items structure that have only titles, we may use Simple List modification. In this case we need additional class simple-list
on list block with plain <li>
items layout:
<div class="list simple-list">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
...
</ul>
</div>
Links List
In case we need list with simple link items structure that have only titles, we may use Links List modification. In this case we need additional class links-list
on list block with plain <li><a>...</a></li>
items layout:
<div class="list links-list">
<ul>
<li>
<a href="#">Link Item 1</a>
</li>
<li>
<a href="#">Link Item 2</a>
</li>
<li>
<a href="#">Link Item 3</a>
</li>
...
</ul>
</div>
Media List
Media list view is extended case of List View indended to display more complex data like products, services, users, etc. In this case we need additional media-list
class on list block.
And of course it has a bit more complex layout:
<!-- Media list block has additional "media-list" class -->
<div class="list media-list">
<ul>
<li>
<div class="item-content">
<div class="item-media">
<img src="path/to/img.jpg">
</div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Element title</div>
<div class="item-after">Element label</div>
</div>
<div class="item-subtitle">Subtitle</div>
<div class="item-text">Additional description text</div>
</div>
</div>
</li>
</ul>
</div>
Where:
item-content
- main flex wrapper foritem-media
anditem-inner
. Requred element.
item-media
- container for your media element like icon, image, etc. Optional element.item-inner
- Requred element.
item-title-row
- main flex wrapper foritem-title
anditem-after
. Optional element.
item-title
- single-line list item title. Optional element.item-after
- list item label. Could countain any additional HTML elements, like label text, or badge, or switch/toggle or button, etc. Optional element.
item-subtitle
- additional single-line title. Optional element.item-text
- additional two-lines container for detailed description. Optional element.
When you use Link Item (item-link) in media list it will render chevron icon (>
) at the level of item-title
. If you want to move this chevron to the center of item, then you need to add chevron-center
class to this item or to the containing list
Custom Table-like Elements
In you case you need some custom list item layout with table-like structure you may use additional list elements item-row
and item-cell
:
<li class="item-content">
<div class="item-inner item-cell">
<div class="item-row">
<div class="item-cell">Cell 1-1</div>
<div class="item-cell">Cell 1-2</div>
<div class="item-cell">Cell 1-3</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 2-1</div>
<div class="item-cell">Cell 2-2</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 3-1</div>
<div class="item-cell">
<div class="item-row">
Cell 3-2
</div>
<div class="item-row">
Cell 3-3
</div>
</div>
</div>
</div>
</li>
CSS Variables
Below is the list of related CSS variables (CSS custom properties).
Note that commented variables are not specified by default and their values is what they fallback to in this case.
:root {
--f7-list-inset-side-margin: 16px;
--f7-list-item-cell-margin: 16px;
--f7-list-item-padding-horizontal: 16px;
--f7-list-media-item-padding-horizontal: 16px;
--f7-list-item-text-max-lines: 2;
--f7-list-chevron-icon-font-size: 20px;
--f7-list-item-title-font-size: inherit;
--f7-list-item-title-font-weight: 400;
--f7-list-item-title-text-color: inherit;
--f7-list-item-title-line-height: inherit;
--f7-list-item-title-white-space: nowrap;
--f7-list-item-subtitle-font-weight: 400;
--f7-list-item-subtitle-text-color: inherit;
--f7-list-item-subtitle-line-height: inherit;
--f7-list-item-text-font-weight: 400;
--f7-list-item-after-font-weight: 400;
--f7-list-item-header-text-color: inherit;
--f7-list-item-header-font-size: 12px;
--f7-list-item-header-font-weight: 400;
--f7-list-item-header-line-height: 1.2;
--f7-list-item-footer-font-size: 12px;
--f7-list-item-footer-font-weight: 400;
--f7-list-item-footer-line-height: 1.2;
--f7-list-button-font-size: inherit;
--f7-list-button-font-weight: 400;
--f7-list-item-divider-line-height: inherit;
--f7-list-group-title-line-height: inherit;
--f7-list-bg-color: #fff;
--f7-list-chevron-icon-color: rgba(0, 0, 0, 0.2);
}
:root .theme-dark,
:root.theme-dark {
--f7-list-button-border-color: rgba(255, 255, 255, 0.15);
--f7-list-bg-color: #1c1c1d;
--f7-list-border-color: rgba(255, 255, 255, 0.15);
--f7-list-item-border-color: rgba(255, 255, 255, 0.15);
--f7-list-item-divider-border-color: rgba(255, 255, 255, 0.15);
--f7-list-item-divider-bg-color: #232323;
--f7-list-group-title-bg-color: #232323;
--f7-list-chevron-icon-color: rgba(255, 255, 255, 0.3);
}
.ios {
--f7-list-in-list-padding-left: 30px;
--f7-list-inset-border-radius: 8px;
--f7-list-margin-vertical: 35px;
--f7-list-font-size: 17px;
--f7-list-chevron-icon-area: 20px;
--f7-list-border-color: rgba(0, 0, 0, 0.22);
--f7-list-item-border-color: rgba(0, 0, 0, 0.22);
--f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.15);
--f7-list-item-subtitle-font-size: 15px;
--f7-list-item-text-font-size: 15px;
--f7-list-item-text-line-height: 21px;
--f7-list-item-after-font-size: inherit;
--f7-list-item-after-line-height: inherit;
--f7-list-item-after-padding: 5px;
--f7-list-item-min-height: 44px;
--f7-list-item-media-margin: 16px;
--f7-list-item-media-icons-margin: 5px;
--f7-list-item-padding-vertical: 8px;
--f7-list-media-item-padding-vertical: 10px;
--f7-list-media-item-title-font-weight: 600;
/*
--f7-list-button-text-color: var(--f7-theme-color);
*/
--f7-list-button-text-align: center;
--f7-list-button-border-color: rgba(0, 0, 0, 0.22);
--f7-list-item-divider-height: 31px;
--f7-list-item-divider-font-size: inherit;
--f7-list-item-divider-font-weight: 400;
--f7-list-item-divider-bg-color: rgba(0, 0, 0, 0.03);
--f7-list-item-divider-border-color: rgba(0, 0, 0, 0.22);
--f7-list-group-title-height: 31px;
--f7-list-group-title-font-size: inherit;
--f7-list-group-title-font-weight: 400;
--f7-list-group-title-bg-color: #f7f7f7;
--f7-list-item-after-text-color: rgba(0, 0, 0, 0.45);
--f7-list-item-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-list-item-text-text-color: rgba(0, 0, 0, 0.45);
--f7-list-item-divider-text-color: rgba(0, 0, 0, 0.45);
--f7-list-group-title-text-color: rgba(0, 0, 0, 0.45);
--f7-list-button-pressed-bg-color: rgba(0, 0, 0, 0.15);
}
.ios .theme-dark,
.ios.theme-dark {
--f7-list-item-after-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-header-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-footer-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-text-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-divider-text-color: rgba(255, 255, 255, 0.55);
--f7-list-group-title-text-color: rgba(255, 255, 255, 0.55);
--f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.08);
--f7-list-button-pressed-bg-color: rgba(255, 255, 255, 0.08);
}
.md {
--f7-list-in-list-padding-left: 40px;
--f7-list-inset-border-radius: 4px;
--f7-list-margin-vertical: 32px;
--f7-list-font-size: 16px;
--f7-list-chevron-icon-area: 26px;
--f7-list-border-color: rgba(0, 0, 0, 0.12);
--f7-list-item-border-color: rgba(0, 0, 0, 0.12);
--f7-list-item-subtitle-font-size: 14px;
--f7-list-item-text-font-size: 14px;
--f7-list-item-text-line-height: 20px;
--f7-list-item-after-font-size: 14px;
--f7-list-item-after-line-height: inherit;
--f7-list-item-after-padding: 8px;
--f7-list-item-min-height: 48px;
--f7-list-item-media-margin: 16px;
--f7-list-item-media-icons-margin: 8px;
--f7-list-item-padding-vertical: 8px;
--f7-list-media-item-padding-vertical: 14px;
/*
--f7-list-media-item-title-font-weight: var(--f7-list-item-title-font-weight);
*/
--f7-list-button-text-align: left;
--f7-list-button-border-color: transparent;
--f7-list-item-divider-height: 48px;
--f7-list-item-divider-font-size: 14px;
--f7-list-item-divider-font-weight: 400;
--f7-list-item-divider-bg-color: #f4f4f4;
--f7-list-item-divider-border-color: transparent;
--f7-list-group-title-height: 48px;
--f7-list-group-title-font-size: 14px;
--f7-list-group-title-font-weight: 400;
--f7-list-group-title-bg-color: #f4f4f4;
--f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-list-item-text-text-color: rgba(0, 0, 0, 0.54);
--f7-list-item-after-text-color: rgba(0, 0, 0, 0.54);
--f7-list-item-footer-text-color: rgba(0, 0, 0, 0.5);
--f7-list-button-text-color: #212121;
--f7-list-button-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-list-item-divider-text-color: rgba(0, 0, 0, 0.54);
--f7-list-group-title-text-color: rgba(0, 0, 0, 0.54);
}
.md .theme-dark,
.md.theme-dark {
--f7-list-button-text-color: #fff;
--f7-list-item-divider-text-color: #fff;
--f7-list-group-title-text-color: #fff;
--f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.05);
--f7-list-button-pressed-bg-color: rgba(255, 255, 255, 0.05);
--f7-list-item-text-text-color: rgba(255, 255, 255, 0.54);
--f7-list-item-after-text-color: rgba(255, 255, 255, 0.54);
--f7-list-item-footer-text-color: rgba(255, 255, 255, 0.54);
}
.aurora {
--f7-list-in-list-padding-left: 16px;
--f7-list-inset-border-radius: 4px;
--f7-list-margin-vertical: 15px;
--f7-list-font-size: 14px;
--f7-list-chevron-icon-area: 15px;
--f7-list-chevron-icon-font-size: 16px;
--f7-list-border-color: rgba(0, 0, 0, 0.12);
--f7-list-item-border-color: rgba(0, 0, 0, 0.12);
--f7-list-item-title-line-height: 1.3;
--f7-list-item-subtitle-font-size: 14px;
--f7-list-item-subtitle-line-height: 1.3;
--f7-list-item-text-font-size: 12px;
--f7-list-item-text-line-height: 16px;
--f7-list-item-after-font-size: 13px;
--f7-list-item-after-line-height: 1.2;
--f7-list-item-after-padding: 5px;
--f7-list-item-min-height: 32px;
--f7-list-item-media-margin: 10px;
--f7-list-item-media-icons-margin: 5px;
--f7-list-item-padding-vertical: 5px;
--f7-list-media-item-padding-vertical: 5px;
--f7-list-media-item-title-font-weight: 600;
/*
--f7-list-button-text-color: var(--f7-theme-color);
*/
--f7-list-button-text-align: center;
--f7-list-button-border-color: rgba(0, 0, 0, 0.12);
--f7-list-item-divider-height: 19px;
--f7-list-item-divider-font-size: inherit;
--f7-list-item-divider-font-weight: 500;
--f7-list-item-divider-bg-color: rgba(0, 0, 0, 0.03);
--f7-list-item-divider-border-color: transparent;
--f7-list-group-title-height: 19px;
--f7-list-group-title-font-size: inherit;
--f7-list-group-title-font-weight: 500;
--f7-list-group-title-bg-color: #f7f7f7;
--f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-list-link-hover-bg-color: rgba(0, 0, 0, 0.03);
--f7-list-item-text-text-color: rgba(0, 0, 0, 0.6);
--f7-list-item-after-text-color: rgba(0, 0, 0, 0.5);
--f7-list-item-footer-text-color: rgba(0, 0, 0, 0.6);
--f7-list-button-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-list-button-hover-bg-color: rgba(0, 0, 0, 0.03);
--f7-list-item-divider-text-color: rgba(0, 0, 0, 0.6);
--f7-list-group-title-text-color: rgba(0, 0, 0, 0.6);
}
.aurora .theme-dark,
.aurora.theme-dark {
--f7-list-item-text-text-color: rgba(255, 255, 255, 0.54);
--f7-list-item-after-text-color: rgba(255, 255, 255, 0.54);
--f7-list-item-footer-text-color: rgba(255, 255, 255, 0.54);
--f7-list-item-divider-text-color: rgba(255, 255, 255, 0.6);
--f7-list-group-title-text-color: rgba(255, 255, 255, 0.6);
--f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.05);
--f7-list-link-hover-bg-color: rgba(255, 255, 255, 0.03);
--f7-list-button-pressed-bg-color: rgba(255, 255, 255, 0.05);
--f7-list-button-hover-bg-color: rgba(255, 255, 255, 0.03);
}
Examples
Simple List
<div class="list simple-list">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
Links List
<div class="list links-list">
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</div>
List With Icons
<div class="list">
<ul>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">John Doe</div>
<div class="item-after"> <span class="badge">5</span></div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Jenna Smith</div>
</div>
</div>
</li>
</ul>
</div>
Links
<div class="list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">John Doe</div>
<div class="item-after">Cleaner</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Jenna Smith</div>
</div>
</a>
</li>
</ul>
</div>
Links, Header, Footer
<div class="list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">
<div class="item-header">Name</div>
| John Doe
</div>
<div class="item-after">Edit</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">
<div class="item-header">Phone</div>
| +7 90 111-22-3344
</div>
<div class="item-after">Edit</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">
<div class="item-header">Email</div>
| john@doe
<div class="item-footer">Home</div>
</div>
<div class="item-after">Edit</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">
<div class="item-header">Email</div>
| john@framework7
<div class="item-footer">Work</div>
</div>
<div class="item-after">Edit</div>
</div>
</a>
</li>
</ul>
</div>
Links Without Icons
<div class="list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title">John Doe</div>
</div>
</a>
</li>
<li class="item-divider">Divider Here</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title">Jenna Smith</div>
</div>
</a>
</li>
</ul>
</div>
Grouped with sticky titles
<div class="list">
<div class="list-group">
<ul>
<li class="list-group-title">A</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Aaron </div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Abbie</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Adam</div>
</div>
</div>
</li>
</ul>
</div>
<div class="list-group">
<ul>
<li class="list-group-title">B</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Bailey</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Barclay</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Bartolo</div>
</div>
</div>
</li>
</ul>
</div>
<div class="list-group">
<ul>
<li class="list-group-title">C</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Caiden</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Calvin</div>
</div>
</div>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">Candy</div>
</div>
</div>
</li>
</ul>
</div>
</div>
Mixed and nested
<div class="list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Two icons here</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">No icons here</div>
</div>
</div>
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Two icons here</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-inner">
<div class="item-title">No icons here</div>
</div>
</div>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ultra long text goes here, no, it is really really long</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">With toggle</div>
<div class="item-after">
<label class="toggle toggle-init">
<input type="checkbox">
<span class="toggle-icon"></span>
</label>
</div>
</div>
</div>
</li>
</ul>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ultra long text goes here, no, it is really really long</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">With toggle</div>
<div class="item-after">
<label class="toggle toggle-init">
<input type="checkbox"/>
<span class="toggle-icon"></span>
</label>
</div>
</div>
</div>
</li>
</ul>
</div>
Mixed, inset
<div class="list inset">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Two icons here</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ultra long text goes here, no, it is really really long</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">With toggle</div>
<div class="item-after">
<label class="toggle toggle-init">
<input type="checkbox"/>
<span class="toggle-icon"></span>
</label>
</div>
</div>
</div>
</li>
</ul>
<div class="block-footer">
<p>Here comes some useful information about list above</p>
</div>
</div>
Tablet inset
<div class="list medium-inset">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ivan Petrov</div>
<div class="item-after">CEO</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Two icons here</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><i class="icon icon-f7"></i></div>
<div class="item-inner">
<div class="item-title">Ultra long text goes here, no, it is really really long</div>
</div>
</a>
</li>
</ul>
<div class="block-footer">
<p>This list block will look like "inset" only on tablets (iPad)</p>
</div>
</div>
Media List / Songs
<div class="list media-list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/people-160x160-1.jpg" width="80"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Yellow Submarine</div>
<div class="item-after">$15</div>
</div>
<div class="item-subtitle">Beatles</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div></a></li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/people-160x160-2.jpg" width="80"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Don't Stop Me Now</div>
<div class="item-after">$22</div>
</div>
<div class="item-subtitle">Queen</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/people-160x160-3.jpg" width="80"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Billie Jean</div>
<div class="item-after">$16</div>
</div>
<div class="item-subtitle">Michael Jackson</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
</ul>
</div>
Media List / Mail App
<div class="list media-list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Facebook</div>
<div class="item-after">17:14</div>
</div>
<div class="item-subtitle">New messages from John Doe</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">John Doe (via Twitter)</div>
<div class="item-after">17:11</div>
</div>
<div class="item-subtitle">John Doe (@_johndoe) mentioned you on Twitter!</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Facebook</div>
<div class="item-after">16:48</div>
</div>
<div class="item-subtitle">New messages from John Doe</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">John Doe (via Twitter)</div>
<div class="item-after">15:32</div>
</div>
<div class="item-subtitle">John Doe (@_johndoe) mentioned you on Twitter!</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
</ul>
</div>
With centered chevron icon
<div class="list media-list chevron-center">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Facebook</div>
<div class="item-after">17:14</div>
</div>
<div class="item-subtitle">New messages from John Doe</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">John Doe (via Twitter)</div>
<div class="item-after">17:11</div>
</div>
<div class="item-subtitle">John Doe (@_johndoe) mentioned you on Twitter!</div>
<div class="item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus.</div>
</div>
</a>
</li>
</ul>
</div>
Media List / Something more simple
<div class="list media-list">
<ul>
<li>
<div class="item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-1.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Yellow Submarine</div>
</div>
<div class="item-subtitle">Beatles</div>
</div>
</div>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-2.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Don't Stop Me Now</div>
</div>
<div class="item-subtitle">Queen</div>
</div>
</a>
</li>
<li>
<div class="item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-3.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Billie Jean</div>
</div>
<div class="item-subtitle">Michael Jackson</div>
</div>
</div>
</li>
</ul>
</div>
Media List / Inset
<div class="list media-list inset">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-4.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Yellow Submarine</div>
</div>
<div class="item-subtitle">Beatles</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-5.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Don't Stop Me Now</div>
</div>
<div class="item-subtitle">Queen</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-media"><img src="https://cdn.framework7.io/placeholder/fashion-88x88-6.jpg" width="44"/></div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Billie Jean</div>
</div>
<div class="item-subtitle">Michael Jackson</div>
</div>
</a>
</li>
</ul>
</div>
List Buttons
<div class="list">
<ul>
<li>
<a href="#" class="list-button">Button 1</a>
</li>
<li>
<a href="#" class="list-button">Button 2</a>
</li>
<li>
<a href="#" class="list-button">Button 3</a>
</li>
</ul>
</div>
Inset List Buttons
<div class="list inset">
<ul>
<li>
<a href="#" class="list-button">Button 1</a>
</li>
<li>
<a href="#" class="list-button">Button 2</a>
</li>
<li>
<a href="#" class="list-button">Button 3</a>
</li>
</ul>
</div>
Custom Table-like Layout
<div class="list">
<ul>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner item-cell">
<div class="item-row">
<div class="item-cell">Cell 1-1</div>
<div class="item-cell">Cell 1-2</div>
<div class="item-cell">Cell 1-3</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 2-1</div>
<div class="item-cell">Cell 2-2</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 3-1</div>
<div class="item-cell">
<div class="item-row">
Cell 3-2
</div>
<div class="item-row">
Cell 3-3
</div>
</div>
</div>
</div>
</a>
</li>
<li>
<a href="#" class="item-link item-content">
<div class="item-inner item-cell">
<div class="item-row">
<div class="item-cell">Cell 1-1</div>
<div class="item-cell">Cell 1-2</div>
<div class="item-cell">Cell 1-3</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 2-1</div>
<div class="item-cell">Cell 2-2</div>
</div>
<div class="item-row">
<div class="item-cell">Cell 3-1</div>
<div class="item-cell">
<div class="item-row">
Cell 3-2
</div>
<div class="item-row">
Cell 3-3
</div>
</div>
</div>
</div>
</a>
</li>
</ul>
</div>