我有一个关于如何将输入文本框放在页面中央并做出响应的问题。
这是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/