html - 切换垫 slider 的显示时如何防止内容在屏幕上跳跃

标签 html css angular mat-slider

如果我将鼠标悬停在音量图标上,它会添加一个垫子 slider

这会压低整个内容,我该如何防止这种情况发生?

在此Stackblitz example中可重现

<div>Hover on below icon to see jumping</div>

<span class="volume-controls"
          (mouseover)="showVolSlider = true"
          (mouseleave)="showVolSlider = false">

      <button mat-icon-button
              (click)="toggleMute()">
        <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT34nN7TXRgBVDzlAXnsLNkKK-oxUSRDgfV0RXrudKTH8ivIUcQ" style="height: 20px">
      </button>

      <span class="slider-wrapper" [hidden]="!showVolSlider">
        <mat-slider></mat-slider>
      </span>

</span>

最佳答案

您只需添加到您的 SASS 文件

.mat-icon-button{
    padding-top:8px;
  }

默认情况下,音量在顶部填充上增加 8px。避免重新对齐的镜像

.volume-controls {
    .mat-icon-button{
        padding-top:8px;
      }
...

关于你的第二个问题,你所要做的就是固定容器的大小。我想这将是更简单的方法:

  .volume-controls {
    display:block;
    height:55px;
    max-height:55px !important;

Stackblitz Demo

关于html - 切换垫 slider 的显示时如何防止内容在屏幕上跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58885826/

相关文章:

javascript - 如何在ID内使用AJAX重复 'onclick'函数?

iphone - 渲染以 PC 浏览器为中心,但在 iphone 浏览器中不对齐

css - Font Awesome 显示框而不是图标

Bundle.js 中的 Angular5 @ 问题

node.js - nodejs fatal error : CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

jquery - 我如何在 jsFiddle 中运行代码,在 html 窗口中没有标签 html、body、script

javascript - 即使没有足够的空间放置 Froala 编辑器工具栏弹出窗口也会出现在底部

CSS 不会在第 2 周期更改 .cycle-pager-active 的文本颜色

ipad - HTML 输入按钮在 iPad 中显示不同

html - Angular HTML 字符串 - 重命名属性