【发布时间】:2020-04-18 10:19:27
【问题描述】:
我正在尝试实现一个移动风格的底部导航栏。为此,我使用了 mat-toolbar 并使用 css 将其固定在底部,如下所示:
component.html:
<mat-toolbar class="toolbarNav">
<mat-icon class="material-icons color_blue" (click)="getTopArtists('long_term' , 0 , 100)">
star_border</mat-icon>
<mat-icon class="material-icons color_blue" (click)="getTopTracks('long_term' , 0 , 100)">favorite_border
</mat-icon>
<mat-icon class="material-icons color_blue" (click)="recentlyPlayed()">history</mat-icon>
</mat-toolbar>
组件.css
.toolbarNav{
position: fixed;
bottom: 0;
z-index: 1000;
display: flex;
justify-content: space-between;
padding: 2em;
background-color: white;
-webkit-box-shadow: 3px 3px 5px 6px #ccc; /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
-moz-box-shadow: 3px 3px 5px 6px #ccc; /* Firefox 3.5 - 3.6 */
box-shadow: 2px 2px 4px 5px #ccc; /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}
这里是渲染:
当用户将鼠标悬停在图标上时,我使用 css :hover 突出显示图标,如下所示:
.material-icons.color_blue:hover {
color: blueviolet;
}
渲染:
我想要达到的目标:
-
当我单击/悬停在一个图标上时,它应该突出显示[我确实通过上面的代码实现了这一点],但是,当单击/悬停在除工具栏中的其他图标之外的任何其他位置时,它不应该取消突出显示。
-
我希望在图标下方显示一些文本,如下所示:
我尝试使用 <span> 并使用 css 定位文本,但它看起来很奇怪并且没有正确对齐。
另外,使用 css 是做上述事情的唯一方法吗?
我对任何其他方式持开放态度。也许是具有类似组件的 UI 库?
我想要实现的类似渲染:
【问题讨论】:
标签: javascript html css angular angular-material