Mam stałą szerokość div
z dwoma przyciskami. Jeśli etykiety przycisków są zbyt długie, zawijają się - jeden przycisk pozostaje w pierwszym wierszu, a następny przycisk pod nim, zamiast do niego przylegać.
Jak zmusić div
do rozwinięcia, aby oba przyciski znajdowały się w jednej linii?
Odpowiedzi:
Spróbować
white-space: nowrap;
. . .źródło
white-space
Thenowrap
wartość jest obsługiwana w IE 6+, chociaż inne wartości są tylko IE 8+Połączenie obu
float: left;
white-space: nowrap;
działało dla mnie.Każdy z nich niezależnie nie osiągnął pożądanego rezultatu.
źródło
Nie znam uzasadnienia tego, ale ustawiłem kontener nadrzędny na
display:flex
i kontenery podrzędne nadisplay:inline-block
i pozostały one w linii pomimo łącznej szerokości dzieci przekraczających nadrzędnego.Nie trzeba bawić się
max-width
,max-height
,white-space
lub cokolwiek innego.Mam nadzieję, że komuś pomoże.
źródło
display: flex
. Nie potrzebowałem nic więcej.Jeśli nie zależy ci na minimalnej szerokości div i po prostu nie chcesz, aby div rozwijał się po całym kontenerze, możesz przesunąć go w lewo - div div domyślnie rozwija się, by obsługiwać jego zawartość, tak jak:
źródło
Jeśli twój div ma stałą szerokość, nie powinien się rozszerzać, ponieważ naprawiłeś jego szerokość. Jednak nowoczesne przeglądarki obsługują
min-width
właściwość CSS.Możesz emulować właściwość min-width w starych przeglądarkach IE przy użyciu wyrażeń CSS lub przy użyciu automatycznej szerokości i posiadania obiektu odstępnika w kontenerze. To rozwiązanie nie jest eleganckie, ale może załatwić sprawę:
źródło
Zmuszenie przycisków do pozostania w tej samej linii sprawi, że przekroczą one ustaloną szerokość diva, w którym się znajdują. Jeśli nie masz nic przeciwko, możesz zrobić kolejny div wewnątrz div, który już masz. Nowy div z kolei będzie utrzymywał przyciski i miał stałą szerokość bez względu na to, ile miejsca dwa przyciski muszą pozostać w jednej linii.
Oto przykład:
Możesz rozważyć właściwość przepełnienia dla części zawartości poza
parentDiv
granicą.Powodzenia!
źródło