无法控制CSS过渡中的可点击区域

时间:2015-10-22 20:19:55

标签: html css css-transitions

我正在尝试创建一个滑动搜索栏/框,当您选择放大镜时,它会在过渡时移动。问题是,只有一个小空间,您可以选择放大镜来打开搜索栏。然后,当搜索栏被打开时,关闭它的空间向后移动(放大镜的右侧)大约5像素。我希望可选区域一直放在放大镜上。

这是HTML

<div class="wrap">
  <form action="" autocomplete="on">
    <input id="search" name="search" type="text" placeholder="Search by Address, Agent or Client..."/>
   <span class="fa fa-search"></span>
</form>

这是CSS

body {
background: #005DC1;
font-size: 15px;
}

.wrap {
 position: relative;
 right: 50px;
 height: 22px;
 float: right;
}

input[type="text"] {
height: 20px;
width: 0px; 
font-size: 12px;
font-family: helvetica;
border: none;
outline: none;
color: rgba(255, 255, 255, 0.8);
padding: 3px;
position: absolute;
top: 0;
right: 0;
background: none;
z-index: 1;
transition: width .4s cubic-bezier(0.000, 0.795, 0.000, 1.000);
cursor: pointer;
}

input[type="text"]:focus:hover {
 border-bottom: 1px solid #fff;
}

input[type="text"]:focus {
  width: 250px;
  z-index: 1;
  border-bottom: 1px solid #fff;
  cursor: text;
}

.wrap span {
  color: rgba(255, 255, 255, 0.8);
  z-index: 5000;
  cursor: pointer;
  right: 3px;
  height: 20px;
  width: 25px;
}

这是我目前的CodePen

以下是我试图模仿自己设计的原始Codepen

1 个答案:

答案 0 :(得分:2)

我认为您只需要在输入中添加padding-right,请参阅this CodePen