Chciałbym, aby etykiety nie znajdowały się nad polem wprowadzania, ale po lewej stronie.
<form method="post" action="" role="form" class="form-inline">
<div class="form-group">
<label for="rg-from">Ab: </label>
<input type="text" id="rg-from" name="rg-from" value="" class="form-control">
</div>
<div class="form-group">
<label for="rg-to">Bis: </label>
<input type="text" id="rg-to" name="rg-to" value="" class="form-control">
</div>
<div class="form-group">
<input type="button" value="Clear" class="btn btn-default btn-clear">
<input type="submit" value="Los!" class="btn btn-primary">
</div>
</form>
Ten kod daje mi:
Chciałbym mieć:
css
twitter-bootstrap-3
Stefan Vogt
źródło
źródło
form-group
może dziedziczyć wform-inline
celu tworzenia indywidualnych grup formularzy w tekście zamiast klasy nadrzędnej formularza.Umieść na
<label>
zewnątrzform-group
:źródło
Dokumentacja Bootstrap 3 mówi o tym w zakładce dokumentacji CSS w sekcji „Wymaga niestandardowych szerokości”, która stwierdza:
Jeśli używasz przeglądarki i narzędzi Firebug lub Chrome do tłumienia lub zmniejszania stylu „szerokości”, powinieneś zobaczyć, jak chcesz. Oczywiście możesz następnie utworzyć odpowiedni CSS, aby rozwiązać problem.
Jednak wydaje mi się dziwne, że w ogóle muszę to zrobić. Nie mogłem się powstrzymać od poczucia, że ta manipulacja była irytująca i na dłuższą metę podatna na błędy. Ostatecznie użyłem atrapy klasy i trochę JS do globalnego ustawienia wszystkich moich wejść inline. To była niewielka liczba przypadków, więc nie było to wielkim problemem.
Niemniej jednak chciałbym usłyszeć od kogoś, kto ma „właściwe” rozwiązanie i mógłby wyeliminować moją podkładkę / hack.
Mam nadzieję, że to pomoże i stanowi dowód na to, że nie zepsułeś uszczelki wszystkim osobom, które zignorowały Twoją prośbę jako problem Bootstrap 3.
źródło
Możesz stworzyć taki formularz, w którym kontrolka etykiety i formularza są ze sobą przy użyciu dwóch metod -
1. Wbudowany układ formularza
2. Poziomy układ formularza
Możesz sprawdzić tę stronę, aby uzyskać więcej informacji i demonstrację na żywo - http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-forms.php
źródło
Lubię to
PRÓBNY
HTML
źródło
Miałem ten sam problem, oto moje rozwiązanie:
tutaj jest Demo
źródło
Musisz wypłynąć na lewo wszystkie elementy w ten sposób:
daj trochę marginesu na pożądane elementy:
i ustaw etykietę na taką samą wysokość wiersza, jak wysokość pól:
źródło
Na podstawie istniejących odpowiedzi widać, że terminologia Bootstrap jest myląca. Jeśli spojrzysz na dokumentację bootstrap, zobaczysz, że klasa form-horizontal jest w rzeczywistości przeznaczona dla formularza z polami znajdującymi się poniżej siebie, tj. To, co większość ludzi pomyślałaby jako forma pionowa. Prawidłowa klasa dla formularza przechodzącego przez stronę to form-inline . Prawdopodobnie wprowadzili termin inline, ponieważ nadużywali już terminu „ horyzontalny” .
Na podstawie niektórych odpowiedzi tutaj widać, że niektórzy ludzie używają obu tych klas w jednej formie! Inni uważają, że potrzebują formy poziomej, kiedy faktycznie chcą formować w linii .
Proponuję zrobić to dokładnie tak, jak opisano w dokumentacji Bootstrap:
Który produkuje:
źródło
Możesz użyć tagu span wewnątrz etykiety
źródło
Udało mi się naprawić mój problem z. Wydaje się, że działa dobrze i oznacza, że nie muszę ręcznie dodawać szerokości do wszystkich danych wejściowych.
źródło
Jestem pewien, że już znalazłeś odpowiedź ... oto rozwiązanie, do którego wyprowadziłem.
To mój CSS.
A mój HTML ...
Możesz zobaczyć działający przykład tutaj ... http://jsfiddle.net/s6Ujm/
PS: Ja też jestem początkującym, profesjonalni projektanci ... podzielcie się swoimi recenzjami.
źródło
Myślę, że właśnie tego chcesz, z dokumentacji bootstrap „Forma pozioma Użyj predefiniowanych klas siatki Bootstrap, aby wyrównać etykiety i grupy kontrolek formularza w układzie poziomym, dodając .form-horizontal do formularza. Spowoduje to zmianę .form-groups na zachowują się jak rzędy siatki, więc nie ma potrzeby używania rozszerzenia .row ". Więc:
Skrzypce: http://jsfiddle.net/beewayne/B9jj2/29/
źródło
Możemy również używać go po prostu jako
źródło
Wygląda na to, że dodawanie
style="width:inherit;"
do danych wejściowych działa dobrze. jsfiddle demoźródło
Nie jest wymagany CSS. To powinno dobrze wyglądać na Twojej stronie. Możesz ustawić
col-md-*
według swoich potrzebźródło