我想将搜索栏对齐到最右边

时间:2019-07-03 08:58:10

标签: html css alignment

我正在尝试将导航栏中的搜索栏对齐,但我的所有努力都徒劳无功。

我没有在此处包括整个导航栏代码,仅在div容器中导航栏内部包含了搜索栏。

.search {
      width: 100%;
      position: relative;
      display: flex;
    }

    .searchTerm {
      width: 100%;
      border: 3px solid #00B4CC;
      border-right: none;
      padding: 5px;
      height: 20px;
      border-radius: 5px 0 0 5px;
      outline: none;
      color: #9DBFAF;
    }

    .searchTerm:focus{
      color: #00B4CC;
    }

    .searchButton {
      width: 20px;
      height: 20px;
      border: 1px solid #00B4CC;
      background: #00B4CC;
      text-align: center;
      color: #fff;
      border-radius: 0 5px 5px 0;
      cursor: pointer;
      font-size: 20px;
    }

    .wrap{
      width: 30%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .topnav-right {
      float: right;

    }
<div class="topnav-right">
      <div class="wrap">
         <div class="search">
            <input type="text" class="searchTerm" placeholder="What are you looking for?">
            <button type="submit" class="searchButton">
              <i class="fa fa-search"></i>
           </button>
         </div>
      </div>
      </div>    

我是否以正确的方式来做?

2 个答案:

答案 0 :(得分:3)

更改CSS

.wrap{
      width: 30%;
      position: absolute;
      top: 50%;
      right: 0%;
      transform: translate(0%, -50%);
    }

https://jsfiddle.net/lalji1051/L7dnvqbm/1/

答案 1 :(得分:0)

我不知道您为什么使用“ .topnav-right”类并使用它向右浮动。没有它也可以很好地工作。

.wrap{
  width: 30%;
  position: absolute;
  top: 50%;
  right: 0;
}

您可能需要调整.searchButton类的宽度和高度。