css 为什么我的下拉列表显示在手机上与桌面不同,我该如何修复它?

busg9geu  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(228)

我有一个正常的选择/选项设置的下拉列表,在桌面上看起来像正常:

然而,在电话上,它使用一些本地电话列表,如下所示:

这可能是所有的罚款,问题是,在一些地方,我做了我自己的多选下拉列表,看起来像这样:

这个列表在桌面和电话上都是这样显示的,因为它是由div组成的。

    • 问题**

1.我能在正常的选择/选项设置中强制所有设备使用相同类型的下拉列表吗?
1.我应该吗?
1.如果没有,你会建议我也创建自己的下拉列表,这样我就可以在普通下拉列表和多选下拉列表中获得相同的行为吗?当一个下拉列表显示为原生android而另一个显示为手机上的"普通"下拉列表时,这有点滑稽。

dtcbnfnu

dtcbnfnu1#

<Select>是本机组件。

什么是本机组件?

本机组件是一个HTML元素,它使用影子容器将本机OS组件添加到HTML站点。浏览器不是绘制整个元素,而是依赖于操作系统来完成此操作。<button><a><div><span>等元素都有自己的绘制过程。但是,<select>元素使用操作系统提供的任何样式。任何样式功能都非常有限。
从技术上讲,浏览器可以实现自己的<select>元素的“绘图”,但这不值得,因为大多数人创建自己的下拉组件。<select>元素实际上只是为开发人员提供 * 一些东西 * 使用-想象一下一个快速的小微应用程序。
尽管你可以在select元素的“button”部分添加大多数CSS样式,但是不能在dropdown中添加。dropdown不是<option>标签,而仍然是<select>元素的一部分,这是因为选项标记只是向select组件提供有关要显示哪些选项的信息(它们只是数据容器)。下拉菜单是100%原生的,不能设置样式。

是否可以强制所有设备使用相同的下拉菜单?

。这是不可能的。每个网络浏览器都有自己处理<select>元素的实现方式。Firefox会绘制自己的下拉菜单。Safari和Chrome使用的是原生的macOS/Windows/Linux/iOS/Android下拉菜单。这些都是不可配置的,你只能任由操作系统/Firefox摆布。

是否应强制所有设备使用相同的下拉菜单?

是的。您可以使用自定义组件方法来完成此操作。您必须实现自己的下拉列表。大多数网站这样做是为了提供统一的用户界面和体验。

相关问题