如何创建对角输入
How to create diagonal inputs
我想创建这样的对角线输入:
我知道我是如何制作颜色和每样东西的,但是
我不知道我是如何制作那样的边框的
#nameinp{
border-right:5px #4d0026 solid;
border-left:none;
border-bottom:none;
border-top:none;
background-color:#e6e6e6;
width:140px;
height:25px;
text-align:center;
font-size:17px;
}
我添加的内容
使用 skewX()
。这会将元素沿 X 轴倾斜给定角度。
#nameinp{
border-right:5px #4d0026 solid;
border-left:none;
border-bottom:none;
border-top:none;
background-color:#e6e6e6;
width:140px;
height:25px;
text-align:center;
font-size:17px;
-ms-transform: skewX(20deg); /* IE 9 */
-webkit-transform: skewX(20deg); /* Safari */
transform: skewX(20deg);
}
<input type="text" id="nameinp"/>
如果您希望占位符在输入上直接包裹另一层并倾斜 it.Then 将内部输入倾斜完全相反的量。
#nameinp {
border-right: 5px #4d0026 solid;
border-left: none;
border-bottom: none;
border-top: none;
background-color: #e6e6e6;
width: 140px;
text-align: center;
font-size: 17px;
-ms-transform: skewX(20deg);
/* IE 9 */
-webkit-transform: skewX(20deg);
/* Safari */
transform: skewX(20deg);
}
#nameinp input {
height: 25px;
width: 128px;
background: #e6e6e6;
-ms-transform: skewX(-20deg);
/* IE 9 */
-webkit-transform: skewX(-20deg);
/* Safari */
transform: skewX(-20deg);
border: none;
}
<div id="nameinp">
<input type="text" placeholder="Enter" />
</div>
这是另一种解决方案,它扭曲了外部 <span>
而不是内部 <input>
它仍然不完美,但它不会扭曲输入字段中的文本或占位符。
.skewed {
border: 1px solid transparent;
border-right: 5px solid #4d0026;
background-color:#e6e6e6;
display: inline-block;
-ms-transform: skewX(20deg); /* IE 9 */
-webkit-transform: skewX(20deg); /* Safari */
transform: skewX(20deg);
}
.skewed > input {
border: none;
background-color: transparent;
font-size: 17px;
height: 25px;
margin: 0 5px;
text-align :center;
-ms-transform: skewX(-20deg); /* IE 9 */
-webkit-transform: skewX(-20deg); /* Safari */
transform: skewX(-20deg);
width: 140px;
}
<span class="skewed"><input type="text" id="nameinp" placeholder=""/></span>
我想创建这样的对角线输入:
我知道我是如何制作颜色和每样东西的,但是 我不知道我是如何制作那样的边框的
#nameinp{
border-right:5px #4d0026 solid;
border-left:none;
border-bottom:none;
border-top:none;
background-color:#e6e6e6;
width:140px;
height:25px;
text-align:center;
font-size:17px;
}
我添加的内容
使用 skewX()
。这会将元素沿 X 轴倾斜给定角度。
#nameinp{
border-right:5px #4d0026 solid;
border-left:none;
border-bottom:none;
border-top:none;
background-color:#e6e6e6;
width:140px;
height:25px;
text-align:center;
font-size:17px;
-ms-transform: skewX(20deg); /* IE 9 */
-webkit-transform: skewX(20deg); /* Safari */
transform: skewX(20deg);
}
<input type="text" id="nameinp"/>
如果您希望占位符在输入上直接包裹另一层并倾斜 it.Then 将内部输入倾斜完全相反的量。
#nameinp {
border-right: 5px #4d0026 solid;
border-left: none;
border-bottom: none;
border-top: none;
background-color: #e6e6e6;
width: 140px;
text-align: center;
font-size: 17px;
-ms-transform: skewX(20deg);
/* IE 9 */
-webkit-transform: skewX(20deg);
/* Safari */
transform: skewX(20deg);
}
#nameinp input {
height: 25px;
width: 128px;
background: #e6e6e6;
-ms-transform: skewX(-20deg);
/* IE 9 */
-webkit-transform: skewX(-20deg);
/* Safari */
transform: skewX(-20deg);
border: none;
}
<div id="nameinp">
<input type="text" placeholder="Enter" />
</div>
这是另一种解决方案,它扭曲了外部 <span>
而不是内部 <input>
它仍然不完美,但它不会扭曲输入字段中的文本或占位符。
.skewed {
border: 1px solid transparent;
border-right: 5px solid #4d0026;
background-color:#e6e6e6;
display: inline-block;
-ms-transform: skewX(20deg); /* IE 9 */
-webkit-transform: skewX(20deg); /* Safari */
transform: skewX(20deg);
}
.skewed > input {
border: none;
background-color: transparent;
font-size: 17px;
height: 25px;
margin: 0 5px;
text-align :center;
-ms-transform: skewX(-20deg); /* IE 9 */
-webkit-transform: skewX(-20deg); /* Safari */
transform: skewX(-20deg);
width: 140px;
}
<span class="skewed"><input type="text" id="nameinp" placeholder=""/></span>