删除表单输入中的灰色背景

Posted

技术标签:

【中文标题】删除表单输入中的灰色背景【英文标题】:remove gray background inside form-input 【发布时间】:2021-10-28 12:59:59 【问题描述】:

我在 bootstrap-vue 2.21.2 中有一个代码:

<b-input-group class="mb-2 mr-sm-2 mb-sm-0">
   <b-input-group-prepend is-text>
     <b-icon icon="search" variant="dark" />
   </b-input-group-prepend>
   <b-form-input
     id="filter-product"
     v-model="searchText"
     type="text"
     placeholder="Search Store"
    />
 </b-input-group>

此代码的参考您可以查看此链接:bootstrap icons。如您所见,输出应该是这样的:。 我的问题是如何删除左侧的灰色背景?我希望它看起来没有像这样的灰色背景:

我在我的 CSS 中这样做了,但没有任何改变:

.input-group-prepend 
  background: transparent;

我的代码有什么问题?

【问题讨论】:

尝试更改变体属性 @GhostOps 变体用于图标的颜色,对灰色背景没有影响 那么使用一些css选择器怎么样? b-icon[icon="search"] background: #fff; 我已经用你的 css 选择器想法试过了,但它不起作用@GhostOps @Fabalance 是的,后来我知道 h 使用 bootstrap 和 vue 后才意识到 【参考方案1】:

第一个障碍是识别组件被渲染到的标签。我也遇到了用 CSS 定义标签的问题,因为它们的结构在渲染后发生了巨大的变化。

您使用 .input-group-prepend background: transparent; 的方法很好,但是针对错误的 css 属性。据我在文档中看到的,.input-group-textbackground-color: #e9ecef; 的风格。

由于.input-group-text.input-group-prepend 的子级,您应该可以更改背景:

.input-group-prepend .input-group-text 
  background-color: none;

【讨论】:

【参考方案2】:

使用这个 CSS

.input-group-prepend .input-group-text 
  background-color: transparent;


.input-group-prepend input 
  border-left:0;

【讨论】:

【参考方案3】:

我在 b-col 上添加了一个自定义新类,以将 input-group 包装为名称,例如 search-boxhtml

      <b-col
        cols="12"
        md="auto"
        class="search-box pr-md-2 pt-2 pt-md-0"
      >
        <b-input-group class="mb-2 mr-sm-2 mb-sm-0">
          <b-input-group-prepend is-text>
            <b-icon icon="search" variant="dark" />
          </b-input-group-prepend>
          <b-form-input
            id="filter-product"
            v-model="searchText"
            type="text"
            placeholder="Cari Toko"
            @input="debounceInput"
          />
        </b-input-group>
      </b-col>

然后在vue中使用deep selector去掉灰色背景,去掉边框。 CSS:

.search-box >>> .input-group-prepend > .input-group-text 
  background-color: transparent;
  border-right: none !important;

.search-box >>> .input-group-prepend + input.form-control 
  border-left: none !important;

.search-box >>> .input-group-prepend + input.form-control:focus 
  outline: none;

【讨论】:

以上是关于删除表单输入中的灰色背景的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 中表单部分的背景清晰?

有啥方法可以从 ImageButtons 中删除灰色背景?

SwiftUI 无法删除选取器上方的空间 - 表单版本

快速向右滑动时删除tableview灰色背景颜色

无法从通过 ggsave() 生成的 PNG 中删除灰色背景

在ggplot2中指定颜色,轴线和背景的删除