Проблема, с которой вы сталкиваетесь, вероятно, вызвана тем, что контейнер .write-note-field имеет отступы, из-за чего элемент .input-form внутри него занимает больше места, чем кажется визуально. Когда вы устанавливаете для свойства display элемента .input-form значение flex, он занимает всю ширину и высоту родительского контейнера с отступом, поэтому вы можете щелкнуть за пределами текстового поля и активировать его. Одним из решений этой проблемы может быть удаление заполнения из контейнера .write-note-field. Как вы заметили, это решит проблему, но может не дать желаемого визуального результата. Другим решением было бы добавить указатель-events: none; в контейнер .write-note-field. Это предотвратит регистрацию кликов на контейнере и, таким образом, предотвратит активацию ввода. Другим решением было бы добавить div-обёртку вокруг формы и присвоить ей класс, например:
<div class="form-wrapper">
<form id="note-editor-wrapper" className="input-form" >
<div contentEditable="true" id="note-editor" role="textbox" tabIndex={0}></div>
</form>
</div>
Затем вы можете указать div-обёртке position: relative и элемент формы position: absolute, с шириной и высотой 100%. Это приведет к тому, что элемент формы полностью заполнит div-обёртку и, таким образом, сделает невозможным активацию ввода, нажав на обёртку:
.form-wrapper {
position: relative;
}
.input-form {
position: absolute;
width: 100%;
height: 100%;
}
Вы также можете попытаться указать максимальную ширину и максимальную высоту для элемента формы, чтобы он не смог заполнить всю div-обёртку:
.input-form {
max-width: 100%;
max-height: 100%;
}
Вы также можете попытаться указать минимальную ширину и минимальную высоту для элемента формы, чтобы он не смог заполнить весь div-обёртку
.input-form {
min-width: 100%;
min-height: 100%;
}
Вы также можете попытаться указать ширину и высоту элемента формы, чтобы он не смог заполнить весь div-обёртку
.input-form {
width: 100%;
height: 100%;
}
Вы можете попробовать эти методы и выбрать тот, который лучше всего соответствует вашим потребностям