事情是这样的:
<span class="outer">
<span class="inner">
<input type="text" value="test value" />
</span>
</span>
.outer {
display: inline-block;
border-bottom: 34px solid #000;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
height: 0px;
}
.inner {
display: inline-block;
margin: 1px -18px -40px -18px;
border-bottom: 32px solid white;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
height: 0px;
}
input
{
background: transparent;
border: none;
display: inline-block;
font-size: 130%;
}
http://jsfiddle.net/fNCt4/4/
输入本身不利于形状。这只是这两个跨度。你可以使用输入元素本身作为内部形状,但是由于你需要添加标记,所以我认为你可以添加两个'通用'梯形助手形状并保持输入元素不变。
你需要两个来伪造边界。这是必要的,因为形状本身是通过添加边框创建的,所以可见边框通过将稍小的形状叠加到另一个上来构造。
其余的是负边界的技巧,允许内部形状定位在外形的边界上。当然,使用transparent
作为颜色,可以防止内部形状的“负面空间”覆盖外部形状。
将您的输入字段放在图形上并用css隐藏输入字段的边框 – Alexxus