我正在使用 twitter 的typeahead.js 0.9.3,看来我的建议根本没有样式。
我得到这个:
而不是这样的:( 取自示例页面)
JavaScript 启用预输入:
$('.search-typeahead').typeahead({ name: 'videos', remote: { url: '/api/v1/internal/videos/typeahead?text=%QUERY' } });
HTML 输入元素:
<input type="text" value="" id="search_keywords" class="no-clear search-typeahead"/>
补充说明:
我正在处理的网站有 jQuery 1.10.1,并且不使用 twitter 引导程序。有一堆 CSS 不是我写的,因此不熟悉我担心会干扰,但是似乎插件添加了自己的样式(没有随附的 .css 文件)所以理论上它不应该覆盖东西? 我很困惑为什么我的样式有效,但插件添加的那些无效,导致建议具有透明背景、无边框等。
因此,查看我现在看到的文档:
默认情况下,由 typeahead.js 创建的下拉菜单看起来很难看,您需要对其进行样式设置以确保它适合您的网页主题。
因此,我的解决方案是从我希望复制的示例中复制样式:
.tt-query, /* UPDATE: newer versions use tt-input instead of tt-query */ .tt-hint { width: 396px; height: 30px; padding: 8px 12px; font-size: 24px; line-height: 30px; border: 2px solid #ccc; border-radius: 8px; outline: none; } .tt-query { /* UPDATE: newer versions use tt-input instead of tt-query */ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .tt-hint { color: #999; } .tt-menu { /* UPDATE: newer versions use tt-menu instead of tt-dropdown-menu */ width: 422px; margin-top: 12px; padding: 8px 0; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 8px; box-shadow: 0 5px 10px rgba(0,0,0,.2); } .tt-suggestion { padding: 3px 20px; font-size: 18px; line-height: 24px; } .tt-suggestion.tt-is-under-cursor { /* UPDATE: newer versions use .tt-suggestion.tt-cursor */ color: #fff; background-color: #0097cf; } .tt-suggestion p { margin: 0; }