Установка ширины 2 элементов на основе самого длинного текста

0

Вопрос

Я пытаюсь определить наилучший способ сделать 2 элемента одинакового размера на основе текста большего элемента.

German Text - same size

French Text example 2 different sizes

В основном возьмите 2 текстовых элемента "ouverture de session" и "xyz" (используется для примера с коротким словом), чтобы обе кнопки имели одинаковый размер и были достаточно большими для обработки большего из 2 текстовых вводов.

Это можно сделать с помощью Javascript, Angular, чего угодно.

angular javascript typescript
2021-11-24 00:36:42
3

Лучший ответ

1

Вы можете сделать это с помощью CSS-сеток:

.button-panel {
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 10px;
}
<div class="button-panel">
  <button>A very long button name</button>
  <button>Ok</button>
</div>

2021-11-24 04:42:36
1

Вы можете получить кнопку с большим offsetWidth, затем примените это к другой кнопке width свойство стиля.

const buttons = document.querySelectorAll('button')

if (buttons[1].offsetWidth > buttons[0].offsetWidth) {
  buttons[0].style.width = buttons[1].offsetWidth + 'px';
} else {
  buttons[1].style.width = buttons[0].offsetWidth + 'px';
}
<button>Hello World!</button>
<button>Spectric</button>

Если у вас есть несколько кнопок, более масштабируемое решение:

const buttons = document.querySelectorAll('button')

const biggestWidth = [...buttons].reduce((a,b) => a = b.offsetWidth > a ? b.offsetWidth + 1 : a, 0)

buttons.forEach(e => e.style.width = biggestWidth + 'px')
<button>Hello World!</button>
<button>Spectric</button>

2021-11-24 00:56:39
0

Вы можете установить свойство минимальной ширины для элемента кнопки. При этом меньшая кнопка будет такой же ширины, как и большая.

2021-11-24 00:50:55

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................