Ustawianie szerokości 2 elementów na podstawie najdłuższego tekstu

0

Pytanie

Próbuję ustalić najlepszy sposób, aby zrobić 2 elementu tej samej wielkości na podstawie tekstu większego elementu.

German Text - same size

French Text example 2 different sizes

W zasadzie take 2 tekstowych elementu "ouverture de session" i "xyz" (służy do przykładu z krótkim słowem), aby oba przyciski miały ten sam rozmiar i były na tyle duże, aby przetwarzania większej z 2 tekstowych przepustów.

Można to zrobić za pomocą Javascript, Angular, czego chcesz.

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

Najlepsza odpowiedź

1

Można to zrobić za pomocą CSS-siatek:

.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

Może pojawić się przycisk z dużym offsetWidth, a następnie zastosuj to do innego przycisku width właściwość stylu.

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>

Jeśli masz kilka przycisków, bardziej skalowalne rozwiązanie:

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

Można ustawić właściwość minimalnej szerokości dla elementu przycisku. Przy tym mniejsza przycisk będzie takiej samej szerokości, jak i duże.

2021-11-24 00:50:55

W innych językach

Ta strona jest w innych językach

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