【问题标题】:IOS Safari <select> elementIOS Safari <select> 元素
【发布时间】:2013-12-13 08:40:56
【问题描述】:

我有一个层次下拉菜单,通过使用空格字符在视觉上区分层次结构

示例

<select>
    <option value='1'>Top Level Item</option>
    <option value='2'>&nbsp;&nbsp;&nbsp;Lower Level Item</option>
    <option value='3'>&nbsp;&nbsp;&nbsp;Another Lower Level Item</option>
    <option value='4'>Another Top Level Item</option>
</select>

这适用于所有浏览器,但 iPhone 除外,其中空格被忽略并且所有项目都显示在同一级别。

我正在使用响应式设计(移动设备和桌面设备使用相同的 DOM),并决定仅针对主题选择集成 jQuery Mobile 不是一个好的选择。

是否有任何简单的解决方法或小插件可以帮助我为 IOS 浏览器完成此任务?

&lt;optgroup&gt; 元素不适合 b/c 可以选择一些父选项。 &lt;optgroup&gt; 不允许尽可能选择父类别

此功能的核心要求是特定网站的所有导航都必须位于一个类似下拉菜单的元素上,该元素对触摸友好。

【问题讨论】:

  • 使用破折号代替空格。
  • 破折号可以使用,但可能会符合我们的样式指南。不过谢谢

标签: html css ios mobile-safari


【解决方案1】:

您可以尝试使用零宽度连接器/零宽度非连接器实体来启动层次结构分隔器:&amp;zwj;&amp;zwnj;

【讨论】:

  • 这应该是公认的答案,它达到了预期的结果。只需在您的 &amp;nbsp;s 之前添加一个 &amp;zwj;
【解决方案2】:

唯一的选择是使用 HTML/CSS 替换 &lt;SELECT&gt;

见:jQuery select box replacement

【讨论】:

  • 你是对的,香草没有办法做到这一点&lt;select&gt;
【解决方案3】:

这似乎可以很好地满足我的需求,但它并不完全完美——在桌面上,顶部有一条无法选择的线。

<select>
    <optgroup>
        <option value='1'>Top Level Item</option>
        <option value='2'>&zwj;&nbsp;&zwj;&nbsp;&zwj;&nbsp;Lower Level Item</option>
        <option value='3'>&zwj;&nbsp;&zwj;&nbsp;&zwj;&nbsp;Another Lower Level Item</option>
        <option value='4'>Another Top Level Item</option>
    </optgroup>
</select>

【讨论】:

猜你喜欢
  • 2013-03-15
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 2019-04-08
  • 2012-02-15
  • 2021-01-30
  • 1970-01-01
相关资源
最近更新 更多