【问题标题】:vertical and horizontal centering datalist box with its button带有按钮的垂直和水平居中数据列表框
【发布时间】:2025-12-12 16:05:02
【问题描述】:

尝试通过将数据列表与中心(垂直和水平)对齐来设置其样式,但我只能进行水平居中而不是垂直。

有没有办法增加数据列表框的宽度并做一些样式。请帮忙。。

$('#btn').click(function() { // The `$` reference here is a jQuery syntax. So we are loading jquery right before this script tag
        var textval = $('#textcat').val();
        window.location = "1stlink.php?variable=" + encodeURIComponent(textval);
      });
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 
    <div class="container">
      <div class="row">
        <div class="col-md-6 col-md-offset-3">
    <div class="text-center">
    <input list="category" name="category" id="textcat" placeholder="Enter your area..">
    <datalist id="category">
      <option id="www.google.com" value="fruits" />
      <option id="www.fb.com" value="animals" />
      <option id="www.ymail.com" value="vechiles" />
      <option id="www.msn.com" value="ornaments" />
    </datalist>
    <input id="btn" type="button" value="submit">
  
    </div>
    </div>
    </div>

【问题讨论】:

    标签: html twitter-bootstrap css


    【解决方案1】:

    在“输入”元素中,您可以根据自己的喜好轻松调整元素宽度。

    请参阅此页面了解更多信息 https://www.w3schools.com/css/css_form.asp

    $('#btn').click(function() { // The `$` reference here is a jQuery syntax. So we are loading jquery right before this script tag
      var textval = $('#textcat').val();
      window.location = "1stlink.php?variable=" + encodeURIComponent(textval);
    });
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <div class="container">
      <div class="row" style="width: 100%; padding-top: 25%">
        <div class="col-md-6 col-md-offset-3">
          <div class="text-center">
            <input style="width: 100%" list="category" name="category" id="textcat" placeholder="Enter your area..">
            <datalist id="category">
              <option id="www.google.com" value="fruits" />
              <option id="www.fb.com" value="animals" />
              <option id="www.ymail.com" value="vechiles" />
              <option id="www.msn.com" value="ornaments" />
            </datalist>
            <input id="btn" type="button" value="submit">
          </div>
        </div>
      </div>

    【讨论】:

    • 通过您的回答,我可以增加宽度,但我无法获得垂直居中。有什么我想念的吗
    • 现在检查代码...我更改了行类填充设置
    【解决方案2】:

    要垂直对齐数据列表,请使用display: flexalign-items: center。请注意,您需要在容器上设置高度以垂直对齐其内容。

    刚刚注意到您关于宽度的注释。要调整它,您可以使用数据列表的 id 调整宽度属性。

    Updated Fiddle.

    .container {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      height: 100vh;
    }
    

    【讨论】:

    • 我可以让这个移动响应式
    最近更新 更多