【问题标题】:Html Select option UnderlineHtml 选择选项下划线
【发布时间】:2016-01-20 10:42:37
【问题描述】:

我遇到了在 html 中为元素下划线的问题

请在此处找到代码:

<select>
    <option>select</option>
    <option style="text-decoration: underline;">one </option>
    <option>two</option>
    <option>three</option>
</select>

jsFiddle

【问题讨论】:

  • 您的代码在 firefox 和 IE 中运行,但在 chrome 中不运行,您是否也希望它在 crome 中运行?
  • 我同意你@MudassarSaiyed
  • 是的,我正在寻找适用于 chrome、IE 和 firefox 的解决方案。
  • 那么你将不得不寻找一个 Javascript 解决方案。
  • 这将适用于 firefox@user3584982

标签: html select underline


【解决方案1】:

当涉及到跨浏览器时,在这种情况下,大多数 css 不能应用于像 select 这样的原生控件。另一种方法是在幕后使用 jquery-ui 代替它们隐藏选择元素并显示类似的外观,通常它们是 &lt;ul&gt;/&lt;li&gt;&lt;span&gt;&lt;div&gt;。通过 css 你也可以改变它的外观和感觉。

先决条件:

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> /*Jquery Library*/
<script src="//code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script> /*Jquery UI Library*/
<script src="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css"></script> /*Jquery UI CSS*/

HTML 标记:

<select>
    <option>select</option>
    <option>one</option>
    <option>two</option>
    <option>three</option>
</select>

Javascript:

$(document).ready(function(){
     $('select').selectmenu();
})

样式表 (CSS):

li, span
{
    text-decoration: underline;  
}

.ui-selectmenu-button{
    width:150px !important;
}

JSFiddle 演示: Working Demo

【讨论】:

  • 为什么要用jquery和jquery-ui来解决这个问题?仅添加下划线不是很多开销吗?我知道没有 Javascript 是不可能的,但是库 + 依赖项仍然是很多数据。
  • @MarcoHengstenberg:我同意您的观点,外部插件确实会增加开销以及依赖项,但如果您有一些针对 OP 的最佳解决方案,我会更加确信。即使大多数专业程序员更喜欢外部库,使用 Jquery 库也不错。如果 OP 正在使用 Jquery 库,因为它没有被提及 DON'T USE JQUERY
【解决方案2】:

虽然可以通过 HTML 中的一些 hack 或在它们上添加 Javascript 来设置 &lt;select&gt; 元素和 &lt;option&gt; 元素的样式,但我绝不建议这样做。

可访问性始终是网络上的一个问题,如果将这种标准化的输入方法(用户可以选择一个选项)转变为完全不同的东西,只是为了视觉吸引力,您将无助于用户。

有几个人写过关于这个主题的文章,我同意他们所有人的观点:“不要管选择。如果必须的话,给可样式化的东西设置样式。” https://www.aaron-gustafson.com/notebook/native-vs-stylable-tug-of-war/

如果您仍想设置选择的样式(不是选项,仅使用 CSS 是不可能的),FilamentGroup 提供了一个很棒的库,您可以将其放入您的项目中:https://github.com/filamentgroup/select-css/

【讨论】:

    【解决方案3】:

    通常您无法设置选项元素的样式。然而,有一些插件/黑客可以使用,但你不能确定它们是否会在所有平台上兼容。

    参考这个答案How to style the option of a html "select"?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2018-08-13
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多