【问题标题】:CSS issue on mobile devices with country code dropdown (intl-tel-input)带有国家代码下拉列表的移动设备上的 CSS 问题 (intl-tel-input)
【发布时间】:2019-12-14 12:40:09
【问题描述】:

我正在使用这个库向用户显示国家代码和标志:https://github.com/jackocnr/intl-tel-input

在桌面上一切正常。即使在屏幕上调整大小,响应也符合预期。当我在移动设备上使用 Android Chrome 测试页面时出现问题。

问题来了:

该应用不允许用户选择其他国家(隐藏了滚动空间 - 用户只能看到默认选择的国家)。

我尝试使用z-index:9999,但没有成功。

这是 CSS 实现:

.intl-tel-input .country-list {
    position: absolute;
    z-index: 9999;
    list-style: none;
    text-align: left;
    padding: 0;
    margin: 0 0 0 -1px;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
    background-color: white;
    border: 1px solid #CCC;
    white-space: nowrap;
    max-height: 200px;
    overflow-y: scroll;
 }

我不确定为什么这似乎不适用于移动设备。

【问题讨论】:

  • 您是否尝试使用其他浏览器?您可以专门为 select 所在的部分包含您的 html 吗?您的样式告诉我们 .country-list 存在于 .intl-tel-input 中,这不太有意义,因此查看 html 将有助于了解您如何命名 html 元素。

标签: android html css resize intl-tel-input


【解决方案1】:

当输入在模式/对话框中时,我遇到了同样的问题。
在移动设备上,下拉菜单将在其末尾的 <body> 中,因为:
https://github.com/jackocnr/intl-tel-input/blob/v16.0.8/src/js/intlTelInput.js#L117

有一个设置容器元素的选项,尝试更改dropdownContainer选项。

【讨论】:

    【解决方案2】:

    这是我在库中也发现的一个错误。当我检查时,我可以看到下拉列表的最大高度已经改变。你可以通过添加这个来覆盖最大高度

    .iti-mobile .intl-tel-input .country-list {
        max-height: 200px !important; 
    }
    

    【讨论】:

      【解决方案3】:

      你可以试试

      iti__country-list{white-space:nowrap}
      

      【讨论】:

        猜你喜欢
        • 2017-05-26
        • 2020-03-15
        • 2019-02-16
        • 2021-08-17
        • 2019-09-27
        • 2017-06-14
        • 2023-01-31
        • 2019-09-10
        • 2021-08-28
        相关资源
        最近更新 更多