2010-04-02 10 views
7

Istnieje wiele pytań dotyczących formatowania formularzy, aby etykiety były wyrównane, a prawie wszystkie odpowiedzi sugerujące czyste rozwiązanie CSS (w przeciwieństwie do używania tabeli) zapewniają stałą szerokość elementu label.Dlaczego nadanie określonej szerokości etykietę jest akceptowanym zachowaniem?

Ale czy to nie mieszanie treści i prezentacji? Aby wybrać odpowiednią szerokość, musisz po prostu zobaczyć, jak duża jest twoja najdłuższa etykieta i spróbuj wartości szerokości piksela, aż "pasuje". Oznacza to, że jeśli zmienisz etykiety, będziesz musiał zmienić swój CSS.

Odpowiedz

4

Nie mam problemu (Złap! Herezja!) za pomocą tabel do wyrównania elementów formularzy i ich etykiet. Jeśli to czyni mnie Luddystą, niech tak będzie. Uważam, że można argumentować, że tablice par etykiet/danych wejściowych są wystarczająco tabularne, aby można je było renderować za pomocą tabel.

+1

+1 za odwagę, by zostać Luddystą, a także za odrzucenie dogmatu na rzecz prostoty i wspieranie bardzo starych lub dziwnych przeglądarek. – David

+0

Co powiesz na użycie 'form> zestawu pól> div' zamiast' table> tr> td', ale podając poprzednie elementy 'display: table/table-row/table-cell' styles, spraw, by zachowywały się jak tabela. (Nie testowałem, ale jestem pewien, że nie wszystkie przeglądarki takie jak to podejście i nie, nie proponuję tego poważnie.) – jholster

+0

@Yaggo: Złe rzeczy zdarzają się, gdy powodujesz wyświetlanie innych elementów jako elementy tabeli. Mam na myśli, jeśli zamierzasz używać reguł wyświetlania tabel, dlaczego nie używać tabel? Dla mnie chodzi o robienie rzeczy, które działają tak, jak powinny, i nie powodują dodatkowego czasu dla deweloperów i bóle głowy. – Robusto

2

Twoje etykiety nadal mogą zawijać, dzięki czemu mogą być bardzo krótkie lub bardzo długie. W żaden sposób nie ograniczasz swoich treści (almost), po prostu dyktujesz, jak będą wyświetlane.

+0

Dalej, zawijanie słów oznacza, że ​​będą wyglądać jak bzdura. –

+0

Och, więc chcesz, aby treść dyktowała Twoją prezentację? Czy to mówisz? Tak brzmi ten komentarz :-) – Jaxidian

0

Stałe szerokości nie muszą być w pikselach. em to poprawna i lepsza jednostka dla kontenerów z tekstem.

Powiązane problemy