Chips
Chips (Tags) represent complex entities in small blocks, such as a contact. They can contain a photo, short title string, and brief information.
Chips Layout
Let's look at basic chip HTML layout
<div class="chip">
<div class="chip-media">
<img src="https://cdn.framework7.io/placeholder/people-100x100-9.jpg" />
</div>
<div class="chip-label">Jane Doe</div>
<a href="#" class="chip-delete"></a>
</div>
<div class="chip chip-outline">
<div class="chip-label">Outline Chip</div>
</div>
Where
<div class="chip">
- Chip container<div class="chip-media">
- Chip "media" element, can contain image/avatar or icon. Optional<div class="chip-label">
- Chip text label<a class="chip-delete">
- Chip delete icon-link. Optionalchip-outline
- additional class that can be added to chip element to make it outline
CSS Variables
Below is the list of related CSS variables (CSS custom properties).
:root {
--f7-chip-font-size: 14px;
--f7-chip-media-font-size: 16px;
--f7-chip-delete-button-color: #000;
}
:root .dark,
:root.dark {
--f7-chip-delete-button-color: #fff;
}
.ios {
--f7-chip-height: 28px;
--f7-chip-media-size: 28px;
--f7-chip-padding-horizontal: 10px;
--f7-chip-border-radius: 28px;
--f7-chip-font-weight: normal;
--f7-chip-outline-border-color: rgba(0, 0, 0, 0.12);
--f7-chip-bg-color: rgba(0, 0, 0, 0.12);
--f7-chip-text-color: #000;
--f7-chip-outline-text-color: #000;
}
.ios .dark,
.ios.dark {
--f7-chip-bg-color: #333;
--f7-chip-text-color: #fff;
--f7-chip-outline-text-color: #fff;
--f7-chip-outline-border-color: rgba(255, 255, 255, 0.12);
}
.md {
--f7-chip-font-weight: 500;
--f7-chip-media-size: 24px;
--f7-chip-height: 32px;
--f7-chip-padding-horizontal: 12px;
--f7-chip-border-radius: 8px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-chip-bg-color: var(--f7-md-secondary-container);
--f7-chip-text-color: var(--f7-md-on-secondary-container);
--f7-chip-outline-text-color: var(--f7-md-on-surface);
--f7-chip-outline-border-color: var(--f7-md-outline);
}
Examples
chips.html
<template>
<div class="page">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="title">Chips</div>
</div>
</div>
<div class="page-content">
<div class="block-title">Chips With Text</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip">
<div class="chip-label">Example Chip</div>
</div>
<div class="chip">
<div class="chip-label">Another Chip</div>
</div>
<div class="chip">
<div class="chip-label">One More Chip</div>
</div>
<div class="chip">
<div class="chip-label">Fourth Chip</div>
</div>
<div class="chip">
<div class="chip-label">Last One</div>
</div>
</div>
<div class="block-title">Outline Chips</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip chip-outline">
<div class="chip-label">Example Chip</div>
</div>
<div class="chip chip-outline">
<div class="chip-label">Another Chip</div>
</div>
<div class="chip chip-outline">
<div class="chip-label">One More Chip</div>
</div>
<div class="chip chip-outline">
<div class="chip-label">Fourth Chip</div>
</div>
<div class="chip chip-outline">
<div class="chip-label">Last One</div>
</div>
</div>
<div class="block-title">Icon Chips</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip">
<div class="chip-media bg-color-blue">
<i class="icon f7-icons if-not-md">plus_circle</i>
<i class="icon material-icons md-only">add_circle</i>
</div>
<div class="chip-label">Add Contact</div>
</div>
<div class="chip">
<div class="chip-media bg-color-green">
<i class="icon f7-icons if-not-md">compass</i>
<i class="icon material-icons md-only">location_on</i>
</div>
<div class="chip-label">London</div>
</div>
<div class="chip">
<div class="chip-media bg-color-red">
<i class="icon f7-icons if-not-md">person</i>
<i class="icon material-icons md-only">person</i>
</div>
<div class="chip-label">John Doe</div>
</div>
</div>
<div class="block-title">Contact Chips</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip">
<div class="chip-media"><img src="https://cdn.framework7.io/placeholder/people-100x100-9.jpg" /></div>
<div class="chip-label">Jane Doe</div>
</div>
<div class="chip">
<div class="chip-media"><img src="https://cdn.framework7.io/placeholder/people-100x100-3.jpg" /></div>
<div class="chip-label">John Doe</div>
</div>
<div class="chip">
<div class="chip-media"><img src="https://cdn.framework7.io/placeholder/people-100x100-7.jpg" /></div>
<div class="chip-label">Adam Smith</div>
</div>
<div class="chip">
<div class="chip-media bg-color-pink">J</div>
<div class="chip-label">Jennifer</div>
</div>
<div class="chip">
<div class="chip-media bg-color-yellow text-color-black">C</div>
<div class="chip-label">Chris</div>
</div>
<div class="chip">
<div class="chip-media bg-color-red">K</div>
<div class="chip-label">Kate</div>
</div>
</div>
<div class="block-title">Deletable Chips / Tags</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip">
<div class="chip-label">Example Chip</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
<div class="chip">
<div class="chip-media bg-color-orange text-color-black">C</div>
<div class="chip-label">Chris</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
<div class="chip">
<div class="chip-media"><img src="https://cdn.framework7.io/placeholder/people-100x100-9.jpg" /></div>
<div class="chip-label">Jane Doe</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
<div class="chip">
<div class="chip-label">One More Chip</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
<div class="chip">
<div class="chip-media bg-color-pink">J</div>
<div class="chip-label">Jennifer</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
<div class="chip">
<div class="chip-media"><img src="https://cdn.framework7.io/placeholder/people-100x100-7.jpg" /></div>
<div class="chip-label">Adam Smith</div><a class="chip-delete" @click=${deleteChip}></a>
</div>
</div>
<div class="block-title">Color Chips</div>
<div class="block block-strong-ios block-outline-ios">
<div class="chip color-red">
<div class="chip-label">Red Chip</div>
</div>
<div class="chip color-green">
<div class="chip-label">Green Chip</div>
</div>
<div class="chip color-blue">
<div class="chip-label">Blue Chip</div>
</div>
<div class="chip color-orange">
<div class="chip-label">Orange Chip</div>
</div>
<div class="chip color-pink">
<div class="chip-label">Pink Chip</div>
</div>
<div class="chip chip-outline color-red">
<div class="chip-label">Red Chip</div>
</div>
<div class="chip chip-outline color-green">
<div class="chip-label">Green Chip</div>
</div>
<div class="chip chip-outline color-blue">
<div class="chip-label">Blue Chip</div>
</div>
<div class="chip chip-outline color-orange">
<div class="chip-label">Orange Chip</div>
</div>
<div class="chip chip-outline color-pink">
<div class="chip-label">Pink Chip</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default (props, { $, $f7 }) => {
const deleteChip = (e) => {
$f7.dialog.confirm('Do you want to delete this tiny demo Chip?', function () {
$(e.target).parents('.chip').remove();
});
}
return $render;
}
</script>