是否可以(仅使用HTML)显示select
,option
每个跨越多行?
答案 0 :(得分:13)
使用html选择控件是不可能的。
您可以使用可以作为下拉列表的div使用JavaScript和css。
答案 1 :(得分:5)
不仅在标准html上不可能,而且它(作为对象)将与IOS设备处理 选项标记 的方式不兼容,这是显示滚动列表,因此要求 选项标记 以这种方式行事是不合理的,因为它会严重和意外地破坏跨设备兼容性。
正如其他人已经回答的那样(我还没有足够的声誉进行upvote或评论)已经说过,它必须用css / div样式等来完成,并且以这种方式在每个
答案 2 :(得分:3)
如果您的案例是围绕iOS截断长选项文本,那么How to fix truncated text on <select> element on iOS7的解决方案可以提供帮助。
在选择列表的末尾添加一个空的optgroup:
你可以这样实现:
<select>
<option selected="" disabled="">option first</option>
<option>another option that is really long and will probably be truncated on a mobile device</option>
...
<optgroup label=""></optgroup>
</select>
答案 3 :(得分:1)
由于select
元素的呈现取决于用户代理,我担心你不能拥有它,除非一些UA实际实现它。但select
作为ListBox或ComboBox从未真正需要跨越多行的项目。此外,它会极大地混淆用户,因为他们习惯于一行=一项。
答案 4 :(得分:0)
没有
您可以使用单选按钮,但<label>
可以自动换行。
答案 5 :(得分:0)
通过在HTML元素上使用一些带有CSS样式的JavaScript,可以使用像Dojo Toolkit这样的框架轻松完成。否则,请使用Radio或Checkbox控件。
答案 6 :(得分:-4)
怎么样:
<!DOCTYPE html>
<html>
<body>
<select size="13" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
我不知道这是不是你想要的,但也许它可以帮助你。
如果要选择多个选项,则必须按Ctrl +单击以选择更多选项。
如果要禁用多选,只需从SELECT标记中删除“multiple”参数。