Istnieje wiele pytań dotyczących wypełniania dostępnej przestrzeni na tej stronie, ale mój problem jest trochę szczególny, ponieważ już dostałem rozwiązanie, ale nie działa ono dla przycisków . Chciałbym zrozumieć, dlaczego to nie działa dla przycisków i jak mogę to zrobić. Wyobrażam sobie, że jest to tylko element stylu przeglądarki dla elementu przycisku, który muszę zastąpić.Dodawanie elementu przycisku do wypełnienia dostępnej szerokości
Mam dwa pływające elementy w obrębie (div) o stałej szerokości, jeśli to ma znaczenie). Prawy element ma stałą szerokość, a lewy element powinien zajmować całą szerokość.
Mogę to zrobić, ustawiając odpowiedni element na stałą szerokość i float: right
, pozostawiając lewy element bez specjalnej stylizacji. Działa to doskonale dla div. Działa również na przęsła, ale tylko wtedy, gdy ustawię na nich display: block
. Dla przycisków nie mogę w ogóle uruchomić. Próbowałem bloku, inline-block i każdej niejasnej wartości, którą mogłem znaleźć na MDN.
Nie wiem, dlaczego nie myśleć tylko zawijania przyciski div wcześniej. Oto co mam wymyślić:
Wiąże się overflow: hidden
box formatting context trick (które podejrzewa się dzieje, aby wygląd tutaj, ale nie potrafił zobaczyć, gdzie w celu dopasowania go). Najważniejsze informacje:
- Dwa przyciski są zapakowane w divy za pomocą przycisku klasy "PRZeWIETL".
- Dyski są sformatowane zgodnie ze sztuczką opisaną w trzecim akapicie powyżej. Prawy div ma wartość float: prawą i stałą szerokość, lewy div nie ma specjalnego stylu.
- Stosujemy teraz kontekstowy trik kontekstowy. Lewy div ma nadmiar: ukryty, co powoduje, że tworzy on przestrzeń dla prawostronnego diva.
- Możemy teraz zastosować lewy margines do prawego elementu div i zmienić jego szerokość, a lewy div zawsze będzie mieć odpowiedni rozmiar.
- Diwki tworzą dla nas pożądany efekt "wypełnienia dostępnej szerokości", teraz musimy po prostu umieścić guziki wewnątrz elementów div i nadać im wysokość i szerokość 100%.
- Jeśli jest to lewy przycisk, który chciał mieć ustaloną szerokość, w zasadzie powtórz powyższe kroki z lewymi i prawymi zamienionymi miejscami.
To nadal nie działa, ponieważ szerokości są kodowane ręcznie, więc nie jest to tylko wypełnienie dostępnej przestrzeni, trudno jest zakodować, ile miejsca ma zostać udostępniona. Jednak pomysł owijania guzików był przełomem, jakiego potrzebowałem. Przyjmuję tę odpowiedź i edytuję ostateczne rozwiązanie na moje pytanie. Dzięki za pomoc! –
Hm, przepraszam, ale cieszę się, że część z nich rozwiązała twój problem! Twoje zdrowie. – PSDoff