Affix 固钉

将页面元素固定在特定可视区域。

基础用法

固钉默认固定在页面顶部。

通过设置 offset 属性来改变吸顶距离,默认值为 0。

Affix 固钉 - 图1

  1. <template>
  2. <el-affix :offset="120">
  3. <el-button type="primary">Offset top 120px</el-button>
  4. </el-affix>
  5. </template>

指定容器

通过设置 target 属性,让固钉始终保持在容器内, 超过范围则隐藏。

请注意容器避免出现滚动条。

Affix 固钉 - 图2

  1. <template>
  2. <div class="affix-container">
  3. <el-affix target=".affix-container" :offset="80">
  4. <el-button type="primary">Target container</el-button>
  5. </el-affix>
  6. </div>
  7. </template>
  8. <style scoped>
  9. .affix-container {
  10. text-align: center;
  11. height: 400px;
  12. border-radius: 4px;
  13. background: var(--el-color-primary-light-9);
  14. }
  15. </style>

固定位置

Affix 组件提供 2 个固定的位置参数 topbottom

通过设置 position 属性来改变固定位置,默认值为 top

Affix 固钉 - 图3

  1. <template>
  2. <el-affix position="bottom" :offset="20">
  3. <el-button type="primary">Offset bottom 20px</el-button>
  4. </el-affix>
  5. </template>

Affix API

Affix 属性

名称说明类型默认值必填
offset偏移距离number0
position位置‘top’ | ‘bottom’‘top’
target指定容器 (CSS 选择器)string
z-indexz-indexnumber100

Affix 事件

名称说明类型
changefixed 状态改变时触发的事件(fixed: boolean) => void
scroll滚动时触发的事件(value: { scrollTop: number, fixed: boolean }) => void

Affix 外部方法

方法名说明类型
update手动更新固钉状态() => void

Affix 插槽

插槽名说明
default自定义默认内容

源代码

组件 Affix 固钉 - 图4 文档 Affix 固钉 - 图5

贡献者

Affix 固钉 - 图6 三咲智子

Affix 固钉 - 图7 JeremyWuuuuu

Affix 固钉 - 图8 류한경

Affix 固钉 - 图9 bqy

Affix 固钉 - 图10 云游君

Affix 固钉 - 图11 yangguang

Affix 固钉 - 图12 Delyan Haralanov

Affix 固钉 - 图13 Herrington Darkholme

Affix 固钉 - 图14 midcu

Affix 固钉 - 图15 Alan Wang

Affix 固钉 - 图16 deepthan

Affix 固钉 - 图17 Summer

Affix 固钉 - 图18 kooriookami

Affix 固钉 - 图19 C.Y.Kun

Affix 固钉 - 图20 qiang