css - 如何将 <span> 放入 &lt;input&gt; 中?

标签 css input hide css-transitions

<分区>

这不是重复的。虽然我基本上是在寻找与 the other post 相同的结果,我想以不同的方式去做。他们正在使用背景图片,而我想使用 <span> .

我正在尝试创建一个文本框,以便当用户在其中键入内容时,右侧会显示一个“X”。但是,我不希望在框中没有文本时显示“X”,就像现在这样。

我尝试将“X”设为白色,并让它在滑动时转换颜色,但当您将鼠标向下拖动到它上面时您仍然可以选择。

我想我需要将它放在文本框内(以某种方式),然后将它向右滑动并使用 overflow: hidden 隐藏它。 .我也确实尝试过这样做,但是我什么也做不了。

http://jsfiddle.net/qgy8Ly5L/16/

<span>当它不显示时应该在白色背景的“后面”。中间过渡应该是这样的:

x.jpg
(来源:googledrive.com)

这在 CSS 中可行吗?如果可行,我该怎么做?

最佳答案

将您的输入和跨度都包装在一个容器中,将此容器定位为相对的,将跨度定位为绝对的。您现在可以随心所欲地使用 span。

function checkInput(text) {

  if (text) {
    $("#clearBtn1").addClass("show");
  } else {
    $("#clearBtn1").removeClass("show");
  }

}
.text-container {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.clearBtn {
  position: absolute;
  top: 0;
  right: -15px;
  transition: right 0.2s;
}
.show {
  right: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="text-container">
  <input type="text" onkeyup="checkInput(this.value)" />
  <span id="clearBtn1" class="clearBtn">X</span>
</div>

关于css - 如何将 <span> 放入 &lt;input&gt; 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963878/

相关文章:

class - 将类添加到 TableSorter 过滤器小部件输入?

html - 在 Chrome 中编辑 CSS 规则时不要突出显示 HTML 区域

css - 伪 CSS 元素不显示在父 div 之外

html - (HTML & CSS) 如何在用户按下 "Enter"时执行操作

Javascript 显示/隐藏密码字段的切换按钮

jquery - 根据选项值隐藏select的选项

javascript点击并隐藏问题firefox

html - 如何在圆形 div 中创建基于背景颜色的边框?

css - 我可以左对齐还是右对齐使用 960 CSS 框架的网页?

c++ - 在 C 中的另一个函数的输入中定义一个函数