Ionic 4标签:如何创建自定义标签

用户名

我正在尝试设置选项卡的样式,使其看起来像链接中显示的内容。

该图显示了我希望选项卡的外观

我目前具有默认的标签样式,不知道如何调整它使其看起来像链接图像中显示的样子。社区的任何帮助将不胜感激。

哈龙68

这是我的努力

在CHROME Pixel 2 XL模拟器上进行了测试,这一点很重要,因为在不同的屏幕比例下,我使用的变量看起来绝对不同。我个人使用了411x823,这是Pixel 2 XL手机的屏幕尺寸。您将需要通过CSS媒体查询自行处理所有必要的屏幕尺寸,以获取常规解决方案。

初始屏幕:这就是我的开始。我从看起来像默认标签离子应用程序开始。喜欢你所拥有的。由于我们只处理htmlscss那就是我会展现出来。

开始画面

tabs-page.scss 起始文件。

.tabbar {
  justify-content: center;
}

.tab-button {
  max-width: 200px;
}

::ng-deep ion-icon.icon-button {
  background: var(--ion-color-primary-tint)!important;
  color: white;
  border-radius: 50%!important;
}

tabs-page.html 起始文件。

<ion-tabs>
  <ion-tab-bar *ngIf="tabSlot === 'bottom'" slot="bottom">

    <ion-tab-button tab="marketplace">
      <ion-icon mode="md" name="home"></ion-icon>
      <ion-label>Marketplace</ion-label>
    </ion-tab-button>

    <ion-tab-button tab="friends">
      <ion-icon name="contacts"></ion-icon>
      <ion-label>Friends</ion-label>
      <ion-badge *ngIf="friendCount > 0" color="danger">{{friendCount}}</ion-badge>
    </ion-tab-button>

    <ion-tab-button (click)="openRequestPage()">
      <ion-icon name="add-circle-outline" class="icon-button"></ion-icon>
      <ion-label>Request</ion-label>
    </ion-tab-button>

    <ion-tab-button tab="notifications">
      <ion-icon name="notifications"></ion-icon>
      <ion-label>Notifications</ion-label>
      <ion-badge *ngIf="notificationCount > 0" color="danger">{{notificationCount}}</ion-badge>
    </ion-tab-button>

    <ion-tab-button tab="settings">
      <ion-icon name="settings"></ion-icon>
      <ion-label>Settings</ion-label>
    </ion-tab-button>

  </ion-tab-bar>
</ion-tabs>

结束屏幕:这是您大致上要寻找的内容。结束画面

最终结果:这就是我最终从最初的代码创建的结果该解决方案涉及使用box-shadowcss属性提供“负”border-radius样式。然后,您需要做的是将中心按钮置于屏幕上方tab-bar我用本教程来指导我。此外,查找box-shadow工作原理有助于将细节整理出来。

tabs-page.scss 结束文件。

.tabbar {
  justify-content: center;
}

.tab-button {
  max-width: 200px;
}

::ng-deep ion-icon.icon-button {
  background: var(--ion-color-primary-tint)!important;
  color: white;
  border-radius: 50%!important;
}

:host ::ng-deep .tabs-inner {
  position: unset!important;
  contain: size style!important;
}

.bottom-tab-bar {
  --background: transparent;
  --border: 0;
}

ion-tab-button {
  --background: beige;
}

.button-center {
  --background: transparent!important;
  ion-icon {
    height: 50px;
    width: 50px;
    font-size: 75px;
  }
}

ion-tab-bar {
  &:before {
    box-shadow: 0 387px 0 300px beige;
    position: absolute;
    margin-top: -48px;
    padding: 56px;
    border-radius: 65%;
    content: '';
  }
}

.inner-left-btn {
  border-radius: 0 39% 0 0; // create the curved style on the left side of the center
}

.inner-right-btn {
  border-radius: 39% 0 0 0; // create the curved style on the right side of the center
}

.inner-center-btn {
  position: absolute;
  left: calc(50% - 35px); // position your button in the center
  bottom: 20px; // position your button slightly above the half bezel
  font-size: 70px;
  --background: transparent;
}

tabs-page.html 结束文件。

<ion-tabs>
  <ion-icon name="add-circle-outline" class="icon-button inner-center-btn" (click)="openRequestPage()"></ion-icon>

  <ion-tab-bar *ngIf="tabSlot === 'bottom'" slot="bottom" class="bottom-tab-bar">

    <ion-tab-button tab="marketplace">
      <ion-icon mode="md" name="home"></ion-icon>
      <ion-label>Marketplace</ion-label>
    </ion-tab-button>

    <ion-tab-button tab="friends" class="inner-left-btn">
      <ion-icon name="contacts"></ion-icon>
      <ion-label>Friends</ion-label>
      <ion-badge *ngIf="friendCount > 0" color="danger">{{friendCount}}</ion-badge>
    </ion-tab-button>

    <ion-tab-button class="button-center">
      <div></div>
    </ion-tab-button>

    <ion-tab-button tab="notifications" class="inner-right-btn">
      <ion-icon name="notifications"></ion-icon>
      <ion-label>Notifications</ion-label>
      <ion-badge *ngIf="notificationCount > 0" color="danger">{{notificationCount}}</ion-badge>
    </ion-tab-button>

    <ion-tab-button tab="settings">
      <ion-icon name="settings"></ion-icon>
      <ion-label>Settings</ion-label>
    </ion-tab-button>

  </ion-tab-bar>
</ion-tabs>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建Ionic2自定义构建过程?

来自分类Dev

将数据传递到ionic 5自定义元素标签

来自分类Dev

如何创建自定义SELinux标签

来自分类Dev

如何创建自定义[QUOTE]标签?

来自分类Dev

在Ionic 2中,如何创建使用Ionic组件的自定义指令?

来自分类Dev

Angularjs + Ionic框架:如何创建一个新的路线来显示离子标签导航但不为其定义标签?

来自分类Dev

使用Ionic创建自定义相机视图

来自分类Dev

如何使用ionic2框架创建或自定义Toast视图

来自分类Dev

Ionic 4 ion-DatePicker自定义颜色

来自分类Dev

Ionic 4,Ionicon库添加自定义图标

来自分类Dev

ionic 4标签栏-如何始终显示标签根而不是标签子页面

来自分类Dev

如何在Ionic v4中生成有效的自定义组件?

来自分类Dev

如何在 Ionic 4 中导入自定义 css 和 js

来自分类Dev

如何为剃刀创建自定义标签助手?

来自分类Dev

如何创建执行回调的树枝自定义标签?

来自分类Dev

如何创建自定义标签视图,如下所示

来自分类Dev

如何创建自定义标签视图,如下所示

来自分类Dev

如何创建下图所示的自定义标签?

来自分类Dev

如何创建一个erlydtl自定义标签?

来自分类Dev

ionic2 - 如何自定义按钮大小

来自分类Dev

如何在Ionic 4中更改后退按钮的标签?

来自分类Dev

如何打开离子标签后面的模式[IONIC 4]

来自分类Dev

在Ionic的标签中移动标签

来自分类Dev

创建自定义标签:可选绑定

来自分类Dev

trello api自定义标签创建

来自分类Dev

创建自定义操作标签栏

来自分类Dev

创建自定义标签栏

来自分类Dev

Ionic 4:Chrome中不显示Ionic标签栏

来自分类Dev

Ionic 2 DatePicker自定义

Related 相关文章

热门标签

归档