Chips

Chips(标签)在小块中表示复杂实体,比如联系人。它们可包含照片、简短的标题字符串和简要信息。

Chips 布局

我们来看看基本的 chip HTML 布局

<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>

其中

CSS 变量

以下是相关的 CSS 变量(CSS 自定义属性)

: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);
}

示例

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>