如何构建CSS3可扩展搜索表格



我想使悬停在同一行中的图标的顶部边框和输入的顶部边框。但是我无法弄清楚如何正确地做到这一点。运行片段以查看问题(悬停在搜索图标上(。

/* SEARCH */
.srchwrapper {
  float: left;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 1.2%;
}
.search-container *,
.search-container *:after,
.search-container *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/* search bar focus */
.search-container *:focus {
  background: #fbfbfb;
  color: black;
  outline: 0;
}
/* search bar container */
.search-container {
  display: table;
  position: relative;
  width: 51px;
  float: left;
}
/* search icon button */
.search-icon-btn {
  background-color: white;
  display: table-cell;
  height: 33px;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 50px;
  z-index: 1;
}
/* search bar input container */
.search-input {
  position: absolute;
  left: 0;
  z-index: 0;
}
/* search bar input */
.search-input input.search-bar {
  height: 35px;
  padding: 0px;
  width: 50px;
}
.search-input input.search-bar:focus {
  padding-left: 60px;
  padding-right: 10px;
  width: 200px;
}
/* transition effect */
.search-input input.search-bar,
.search-icon-btn {
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
/* hover on search bar container */
.search-container:hover>.search-input input.search-bar {
  padding-left: 60px;
  padding-right: 10px;
  width: 200px;
  border: 2px solid black;
}
.search-container:hover {
  background-color: grey;
  border: 2px solid black;
}
.navlinkborder {
  background-color: limegreen;
  padding: 10px;
  border-radius: 3px;
}
.navlinkborder:hover {
  background-color: green;
  color: white;
  transition: .5s;
}
<script defer src="https://use.fontawesome.com/releases/v5.0.4/js/all.js"></script>
<div class="srchwrapper">
  <div class="search-container">
    <div class="search-icon-btn">
      <i class="fa fa-search fa-lg"></i>
    </div>
    <div class="search-input">
      <input type="search" class="search-bar" placeholder="Hľadať...">
    </div>
  </div>
</div>

这是开始的最小弹性箱布局:

.search-container {
  display: flex;
  width: 20px;
  padding: 4px;
  border: 2px solid;
  transition: width .2s;
  overflow: hidden;
}
.search-container:hover {
  width: 200px;
}
.search-input {
  flex: 1;
  display: flex;
}
.search-input input {
  flex: 1;
  background-color: #fff;
  background-clip: padding-box;
  box-shadow: none;
  border: 0;
  padding: 0;
  outline: 0;
  margin-left: 4px;
}
<script defer src="https://use.fontawesome.com/releases/v5.0.4/js/all.js"></script>
<div class="search-container">
  <div class="search-icon-btn">
    <i class="fa fa-search fa-lg"></i>
  </div>
  <div class="search-input">
    <input type="search" class="search-bar" placeholder="Hľadať...">
  </div>
</div>

相关内容

  • 没有找到相关文章

最新更新