我有一个输入元素,其属性为text-align: right
。当输入为空时,scrollWidth等于clientWidth,这是正确的情况,但是当我在其中纠正单个字符时,即使还没有滚动器,scrollWidth也会比clientWidth多一个。应该相等。
<html>
<head>
<style>
#content {
height: 80px;
width: 20px;
padding: 0px;
background-color: coral;
text-align: right
}
</style>
</head>
<body>
<p>Click the button to get the entire height (vertically) and width (horizontally) of the div element with id="content".</p>
<button onclick="myFunction()">Try it</button>
<input id="content">Some content..</input>
<p id="demo"></p>
<script>
function myFunction() {
var elmnt = document.getElementById("content");
var y = elmnt.scrollHeight;
var x = elmnt.scrollWidth;
var z = elmnt.clientWidth;
document.getElementById ("demo").innerHTML = "ScrollHeight: " + y + "px<br>ScrollWidth: " + x + "px<br>clientWidth: " + z + "px";
}
</script>
</body>
</html>
尝试在上面的输入中添加一个字符,您将看到scrollWidth即将到21和clientWidth即将到20。理想情况下,它们都应具有值20,直到没有滚动器为止。