Javascript 搜索按钮不存在';t使用搜索栏的其余部分进行缩放

Javascript 搜索按钮不存在';t使用搜索栏的其余部分进行缩放,javascript,html,css,web,Javascript,Html,Css,Web,我对整个CSS编码都是新手,有时我会被卡住。我学习了一个在线教程,内容是如何制作一个动画搜索栏,使其看起来令人愉悦。我正在为我的学校项目做一个网站,我几乎完成了,只是在这里和那里添加了一些内容。它是关于从20世纪初到今天的技术 。搜索pos{ 显示:块; 左边距:自动; 宽度:330px; 位置:相对位置; 顶部:-40px; } .搜索框{ 位置:绝对位置; 最高:50%; 左:50%; 转换:翻译(-55%,-55%); 背景:白色; 高度:40px; 边界半径:60px; 填充:10px

我对整个CSS编码都是新手,有时我会被卡住。我学习了一个在线教程,内容是如何制作一个动画搜索栏,使其看起来令人愉悦。我正在为我的学校项目做一个网站,我几乎完成了,只是在这里和那里添加了一些内容。它是关于从20世纪初到今天的技术

。搜索pos{
显示:块;
左边距:自动;
宽度:330px;
位置:相对位置;
顶部:-40px;
}
.搜索框{
位置:绝对位置;
最高:50%;
左:50%;
转换:翻译(-55%,-55%);
背景:白色;
高度:40px;
边界半径:60px;
填充:10px;
}
.search框:悬停>.search txt{
宽度:240px;
填充:0.4px;
}
.search框:悬停>.search btn{
背景:白色;
填充:10px;
}
.搜索btn{
颜色:黑色;
浮动:中心;
宽度:30px;
高度:30px;
边界半径:80%;
背景:白色;
显示器:flex;
证明内容:中心;
对齐项目:居中;
过渡:0.4s;
}
.search.txt{
边界:无;
背景:无;
大纲:无;
浮动:左;
填充:0;
颜色:白色;
字体大小:14px;
过渡:0.4s;
线高:40px;
宽度:0px;
}

尝试将处理悬停的代码放在指定元素之后:

.search-box:hover>.search-txt
应该在后面

.search-txt

应该在后面

.search-btn
希望这有助于确保悬停效果按预期工作


也没有
CSS属性
,例如
float:center

尝试将处理悬停的代码放在指定元素之后:

.search-box:hover>.search-txt
应该在后面

.search-txt

应该在后面

.search-btn
希望这有助于确保悬停效果按预期工作


也没有
CSS属性
,例如
float:center

像Dejan.S一样,我不知道问题出在哪里。 如果你在一个相对类中放置了一个top
。搜索pos
,它不起作用

我在CodePen中复制了您的代码,我认为问题来自其他类,或者可能来自您的
$search.pos

(我用img替换字体图标,但相同)


告诉我这个代码是否让你满意

像Dejan.S一样,我不明白问题出在哪里。 如果你在一个相对类中放置了一个top
。搜索pos
,它不起作用

我在CodePen中复制了您的代码,我认为问题来自其他类,或者可能来自您的
$search.pos

(我用img替换字体图标,但相同)


告诉我这个代码是否让你满意

据我所知,您需要稍微更改一下css


.search-pos {
  display: block;
  margin-left: auto;
  width: 330px;
height:40px;
  position: relative;
}

.search-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-55%, -55%);
  background: white;
  height: 40px;
  border-radius: 60px;
  padding: 10px;
display:flex;
}

.search-box:hover>.search-txt {
  width: 240px;
  padding: 0 4px;
}

.search-box:hover>.search-btn {
  background: white;
  padding: 10px;
}

.search-btn {
  color: black;
  float: center;
  width: 30px;
  height: 30px;
  border-radius: 80%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s;
}

.search-txt {
  border: none;
  background: none;
  outline: none;
  float: left;
  padding: 0;
  color: white;
  font-size: 14px;
  transition: 0.4s;
  line-height: 40px;
  width: 0px;
}



如果此解决方案对您有帮助,请告诉我。

据我所知,您需要稍微更改css


.search-pos {
  display: block;
  margin-left: auto;
  width: 330px;
height:40px;
  position: relative;
}

.search-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-55%, -55%);
  background: white;
  height: 40px;
  border-radius: 60px;
  padding: 10px;
display:flex;
}

.search-box:hover>.search-txt {
  width: 240px;
  padding: 0 4px;
}

.search-box:hover>.search-btn {
  background: white;
  padding: 10px;
}

.search-btn {
  color: black;
  float: center;
  width: 30px;
  height: 30px;
  border-radius: 80%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s;
}

.search-txt {
  border: none;
  background: none;
  outline: none;
  float: left;
  padding: 0;
  color: white;
  font-size: 14px;
  transition: 0.4s;
  line-height: 40px;
  width: 0px;
}



如果这个解决方案对您有帮助,请告诉我。

您能解释一下什么地方出了问题,以及应该是什么样子吗?另外,你是否需要使用浮动而不能使用flex?请分享你的头HTML代码。你能解释一下什么是错误的,它看起来是什么样子吗?另外,你是否需要使用浮动而不能使用flex?请分享你的头HTML代码。是的,这很有帮助。原来我只需要添加display:flex;现在我只需要摆弄一下位置。非常感谢。是的,这很有帮助。原来我只需要添加display:flex;现在我只需要摆弄一下位置。非常感谢。