事情是這樣的:
<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