html - 减小窗口大小时如何制作2个固定按钮而不重叠它们
问题描述
我有 2 个固定按钮,但是当我减小窗口大小时,它们会一个接一个。
这是我的代码:
<button class="mdl-button mdl-js-button mdl-button--fab" style="display:flex;position: fixed;z-index:23232;top: 89%;margin-right: 3%; color:white;left: 82%;height:7.6%; width:3%;background-color:rgb(0,162,77);"
(click)="onButtonClicked($event)" *ngIf="createPermission!==false">
<i class="material-icons">add</i>
</button>
<button class="mdl-button mdl-js-button mdl-button--fab" style="display:flex;position: fixed;z-index:34344;top: 89%;color:white;left: 87%;height:7.6%; width:3%; background-color:rgb(0,162,77);"
(click)="getProspect($event)">
<i class="material-icons">get_app</i>
</button>
解决方案
要确定确切的问题,您给我们的信息太少。(我认为您使用材料设计按钮)
但是假设您的按钮没有固定宽度(例如 px)的额外包装元素,则样式中的所有百分比都可能导致问题。
如果定位(如left: 87%
)取决于您的屏幕宽度,它将在调整大小时发生变化。由于fixed
位置的原因,元素会从正常的文档流中移除并且可以重叠。
要解决此问题,您可以制作一个包装器 div。这样,包装器具有固定位置,并且按钮与屏幕宽度无关。请参阅剪断的代码。
button.mdl-button{
color:white;
width: 50px;
height: 50px;
margin: 2px;
background-color:rgb(0,162,77);
}
button.first{
z-index:23232;
}
button.sec{
z-index:34344;
}
.wrapper{
left: 82%;
background: red;
display:flex;
position: fixed;
bottom: 0;
}
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
<div class="wrapper">
<button class="mdl-button mdl-js-button mdl-button--fab first"
(click)="onButtonClicked($event)" *ngIf="createPermission!==false">
<i class="material-icons">add</i>
</button>
<button class="mdl-button mdl-js-button mdl-button--fab sec"
(click)="getProspect($event)">
<i class="material-icons">get_app</i>
</button>
</div>
我将 css 从 html 中分离出来,并添加了一个包装器 div,如上所述,我也替换了percentages
一些px
。通过这种方式,您可以更好地控制按钮的位置和大小。
希望这可以解决您的问题。
推荐阅读
- html - 如何使祖父div的子div绝对如下结构?
- jquery - 在不使用 jQuery 重新加载页面的情况下将 Flask 输入更新为 HTML
- xcode - 无法为大于 2mb 的 .sks 文件打开 SpriteKit 场景编辑器
- r - 在 ggplot 中,如何绘制像这张图片这样的时间序列数据?
- java - 无法使用 Hibernate 在数据库中创建表
- delphi - 如何从 TComPort - Delphi 获得正确的响应?
- windows - 在 Windows 上使用 QProcess 读取 GDAL /vsistdout/
- r - 加速分组数据的处理
- drupal-8 - 无法让 enquire.js 与 drupal 8 一起使用
- spring - springRepository 可以等待 sql 插入触发器返回值吗?