css - 输入字段内的输入文本重叠按钮
问题描述
我正在尝试使用<input />
React 中的字段创建一个输入字段,并使用情感对其进行样式设置。输入字段右侧有两个按钮,如下所示:
按钮使用 定位position:absolute
。这使得文本和按钮重叠:
有谁知道我如何阻止文本到达按钮所在的区域,即使它们是使用情感绝对定位的?
解决方案
一种简单的方法padding-right
是使用等于或大于按钮宽度的值添加到输入中。
更好的方法是创建它类似于 Boostrap 的输入组:https ://getbootstrap.com/docs/4.5/components/input-group/#button-addons
在这种情况下:
<div class="input-group">
<input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username with two button addons" aria-describedby="button-addon4">
<div class="input-group-append" id="button-addon4">
<button class="btn btn-outline-secondary" type="button">Button</button>
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
</div>
并且您可以像隐藏输入样式但向父元素添加边框一样设置它的样式。
.input-group {
display: flex;
align-items: center;
padding: .25rem;
border: 1px solid #ddd;
border-radius: .25rem;
}
.input-group > .form-control {
flex: 1 1 auto;
border: 0;
background: transparent;
padding: 0 .25rem;
}
.input-group-append {
flex: 0 0 auto;
display: flex;
align-items: center;
}
.input-group-append > .btn {
margin: 0;
}
推荐阅读
- python - 使用 tkinter wraplength 函数时出错
- mysql - SQL 根据另一个相关表中的列中相应的 min/max(value) 获取值
- shopware - 如何在 Shopware 5 中将自定义实体条目显示为前端选择器的选项?
- selenium - 在 Google Cloud 实例中运行 Selenium chrome 驱动程序时出现“找不到 Chrome 二进制错误”(在 jupyter Lab 上)
- php - Laravel 重定向到主页
- python - 如何使用与模型输入形状兼容的 tensorflow.data.experimental.CsvDataset 创建小批量?
- java - bound mismatch 如何匹配它们?
- ms-access - Microsoft Access:查询涉及一个父多个子,每个父只选择最高值的子
- javascript - 访问 Objects 实例构造函数以进行克隆
- r - 使用axis() R plot 设置坐标轴。基数 R,出版数字