浮动操作按钮 Svelte 组件

浮动操作按钮 (FAB) 用于提升操作。它们以悬浮在 UI 上方的圆形图标为特色,并具有包括变形、启动和转移锚点的运动行为。

浮动操作按钮 Svelte 组件代表 浮动操作按钮 元素。

FAB 组件

以下组件已包含

FAB 属性

属性类型默认值描述
<Fab> 属性
href字符串
布尔值
要加载的页面的 URL(如果设置)。将在主要 FAB 链接上设置 href 属性。如果为布尔值 href="false",则不会添加 href 标签
target字符串链接目标属性的值,例如 _blank_self 等。
position字符串right-bottomFAB 位置。可以是以下之一
  • right-bottom
  • center-bottom
  • left-bottom
  • right-center
  • center-center
  • left-center
  • right-top
  • center-top
  • left-top
morphTo字符串FAB 变形目标的字符串 CSS 选择器
text字符串FAB 按钮文本。如果指定,则将显示为扩展的 FAB,带有文本标签
tooltip字符串FAB 工具提示 文本,显示在按钮悬停/按下时
tooltipTrigger字符串hover定义如何触发(打开)工具提示。可以是 hoverclickmanual
<FabButtons> 属性
position字符串top速度拨号按钮位置,可以是以下之一
  • top - 按钮将出现在 FAB 的顶部
  • right - 按钮将出现在 FAB 的右侧
  • bottom - 按钮将出现在 FAB 的底部
  • left - 按钮将出现在 FAB 的左侧
  • center - 按钮将出现在 FAB 周围
<FabButton> 属性
fabClose布尔值false启用后,单击此按钮将关闭 FAB
target字符串链接目标属性的值,例如 _blank_self 等。
label字符串按钮文本标签
tooltip字符串按钮 工具提示 文本,显示在按钮悬停/按下时
tooltipTrigger字符串hover定义如何触发(打开)工具提示。可以是 hoverclickmanual

FAB 事件

事件描述
<Fab> 事件
click单击 FAB 后将触发事件
<FabButton> 事件
click单击 FAB 速度拨号按钮后将触发事件

FAB 插槽

FAB Svelte 组件 (<Fab>) 具有用于自定义元素的附加插槽

示例

fab.svelte
<script>
  import { Navbar, Page, Block, Fab, FabButton, FabButtons, Icon } from 'framework7-svelte';
</script>

<Page>
  <Navbar title="Floating Action Button" />

  <Fab position="right-top">
    <Icon ios="f7:add" md="material:add" />
    <Icon ios="f7:close" md="material:close" />
    <FabButtons position="left">
      <FabButton>1</FabButton>
      <FabButton>2</FabButton>
      <FabButton>3</FabButton>
    </FabButtons>
  </Fab>

  <Fab position="right-bottom">
    <Icon ios="f7:add" md="material:add" />
    <Icon ios="f7:close" md="material:close" />
    <FabButtons position="top">
      <FabButton label="Action 1">1</FabButton>
      <FabButton label="Action 2">2</FabButton>
      <FabButton label="Third Action">3</FabButton>
    </FabButtons>
  </Fab>

  <Fab position="left-bottom">
    <Icon ios="f7:add" md="material:add" />
    <Icon ios="f7:close" md="material:close" />
    <FabButtons position="top">
      <FabButton>1</FabButton>
      <FabButton>2</FabButton>
      <FabButton>3</FabButton>
    </FabButtons>
  </Fab>

  <Fab position="left-top">
    <Icon ios="f7:add" md="material:add" />
    <Icon ios="f7:close" md="material:close" />
    <FabButtons position="bottom">
      <FabButton>1</FabButton>
      <FabButton>2</FabButton>
      <FabButton>3</FabButton>
    </FabButtons>
  </Fab>

  <Fab position="center-center">
    <Icon ios="f7:add" md="material:add" />
    <Icon ios="f7:close" md="material:close" />
    <FabButtons position="center">
      <FabButton>1</FabButton>
      <FabButton>2</FabButton>
      <FabButton>3</FabButton>
      <FabButton>4</FabButton>
    </FabButtons>
  </Fab>

  <Fab position="center-bottom" text="Create">
    <Icon ios="f7:add" md="material:add" />
  </Fab>

  <Block>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus
      eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam
      neque ducimus! Quasi, numquam.
    </p>
    <p>
      Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut
      laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur quam
      eaque, voluptate laboriosam unde.
    </p>
    <p>
      Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores odio
      sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio
      laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.
    </p>
    <p>
      Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam
      illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia,
      rerum placeat nobis est.
    </p>
    <p>
      Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore
      voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa
      obcaecati aspernatur odio assumenda veniam, ipsum alias.
    </p>
  </Block>
  <Block>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque
      dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis
      officia at quas dolorem earum!
    </p>
    <p>
      Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora
      minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis
      necessitatibus aut odit aliquam adipisci.
    </p>
    <p>
      Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga
      veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum
      cumque at. Adipisci sint, iusto blanditiis ullam? Vel?
    </p>
    <p>
      Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur
      expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit
      cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.
    </p>
    <p>
      Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus, labore
      excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat eaque fuga.
      Consectetur in eveniet, deleniti recusandae omnis eum quas?
    </p>
    <p>
      Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat
      cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae
      blanditiis. Voluptas unde deleniti quisquam, nobis?
    </p>
    <p>
      Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam
      facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui
      mollitia facere. Nostrum esse recusandae voluptatibus eligendi.
    </p>
  </Block>
</Page>

FAB 变形

fab-morph.svelte
<script>
  import { Navbar, Page, BlockTitle, Block, Fab, Link, Toolbar, Icon } from 'framework7-svelte';
</script>

<!-- svelte-ignore a11y-invalid-attribute -->
<Page>
  <Navbar title="Floating Action Button Morph" />
  <Toolbar tabbar icons bottom class="fab-morph-target">
    <Link tabLink tabLinkActive iconIos="f7:envelope_fill" iconMd="material:email" text="Inbox" />
    <Link tabLink iconIos="f7:calendar_fill" iconMd="material:today" text="Calendar" />
    <Link tabLink iconIos="f7:cloud_upload_fill" iconMd="material:file_upload" text="Upload" />
  </Toolbar>
  <Fab position="right-bottom" morphTo=".toolbar.fab-morph-target">
    <Icon ios="f7:plus" md="material:add" />
  </Fab>
  <Fab position="left-bottom" morphTo=".demo-fab-sheet.fab-morph-target">
    <Icon ios="f7:plus" md="material:add" />
  </Fab>
  <Fab position="center-bottom" morphTo=".demo-fab-fullscreen-sheet.fab-morph-target">
    <Icon ios="f7:plus" md="material:add" />
  </Fab>
  <svelte:fragment slot="fixed">
    <div class="list links-list demo-fab-sheet fab-morph-target">
      <ul>
        <li><a class="fab-close">Link 1</a></li>
        <li><a class="fab-close">Link 2</a></li>
        <li><a class="fab-close">Link 3</a></li>
        <li><a class="fab-close">Link 4</a></li>
      </ul>
    </div>
    <div class="demo-fab-fullscreen-sheet fab-morph-target">
      <BlockTitle>Choose Something</BlockTitle>
      <div class="list links-list">
        <ul>
          <li><a class="fab-close">Link 1</a></li>
          <li><a class="fab-close">Link 2</a></li>
          <li><a class="fab-close">Link 3</a></li>
          <li><a class="fab-close">Link 4</a></li>
        </ul>
      </div>
    </div>
  </svelte:fragment>

  <Block>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus
      eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam
      neque ducimus! Quasi, numquam.
    </p>
    <p>
      Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut
      laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur quam
      eaque, voluptate laboriosam unde.
    </p>
    <p>
      Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores odio
      sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio
      laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.
    </p>
    <p>
      Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam
      illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia,
      rerum placeat nobis est.
    </p>
    <p>
      Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore
      voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa
      obcaecati aspernatur odio assumenda veniam, ipsum alias.
    </p>
  </Block>
  <Block>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque
      dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis
      officia at quas dolorem earum!
    </p>
    <p>
      Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora
      minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis
      necessitatibus aut odit aliquam adipisci.
    </p>
    <p>
      Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga
      veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum
      cumque at. Adipisci sint, iusto blanditiis ullam? Vel?
    </p>
    <p>
      Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur
      expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit
      cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.
    </p>
    <p>
      Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus, labore
      excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat eaque fuga.
      Consectetur in eveniet, deleniti recusandae omnis eum quas?
    </p>
    <p>
      Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat
      cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae
      blanditiis. Voluptas unde deleniti quisquam, nobis?
    </p>
    <p>
      Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam
      facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui
      mollitia facere. Nostrum esse recusandae voluptatibus eligendi.
    </p>
  </Block>
</Page>