我有一个关于如何将输入文本框放在页面中央并做出响应的问题。

这是HTML代码:

<body>
        <div class="container container-padding50">
            <input type="text" class="js-userinput container-textinput" placeholder="mySearchApp">
    </div>
       <div class="message">
         <p>input anything you want search and press Enter</p>
         </div>
    <div class="js-container">
         <!-- image shows here -->
    </div>

    <script src="javascript/main.js"></script>

</body>


我已经尝试过CSS:

body {
    width: 80%;
    max-width: 1024px;
    margin: 0 auto;
}

.container-padding50 {
    padding-top: 50px;
    left:50%;
}

.container-textinput {
    text-aligen:center;
    width: 80%;
    /*display: relative;*/
    left: 50%;
    padding: 20px;
    font-size: 16px;
    font-family: Helvetica, sans-serif;
    border:none;
    border-bottom: 2px solid black;
}


我打算将输入字段设置为简单的,仅用“ mySearchApp”作为下划线,但是我尝试使用left:50%使其在页面中间,有人可以告诉我为什么它不起作用吗?我在这里想念什么吗?

最佳答案

为了使用left属性,必须放置元素。


  left CSS属性参与指定定位元素的水平位置。它对未定位的元素没有影响。
  
  https://developer.mozilla.org/en-US/docs/Web/CSS/left


尝试这个:



body {
  width: 80%;
  max-width: 1024px;
  margin: 0 auto;
}

.container-padding50 {
  position: relative;              /* NEW */
  padding-top: 50px;
  height: 80px;                    /* NEW */
}

.container-textinput {
  position: absolute;              /* NEW */
  left: 50%;
  transform: translateX(-50%);     /* NEW; see note below */
  text-align: center;
  width: 80%;
  padding: 20px;
  font-size: 16px;
  font-family: Helvetica, sans-serif;
  border: none;
  border-bottom: 2px solid black;
}

<div class="container container-padding50">
  <input type="text" class="js-userinput container-textinput" placeholder="mySearchApp">
</div>
<div class="message">
  <p>input anything you want search and press Enter</p>
</div>
<div class="js-container">
  <!-- image shows here -->
</div>





为什么在居中时使用transform


Element will not stay centered, especially when re-sizing screen

关于html - 将输入文本字段居中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45405514/

10-09 05:43