Задать вопрос

Как в bootstrap 5 cделать input по размеру текста в нем (чтобы текст Фамилия Имя Длинное Отчество был полностью виден)?

Прилагаю ссылку. возможно я изначально делаю неправильно(
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • Skypro
    Создание сайтов с нуля
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Никак, только ручками вычислять. В нужный момент или при вводе устанавливай ему ширину равную ширине его области прокрутки input.scrollWidth. Далее надо к этой величине добавить поправку на наличие границ и внутренних отступов, только если получившийся размер оказался чуть меньше желаемого.

Сюда смотри только если все получилось

const resizeInput = (input) => {
	input.style.removeProperty("width");
	const { borderLeftWidth, borderRightWidth } = getComputedStyle(input);

	if (input.clientWidth < input.scrollWidth) {
		input.style.setProperty(
			"width",
			`calc(${input.scrollWidth}px + ${borderLeftWidth} + ${borderRightWidth})`
		);
	}
};

document.querySelectorAll("input").forEach((input) => {
	input.addEventListener("input", () => {
		resizeInput(input);
	});

	resizeInput(input);
});

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
DevTeam.Space Москва
от 1 000 до 3 000 $
Сбер Москва
от 200 000 до 300 000 ₽