如何使用CSS创建输入文本,使用虚线底部边框/线条表示笔画长度等于每个字符的长度?
以下是一个例子:
答案 0 :(得分:2)
dashed
边框样式没有给出确切的效果,因为我们cannot control the length of strokes。相反,我们可以通过在输入后面使用绝对定位的伪元素来创建虚线边框,并通过letter-spacing
属性指定笔划之间的间距。
input[type="text"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 0;
outline: 0;
background: transparent;
width: 12.70em;
font-size: 1em;
}
.input-wrapper, input[type="text"] {
font-family: monospace;
font-weight: bold;
letter-spacing: .3em;
}
.input-wrapper {
display: inline-block;
position: relative;
overflow: hidden;
padding-bottom: .2em;
font-size: 200%;
}
.input-wrapper:after {
content: "——————————————————————————————";
line-height: .3em;
position: absolute;
bottom: 0;
left: 0;
z-index: -1;
}
<div class="input-wrapper">
<input type="text" value="Hello World" maxlength="15">
</div>
答案 1 :(得分:1)
尝试使用border-bottom: 1px dashed black;
答案 2 :(得分:0)
您还可以为每个字母使用单个跨度并获得相同的结果(仅使用边框底部并设置固定宽度,高度和边距):
span{
display:inline-block;
border-bottom:5px solid black;
margin-right:2px;
width:20px;
text-align:center;
height:30px;
font-family:Verdana;
font-weight:bold;
font-size:24px;
/* Add padding-bottom if changing the font-size */
}
&#13;
<span>H</span>
<span>E</span>
<span>L</span>
<span>L</span>
<span>O</span>
<span> </span>
<span> </span>
<span> </span>
<span> </span>
&#13;