How can I make the search bar expand to the right instead of the left?


Crelot

I'm trying to get the search bar to expand when you hover over this particular div, but I want it to expand to the right and not to the left (which it is currently doing) and the search icon will move to the far right as well. Is there a way to do this? I want the search bar to be on the far right of the navbar, hence float:Right.

.search {
  border-radius: 40px;
  height: 40px;
  background-color: orange;
  float: right;
  transform: translate(-280px, 5px);
}

.search input {
  position: relative;
  left: 20px;
  top: 8px;
  padding: 5px;
  outline: none;
  width: 0px;
  border-radius: 0px 20px 20px 0px;
  border: none;
  background: transparent;
  transition: 0.2s;
}

.search:hover input {
  width: 150px;
}

.btn {
  height: 40px;
  width: 40px;
  border-radius: 20px;
  background-color: tomato;
  transform: translate(0px, -25px);
}

.btn i {
  position: Relative;
  top: 12px;
  left: 12px;
}
<div class="search">
  <input type="text" placeholder="search...">
  <div class=btn>
    <i class="fas fa-search"></i>
  </div>
</div>

Professor Abrosius

Granted, I might be getting a little carried away, but I believe the following will do what you want, as it expands to the right and moves the button to the right.

:root{
  --i-trans-fast:350ms;
}

.search{
    border-radius: 40px;
    height:40px;
    background-color:orange;
  /*
    border: added to better define object boundary
    float: set left to facilitate the appearance to the right on mouseover 
  */
  border:2px solid tomato;
    float:left;
}

.search input{
    position: relative;
    left:20px;
    top:8px;
    padding:5px;
    outline: none;
    width:0px;
    border-radius: 0px 20px 20px 0px;
    border: none;
    background: transparent;

    
    /*
      text-indent: added to show space between button and placeholder/text
      transition: changed to make the appearance smoother
      opacity: added to give fade-in
    */
    text-indent:1.5rem;
    transition:ease-in-out all var(--i-trans-fast);
    opacity:0;
}

/*
  added: .search input:focus so that the panel does not disappear
*/
.search:hover input,
.search input:focus{
    width:150px;
    opacity:1;
}

/*
  added to remove ome extra indent which looks
  odd when button has moved to the right
*/
.search input:focus{
  text-indent:0.5rem;
}

/*
  added: various placeholder settings to make text disappear when text
  element has focus.
*/
::-webkit-input-placeholder{
    transition:ease-in-out all 250ms;
}
:-moz-placeholder{
    transition:ease-in-out all 250ms;
}
::-moz-placeholder {
    transition:ease-in-out all 250ms;
}
:-ms-input-placeholder {  
    transition:ease-in-out all 250ms;
}

:focus::-webkit-input-placeholder{
    color:transparent;
}
:focus:-moz-placeholder{
    color:transparent;
}
:focus::-moz-placeholder {
    color:transparent;
}
:focus:-ms-input-placeholder {  
    color:transparent;
}


.btn{
    height:40px;
    width:40px;
    border-radius:20px;
    background-color:tomato;
    transform: translate(0px, -25px);
}

.btn i{
    position:relative;
    top:2px;
    left:7px;
    /*
      opacity:added to give fade-in
      transition: added to make fade-in smooth
    */
    opacity:0;
    transition:ease-in-out opacity var(--i-trans-fast);
}

/*
  added to give fade-in final appearance
*/
.btn:hover i,
.search input:hover + div > i{
    opacity:1;
}

/*
  set content of pseudo element as arrow - initially transparent
*/
.btn i:before{
  font-family:arial;
    content:'\25BA';
    font-size:2rem;
    color:red;
}


/*
  added to allow smooth movement of search bttn to the right
*/
.search input + div{
  transition:ease-in-out all var(--i-trans-fast);
}


/*
  Added to move the search button to the right
*/
.search input:focus + div{
  transform: translate(123px, -25px) rotateZ(360deg);
}


/*
  change opacity of i elememt
*/
.search input:focus + div > i{
    opacity:1;
    left:10px;
    top:2px;
}

/*
  change color of and content of i pseudo element
*/
.search input:focus + div > i:before{
    color:white;
    content:'\003F';
}
<div class='search'>
    <input type='text' placeholder='search...' />
    <div class='btn'>
        <i class='fas fa-search'></i>
    </div>
</div>

Related


How would I make the cards go left to right instead of vertical?

Helger As the title says, I want to make the cards go left to right instead of vertical, I really don't know what to do, I've tried everything including float left The code below is a card. They are all the same but the text is different, here is a screenshot

How would I make the cards go left to right instead of vertical?

Helger As the title says, I want to make the cards go left to right instead of vertical, I really don't know what to do, I've tried everything including float left The code below is a card. They are all the same but the text is different, here is a screenshot

How would I make the cards go left to right instead of vertical?

Helger As the title says, I want to make the cards go left to right instead of vertically, I really don't know what to do, I've tried everything including float left The code below is a card. They are all the same but the text is different, here is a screensho

How would I make the cards go left to right instead of vertical?

Helger As the title says, I want to make the cards go left to right instead of vertical, I really don't know what to do, I've tried everything including float left The code below is a card. They are all the same but the text is different, here is a screenshot

How would I make the cards go left to right instead of vertical?

Helger As the title says, I want to make the cards go left to right instead of vertical, I really don't know what to do, I've tried everything including float left The code below is a card. They are all the same but the text is different, here is a screenshot

How to make this slide left to right instead of

Jessica baby: Could someone show how this slide can go left to right instead of top to bottom? var current = 0, slides = document.querySelectorAll(".randtext"); setInterval(function() { for (var i = 0; i < slides.length; i++) { slides[i].style.opacity

How to make this slide left to right instead of

Jessica baby: Could someone show how this slide can go left to right instead of top to bottom? var current = 0, slides = document.querySelectorAll(".randtext"); setInterval(function() { for (var i = 0; i < slides.length; i++) { slides[i].style.opacity

How to make this slide left to right instead of

Jessica baby: Could someone show how this slide can go left to right instead of top to bottom? var current = 0, slides = document.querySelectorAll(".randtext"); setInterval(function() { for (var i = 0; i < slides.length; i++) { slides[i].style.opacity

How to make this slide left to right instead of

Jessica baby: Could someone show how this slide can go left to right instead of top to bottom? var current = 0, slides = document.querySelectorAll(".randtext"); setInterval(function() { for (var i = 0; i < slides.length; i++) { slides[i].style.opacity

How can I move the close icon to the right of the search bar?

Jenny I am making a Wikipedia viewer. When you click the magnifying glass, it disappears and the search bar and close icon appear. How can I move the close/clear icon to the right of the search bar? https://codepen.io/jenlky/pen/WZBLEL $(document).ready(functi

How can I move the close icon to the right of the search bar?

Jenny I am making a Wikipedia viewer. When you click the magnifying glass, it disappears and the search bar and close icon appear. How can I move the close/clear icon to the right of the search bar? https://codepen.io/jenlky/pen/WZBLEL $(document).ready(functi

How can I move the close icon to the right of the search bar?

Jenny I am making a Wikipedia viewer. When you click the magnifying glass, it disappears and the search bar and close icon appear. How can I move the close/clear icon to the right of the search bar? https://codepen.io/jenlky/pen/WZBLEL $(document).ready(functi

How can I move the close icon to the right of the search bar?

Jenny I am making a Wikipedia viewer. When you click the magnifying glass, it disappears and the search bar and close icon appear. How can I move the close/clear icon to the right of the search bar? https://codepen.io/jenlky/pen/WZBLEL $(document).ready(functi