css - Bootstrap-Vue 输入在 RTL 应用程序的右侧显示警告图标
问题描述
我使用 Boostrap-Vue 和 Vue2。我想使用b-form-input
. 该组件提供state
了在输入无效的情况下可以使框变为红色的组件。我的应用程序是 RTL,所以我希望红色图标位于框的左侧,但我得到:
编码:
<div class="col-md-6">
<div class="modal-label">HEADER</div>
<b-form-input
class="modal-input"
v-model="dNumber"
type="text"
:state="stateDNumber"
:trim="trimInput"/>
</div>
在 CSS 中我有:
div {
margin: auto 0;
direction: rtl;
}
input {
direction: rtl;
}
如何将图标移动到左侧?
解决方案
声明direction: rtl
在这里没有任何效果,因为 bootstrap-vue 组件只是使用硬编码值来表示方向性,因此不支持 RTL。
这不是很干净,但您可以覆盖负责表单控件验证的 CSS 选择器:
.form-control.is-invalid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.was-validated .form-control:valid {
/* overriding hard-coded values, quite dirty. */
background-position: left calc(0.375em + 0.1875rem) center;
}
.form-control.is-invalid,
.was-validated .form-control:invalid {
/* this one is bluntly copied from the base rule
in .form-control, which makes it even more dirty! */
padding: .375rem .75rem;
padding-left: calc(1.5em + .75rem);
}
如果您想要一个更强大的解决方案,我建议您使用另一个库,该库对双向性有更好的(嗯,现有的)支持。
推荐阅读
- php - 如何删除 url 中的 index.php?
- terraform - 这是否可以将一个 terraform 云工作区的输出用作另一个工作区中的变量?
- php - 如何从 mysqli_connect() 函数中获取上次使用的 mysqli $link?
- c++ - Ubuntu 18.04 上 X11 呈现文本的问题
- data-structures - 相同集群和不同哈希值的可能性
- sql - 替换结果 Oracle SQL 开发人员的字符
- python - Pandas - 在整个数据框中搜索特定文本
- java - Java 验证输入值
- ios - 如何从字符串中删除表情符号 - ios?
- android - 如何用 Dagger 注入 DialogFragment?