如何在 CSS 中移除选择框的输入框背景
HTML 表单元素的默认样式通常比较单调乏味。其中一个经常需要彻底改进设计的元素是选择框,它用于向用户显示一个选项列表。在本文中,我们将向您展示如何使用 CSS 移除选择框的默认背景。
通过移除,您可以自定义选择框的外观,使其更具视觉吸引力,并与您的网站或应用程序的整体设计保持一致。
CSS 中的各种输入框
在解决这个问题之前,我们首先需要了解一些基础知识。首先,我们需要知道的是,网页中的输入框是什么?网站中任何用户可以通过其输入和提交数据的复杂部分,在网站中都称为输入框。
HTML 中提供了不同类型的输入框。例如,文本区域、单选按钮、选择选项等。默认情况下,每种输入框的样式都不同。很多时候,我们需要使用自定义样式来提升网站的视觉冲击力,使其脱颖而出。
以下是一些网站中常见的输入框示例。
<form action="someAction"> <label for="YourName">Your First name:</label> <input type="text" id="YourName" name="YourName"><br><br> <label for="YourLastName">Your Last name:</label> <input type="text" id="YourLastName" name="YourLastName"><br><br> <input type="submit" value="Submit"> </form>
我们需要了解的第二件事是这些输入框的"状态"。每当我们与输入字段交互以输入一些数据时,输入字段就处于"活动"状态;但如果输入字段保持不变,则处于"非活动"状态。另一个可以用来描述它们的术语是"聚焦"和"非聚焦"状态。默认情况下,所有输入框都处于非聚焦状态。
移除背景现在我们可以开始解决这个问题了。CSS 为我们提供了各种"伪类"来针对某些输入字段的不同或特殊状态。其中一种伪类是 focus 伪类。它应用于网站上获得"焦点"的元素,这意味着用户通过使用键盘或鼠标点击元素与该元素进行了交互。我们将使用这个伪类来移除焦点状态下的输入框背景。为此,我们将默认样式更改为有助于实现目标的样式。
但这仅适用于用户输入的输入类型。网站通常包含下拉列表,其中包含一些预先存在的选项列表供您选择,用户从给定列表中选择一个或多个。
与所有其他形式的输入一样,它也是一个输入字段,并具有与之关联的默认样式。我们可以使用 HTML 中的 select 标签创建自定义下拉列表。它主要用于在表单中收集用户数据。下面给出了一个使用 select 标签的下拉列表示例。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<title>Select Without background</title>
</head>
<body>
<form id="contactForm" method="POST" action="">
<label for="movies">Which movie would you like to see?</label>
<select name="movies" id="movies">
<option value="a">Movie A</option>
<option value="b">Movie B</option>
<option value="c">Movie C</option>
<option value="d">Movie D</option>
</select>
<br />
</form>
</body>
</html>
在上面的例子中,我们为 select 标签提供了一个 name 和一个 id。name 属性用于在用户提交后引用它,而 id 属性用于访问提交后将发送的数据。为了提供可供用户选择的选项,我们使用了 option 标签。我们还可以使用其他几个属性来使列表更易于访问和区分。
示例
在下面的例子中,我们可以使用 –webkit-appearance: none 来完全删除背景。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Select Without background</title>
<style>
.form-control:focus,
.form-control:active {
background: transparent;
}
#movies,
#movies:focus,
#movies:active {
background: none;
-webkit-appearance: none;
}
</style>
</head>
<body>
<form id="contactForm" method="POST" action="">
<input
name="YourName"
type="text"
class="someClass"
placeholder="Can you please tell me your name :)"
required
/>
<br />
<input
name="YourEmail"
type="email"
class="someClass"
placeholder="Your email please :)"
/>
<br />
<label for="movies">Which movie would you like to see?</label>
<select name="movies" id="movies">
<option value="a">Movie A</option>
<option value="b">Movie B</option>
<option value="c">Movie C</option>
<option value="d">Movie D</option>
</select>
<br />
</form>
</body>
</html>
我们已经注意到,上面示例的视觉输出有所不同,其中没有默认的灰色调背景色。另一种不直观的方法是使用 div 作为选择框的容器。然后设置宽度限制并隐藏溢出部分,并使选择框的宽度略小于容器 div。这样,默认样式的箭头就会从网页上消失。
请注意,大多数开发人员不会像我们在本文中那样针对单个标签,而是使用 id 和类来创建通用样式,这样我们不必在类似情况发生时重复编写代码。
结论
本文讨论了在 CSS 中移除输入背景问题的解决方案。在此过程中,我们了解了输入、它们的类型、输入的默认样式及其状态。我们还学习了如何使用伪类选择器来定位元素的特殊状态。
相关文章
有用资源
html 参考教程 - 该教程包含有关 html 的更多信息:https://www.cainiaomax.com/html/

