У меня есть текстовая область, в которой определены 22 столбца (столбцы / символы) и 16 строк. Но cols , выделенные для текстовой области, отличаются от браузера к браузеру как на рабочем столе, так и на устройствах.
Ниже приведены некоторые результаты теста, которые я получил при тестировании примера программы (https://codesandbox.io/s/condescending-snowflake-3ck5s).
Платформа: Windows
Google chrome, браузер New Edge и Firefox, кажется, допускают только 22 символа в строке.
Платформа: Ma c
Safari и Google chrome всегда позволяют вводить 23 символа в строке.
Платформа: Android
Google chrome на Samsung J7 позволял вводить только 22 символа на строку. Но Google chrome на Samsung S9 позволял вводить 21 символ на строку.
Но вывод следующих html отличался от приведенного выше примера программы. Где Google chrome и браузер New Edge всегда допускают только 21 символ на строку, в то время как Firefox поддерживал 22.
<!DOCTYPE html>
<html>
<head>
<title>Textarea Tests</title>
<style>
textarea {
resize: none;
overflow-y: scroll;
overflow-x: hidden;
}
</style>
</head>
<body>
Textarea 1:
<textarea cols="22" rows="5">
</textarea>
</body>
</html>
Итак, мой вывод: нет никаких гарантий, что мы получим точные столбцы, которые мы определяем в текстовых областях. Это всегда похоже на cols = n - 1 или n + 1 на разных браузерах и устройствах.
Существует ли решение на основе javascript для ограничения количества столбцов в строке?