当前位置: 首页 > 知识库问答 >
问题:

在使用HTML5时,是否可以对下拉建议进行样式化?

呼延珂
2023-03-14

请参见:http://jsfiddle.net/zemar(必须使用Firefox或Opera才能查看)

单击select时,下拉框的样式设置为匹配,但如果从文本框中的数据列表中开始键入术语,则出现的建议没有设置样式,因此与样式的其余部分不匹配。

* {margin:0; padding:0; font-family: arial, sans-serif; font-size: 40px; font-weight: bold; color: #444;}
body {height:100%; background:#F4F3EF;}
.select select, .input input {background: transparent; width: 220px; overflow:hidden; height: 65px; padding-left: 5px;
    padding-bottom: 5px; -webkit-appearance: none; -moz-appearance:none; appearance:none; border:none; cursor:pointer;}
.select select {padding-top: 5px;}
.select, .input {float:left; width: 220px; height: 65px; margin-right: 20px; overflow: hidden; background: #ddd;
    border: 1px solid #ccc;}
    <div class="select">
    <select id="count">
            <option value="1">A</option>
            <option value="2">A pair of</option>
            <option value="3">A few</option>
            <option value="4">Four</option>
    </select>
    </div>
    <div class="input">
        <input type="text" id="query" list="ingredients" placeholder="lamb"></input>
        <datalist id="ingredients">
            <option value="lamb">
            <option value="beef">
            <option value="chicken">
            <option value="fish">
            <option value="vegetarian">
        </datalist>
    </div>

共有1个答案

刘骏祥
2023-03-14

仅使用CSS对DataList进行样式设置是不可能跨浏览器的。Internet Explorer、Firefox、Chrome和Edge将基本样式应用于输入[list]元素,但不应用于DataList及其选项子元素。

参见CodePen示例。

引用MDN“样式化HTML表单-丑陋”:

规避此UI限制的一个非常常见的方法是提供一个基于JavaScript的小部件,对于禁用JS的用户来说,它可以回到HTML5 Input+DataList的组合。

 类似资料:
  • 问题内容: 我没有找到有关如何执行此操作的任何资源。只需更改播放器的颜色即可,:) 问题答案: 是! 具有“ controls”属性的HTML5音频标签使用浏览器的默认播放器。您可以根据自己的喜好自定义它,方法是不使用浏览器控件,而是滚动自己的控件并通过javascript与音频API对话。 幸运的是,其他人已经做到了。我现在最喜欢的播放器是jPlayer,它的风格非常好,效果很好。一探究竟。

  • 问题内容: 是否可以创建内联伪样式? 例如,我可以做以下事情吗? 这背后的原因是我正在开发一个创建UI元素的.NET库。我想生成无需设置外部样式表即可设置其悬停状态的HTML元素。 问题答案: 不幸的是,不能,您不能使用内联CSS来实现悬停效果。 此问题的(较差)解决方法是让控件在呈现时呈现样式块。例如,您的控件可以呈现为: 如果您可以强迫用户在页面顶部放置“样式控件”,则可以在其中渲染所有自定义

  • 问题内容: 是否可以使用JavaScript更改CSS样式表? 我 不是 在说: 我 AM 谈论改变: 除了做一些肮脏的事情(我们还没有尝试过)之外,比如在头部创建一个新对象,innerHTML在其中创建一个样式标签,等等。尽管这样做确实可行,但仍会带来一些样式问题块已经在其他地方定义了,我不确定何时/是否浏览器会解析动态创建的样式块? 问题答案: 浏览器支持已得到很大改进(支持所有浏览器,包括I

  • 问题内容: 我正在做一个小实验,尝试为嵌套div替换背景颜色。 这是我打算实现的(没有内联样式): 我觉得我一定缺少明显的东西!我尝试过,但这似乎仅适用于一个级别。 这是针对生成div的实验,因此解决方案需要是无止境的(不是沿着div div div div div = white的界线)。我知道使用JavaScript非常简单,只需 寻找纯CSS解决方案即可 。 问题答案: 正如Lister先生

  • 我使用OpenSSL创建了一个自签名证书,如下所示: 然后,我在C#.NET4.0中编写了以下代码: 使用一些文章和答案中的解决方案,我有类,我试图在其中实现和注册签名描述: 我已经验证了hash的长度为字节,它返回一个。但是如果我使用var(20字节长),尽管中指定的算法是,但它可以工作,并使用算法对哈希进行签名。 另外,如果我打印,它的值是http://www.w3.org/2000/09/x

  • 本文向大家介绍可以使用HTML5在相关面试题,主要包含被问及可以使用HTML5在时的应答技巧和注意事项,需要的朋友参考一下 不 ,根据W3C 的HTML5规范文,它不是有效的HTML5: 内容模型: 透明,但必须没有交互式内容后代。 只要其中没有交互内容(例如按钮或其他链接),该元素就可以包裹在整个段落,列表,表格等,甚至整个节中。 换句话说,您可以将除以下内容之外的任何元素嵌套: (如果存在 c