使输入从右凹入,从左凸入

Make an input concave from right and convex from left

如何使用 css 实现文本输入的效果?

你可以包装 input 并使用 pseudo 元素使其成为 curved 弯曲阴影你可以使用 inset box-shadowinput 你可以添加 padding

* {
  box-sizing: border-box;
}
div {
  display: inline-block;
  position: relative;
  height: 40px;
}
div:after {
  content: '';
  width: 40px;
  height: 100%;
  left: 92%;
  top: 0;
  border-radius: 50%;
  background: white;
  position: absolute;
  box-shadow: inset 2px 0px 0px 0px rgb(184, 170, 170);
}
div input {
  width: 100%;
  height: 100%;
  border: 0;
  display: inline-block;
  border-radius: 30px 0px 0px 30px;
  background: #343434;
  padding: 10px;
  color: white;
  font-size: 20px;
  box-shadow: 2px 1px 3px 0px rgb(184, 170, 170);
}
<div>
  <input type="text" />
</div>