见这里: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>
答案 0 :(得分:4)
据我所知,您无法设置<datalist>
标记的样式。我建议使用JQuery扩展自动完成。所以你需要在你的html文档中包含JQuery。这是由Google托管的链接:请参阅here
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script
注意:通过在文档末尾包含此内容并使用$(document).ready();
例如:
HTML:
<input type='text' id='input'>
使用Javascript:
$(document).ready(function() {
var arrayOfOptions = [
"Option 1",
"Option 2",
"etc"
];
$("#input").autocomplete({source: arrayOfOptions});
});
注意:未经过测试的代码!
来源:http://jqueryui.com/autocomplete/
您可以将此样式设置为与导航样式相似的样式。以下是您可以设计的一些课程:
.ui-autocomplete span.hl_results {background-color: #ffff66;}
.ui-autocomplete-loading {} //the object while it's loading (in the event of Ajax, in this case would not need this one
.ui-autocomplete {
max-height: 250px;
overflow-y: auto;
overflow-x: hidden;
padding-right: 5px;
}
.ui-autocomplete li {font-size: 16px;}
html .ui-autocomplete {
height: 250px;
}
答案 1 :(得分:3)
跨浏览器无法使用CSS设置样式datalist
。
Internet Explorer,Firefox,Chrome和Edge将基本样式应用于input[list]
元素,但不应用于datalist
,也不应用于其option
子元素。
请参阅CodePen example。
引自MDN “Styling HTML forms – the ugly”:
某些元素无法使用CSS进行样式设置。其中包括:所有高级用户界面小部件,例如范围,颜色或日期控件;以及所有下拉窗口小部件,包括
<select>
,<option>
,<optgroup>
和<datalist>
元素。
规避此UI限制的一种非常常见的方法是提供基于JavaScript的窗口小部件,该窗口小部件可以回退到已禁用JS的用户的HTML5输入+数据列表组合。