У меня такая установка:
.wrapper {
height: 40px;
width: 80px;
border-style: solid;
border-width: 2px;
border-radius: 40px;
border-color: red;
display: flex;
align-items: center;
justify-content: center;
}
.element {
background-color: hotpink;
width: 10px;
height: 10px;
}
.wrapper:hover {
width: 800px;
-webkit-transition: width 0.4s ease-in-out;
justify-content: left;
padding-left: 35px;
}
.text-input {
display: none;
}
.wrapper:hover .text-input {
display: block;
}<div>
<div class=wrapper>
<div class=element>
<input class=text-input type = "text" name = "search" />
</div>
</div>
</div>https://codepen.io/anon/pen/BOzJxL
Мне нужно, чтобы текстовый ввод появлялся рядом с hotpink div elemenet (он должен оставаться там, где он есть, когда появляется input). Мне нужно, чтобы он появлялся побитно - вроде как раскрывается пиксель за piyxel. Покидая div, я хочу, чтобы он снова был скрыт - в том же стиле, что и вошел.
@TimKlein Добавлены отсутствующие закрывающие теги.
Элементы <div> не являются самозакрывающимися, поэтому у вас не может быть этого: <div class=element/>. Он должен иметь закрывающий тег (div являются элементами контейнера, что означает, что вы помещаете в них другие элементы HTML): <div class=element></div>.
@TimKlein отредактировал это. Сожалею. React-режим;)
попробуйте добавить поле: .text-input {display: none; margin-left: 10px}
Примечание: тег <input> не использует и не нуждается в закрывающей косой черте и никогда не использовал.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это сработает для вас.
.wrapper {
height: 40px;
width: 75px;
border-style: solid;
border-width: 2px;
border-radius: 40px;
border-color: red;
display: flex;
align-items: center;
padding-left:30px;
-webkit-transition: width 0.4s ease-in-out;
box-sizing:border-box;
}
.element {
background-color: hotpink;
width: 10px;
height: 10px;
}
.wrapper:hover {
width: 100%;
}
.text-input {
max-width: 0;
float: left;
padding: 0px;
border: 0px transparent;
-webkit-transition:max-width 0.6s ease-in-out;
transition:max-width 0.6s ease-in-out;
}
.wrapper:hover .text-input {
max-width: 50%;
padding: 2px;
border: 1px solid #d4d4d4;
}<div class = "wrapper">
<div class = "element"></div>
<input class = "text-input" type = "text" name = "search" />
</div>div с горячим розовым цветом исчезает: - /
Вам не хватает двух закрывающих тегов
</div>в вашем divelementи вашем divwrapper.