Problem
descenders, g, p, q y, "" , font-size. , line-height descenders. , height, , line-height, , overflow ( ).
, , , line-height. (vertical-align, , , inline .) CSS, ...
1 ( Webkit)
, , , clip-path, 28px. , , , , , clip-path Webkit (Chrome, Safari, Opera).
input {
display: inline-block;
padding: 0;
border: none;
height: 32px;
font-size: 28px;
line-height: 32px;
font-family: arial;
background: #cdcdcd;
vertical-align: baseline;
-webkit-clip-path: inset(4px 0px 0px 0px);
clip-path: inset(4px 0px 0px 0px);
}
input: <input value="asdg">
Hide result2
DebRaj, inline-block block ( , ). , , , clip-path, , overflow: hidden;. , , , clip-path .
.text {
display: inline-block;
vertical-align: baseline;
overflow: hidden;
margin: 7px 0 -7px 0;
height: 28px;
}
.text > input {
margin-top: -4px;
border: none;
padding: 0;
background: #cdcdcd;
font-size: 28px;
line-height: 32px;
font-family: arial;
}
input:<span class="text"><input value="asdg"></span>
Hide result3
line-height, . line-height - , font-size, . , , . , , : line-height , , height. . contenteditable.
.fauxTextInput {
display: inline-block;
vertical-align: baseline;
margin: 6px 0 -6px 0;
padding: 0 3px 0 3px;
width: 9em;
height: 28px;
overflow: hidden;
font-size: 28px;
line-height: 23px;
font-family: arial;
background: #cdcdcd;
}
Faux input: <span class="fauxTextInput" contenteditable>asdg</span>
Hide result