html - 将 Select 元素设置为透明背景时出现问题

标签 html css ninja-forms

我正在尝试将 Select 元素设置为具有透明背景的样式,但在故障排除过程中,逻辑让我陷入了困境。

我们使用 Divi 作为我们的 WP 主题。 我们使用 Ninja Forms 作为我们的表单插件。

此时混合了两个字段,一个常规文本输入和一个选择字段。

我们为每个字段应用了一个自定义类。

我们对该类应用了以下指令:

.header_form_select {
    background: transparent !important;
  }

这里是故障排除的地方。当我们测试这种安排时,我们发现文本输入接受样式并且确实是透明的。选择,不是那么多。如果我们将 select field 元素移到它的父元素之外,样式确实会影响它。所以一定有什么东西覆盖了它,对吧?

但是,如果我们将它保留在父元素中(按照设计),并将背景设置为红色而不是透明,它会按预期工作。似乎问题特别在于透明度和选择元素(因为它适用于文本输入)......

我似乎找不到任何信息来说明为什么它会成为围绕选择元素的怪癖,同时很难相信这是问题的根源,因为如果我们只是将它移到父元素之外,它有用吗……

任何帮助解开这个烂摊子的帮助都会非常棒。 :) 谢谢大家。

最佳答案

在 CSS 中,如果父元素具有设置为显式值的相同属性,则设置为其默认值的属性将被覆盖。

这叫做 inheritance .

在你的情况下,我怀疑 select 元素在你使用 transparent 时从父元素继承样式,因为这是 background-color< 的默认值.

.parent {
  background-color: blue; //explicitly-set value on parent
}

.child {
.background-color: transparent //default value; will be overridden by parent
.background-color: red //explicitly-set value, will NOT be overidden by parent
}

除非browser support是一个交易破坏者,您可以使用 native CSS rgba() 函数显式将子项设置为透明。

.child {
  background-color: rgba(0, 0, 0, 0);
}

编辑:为清楚起见进行编辑(我希望)

关于html - 将 Select 元素设置为透明背景时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55153133/

相关文章:

jquery - 样式消息框

html - 无法定位搜索框

javascript - 我可以使用 Ajax 更改文本框的值吗

html - firefox 3.6 中有什么变化使 <ul> 的呈现方式不同?

html - CSS id 在 div 中不起作用

jquery - 忍者形态 : Multi Part Forms - Next Step On Field Click (jQuery)

javascript - 动画滚动

php - 用户在 Wordpress 中看不到索引中的图像

css - 在 Wordpress 中设置忍者表单样式时媒体查询不起作用

WordPress - 忍者表格 : How to edit a saved Submission Programatically?