现在它在桌面上看起来很棒,但是对于移动设备,它只是在页面中间的浮子,当您尝试输入其中时,您看不到您要键入的内容。
您在此处看到的图像用于桌面
在移动设备上,中心只是一个小斑点
台式机,它位于右上方,供参考。为什么它会在移动设备上移动到中间?
// Search
.block-search {
display: inline-block;
.label {
display: inline-block;
float: none;
}
input {
border-radius: 50px;
height: 40px;
padding-left: 20px;
padding-right: 44px;
}
.control {
border-top: 0;
clear:none;
margin: 0;
padding: 0;
}
.action.search {
background: #5a5a5a;
border-radius: 50px;
height: 34px;
right: 4px;
top: 3px;
width: 34px;
}
.search-autocomplete ul:not(:empty) {
border-color: #c2c2c2;
border-top: 1px solid #c2c2c2;
}
.search-autocomplete ul {
li {
border-color: #c2c2c2;
&:hover {
background-color: #e5e5e5;
}
.amount {
color: #444;
}
}
.selected {
background-color: #e5e5e5;
}
}
}
在2019年,使用 float
s进行布局既不时尚也不实用。相反,您应该使用flexbox
或(如果您的设计需要更复杂的布局)CSS Grid
。您希望将布局保持在"高"上。在父容器中设置规则,并让孩子们流过,但是您确定了。
这是一个简单的例子。
- 设置父容器宽度,该容器宽度不超过视口宽度
- 中心所有
header
内容 - 尽量不要在元素上设置明确的
height
。而是使用填充。这将在不同的用户调整字体大小上很好地扩展。
html, body { margin: 0; }
.container {
width: 960px;
max-width: 100vw;
}
header {
padding: 0.5em 0;
display: flex;
justify-content: center;
}
.searchBox {
border: 1px solid gray;
border-radius: 20px;
padding: .5em 1em;
}
<div class="container">
<header>
<input type="search" class="searchBox" placeholder="Search…">
</header>
</div>
jsfiddle