使我的搜索框更加移动友好



现在它在桌面上看起来很棒,但是对于移动设备,它只是在页面中间的浮子,当您尝试输入其中时,您看不到您要键入的内容。

您在此处看到的图像用于桌面

在移动设备上,中心只是一个小斑点

台式机,它位于右上方,供参考。为什么它会在移动设备上移动到中间?

    // 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

相关内容

  • 没有找到相关文章

最新更新