Переопределить полосу прокрутки TextArea полосой прокрутки основного текста - PullRequest
0 голосов
/ 08 мая 2020

Мне удалось заменить полосу прокрутки текстового поля основной полосой прокрутки, но мне нужно было установить чрезвычайно высокое значение, чтобы компенсировать высоту текстового поля (по крайней мере) 100%.

Текст внутри текстового поля (. .. очевидно) будет динамически c текст, набранный пользователем, поэтому мне нужно всегда компенсировать это на основной полосе прокрутки.

На всякий случай неясно, Высота текстового поля должна быть (как минимум) 100% в любом случае.

Вот мой код:

    body
    {
      background-color:#000;
      border:0;
      margin:0;
      padding:0
    }
    
    textarea
    {
      background-color:#fff;
      border:0;
      box-sizing:border-box;
      display:block;
      height:10000px;
      margin:0;
      outline:none;
      overflow:hidden;
      padding:0;
      position:relative;
      resize:none;
      width:200px
    }
<!DOCTYPE html>
<html>

<body>
  <textarea>
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      </textarea>
</body>

</html>

Вот живая ссылка на liveweave.com:

https://liveweave.com/2OA8uY

I попробовал min-height:100%;, но не получилось ...

1 Ответ

0 голосов
/ 08 мая 2020

Вместо того, чтобы указывать большое значение высоты, чтобы текстовая область занимала весь экран, вы можете использовать 100vh и overflow-y: auto, чтобы сделать его прокручиваемым.

    body
    {
      background-color:#000;
      border:0;
      margin:0;
      padding:0
    }
    
    textarea
    {
      background-color:#fff;
      border:0;
      box-sizing:border-box;
      display:block;
      height:100vh;
      margin:0;
      outline:none;
      overflow:hidden;
      padding:0;
      position:relative;
      resize:none;
      width:50%;
      overflow-y: auto; 
      /* width:200px */
    }
<!DOCTYPE html>
<html>

<body>
  <textarea>
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      gangina...
      </textarea>
</body>

</html>
...