代码之家  ›  专栏  ›  技术社区  ›  erup

使用搜索栏和自动完成(物化CSS)显示错误

  •  0
  • erup  · 技术社区  · 6 年前

    我在设置物化搜索栏时遇到一些问题( https://materializecss.com/navbar.html )包括自动完成功能( https://materializecss.com/autocomplete.html )我的网站。

    自动完成功能似乎“覆盖”了搜索图标的显示。如果您执行“全选”,您将看到图标已变白,不再对齐。

    这是我的 index.html 迄今为止的文件:

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
        <!-- Compiled and minified CSS -->
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/css/materialize.min.css">
        <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
        <!-- Compiled and minified JavaScript -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js"></script>
      </head>
    
      <nav>
        <div class="nav-wrapper white">
          <form action="results" method="post">
            <div class="input-field">
              <input class="autocomplete" id="search" name="q" type="search"/>
              <label class="label-icon" for="search"><i class="material-icons">search</i></label>
              <i class="material-icons">close</i>
            </div>
          </form>
        </div>
      </nav>
    
      <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script>
          document.addEventListener('DOMContentLoaded', function() {
            var elems = document.querySelectorAll('.autocomplete');
            var instances = M.Autocomplete.init(elems, {
                    data: {
            "Apple": null,
            "Microsoft": null,
            "Google": 'https://placehold.it/250x250'
          },
              minLength: 1,
              limit:5
            });
          });
        </script>
    </html>
    

    我还发现,如果自动完成JS中没有数据,搜索栏的显示将保持“正常”。

    有人知道如何或已经解决了这个问题吗?谢谢!

    1 回复  |  直到 6 年前
        1
  •  0
  •   Germa Vinsmoke    6 年前

    把这两件事从 input-field label 班级。

    .input-field label {
        -webkit-transform: translateY(0px) !important;
        transform: translateY(0px) !important;
    }
    

    使用新版本的CDNJS。

     <!-- Compiled and minified CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-rc.2/css/materialize.min.css">
    
    <!-- Compiled and minified JavaScript -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-rc.2/js/materialize.min.js"></script>