Oto mój przypadek systemu siatki 960:
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1">Namn</div>
<div class="kundregister_grid_1">Anv.Namn</div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
To jest mój zestaw elementów div, używany jako struktura tabeli.
CSS mówi, co następuje:
.kundregister_grid_1 {
display: inline-block;
float: left;
margin: 0;
text-align: center;
}
.kundregister_grid_1 {
width: 140px;
}
Nie przejmuj się szwedzkimi nazwami. Chcę, aby elementy div były wyświetlane, mimo że nie mają wartości.
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
Tak więc w tym przypadku nie ma „Namn” i „Avn.Namn” w dwóch kolumnach. Jednak po uruchomieniu tego w chrome są one usuwane i nie przesuwają już innych elementów div w kolejności float:left
. Więc jeśli mam kategorie w tych samych elementach div powyżej, wartości zostaną umieszczone w niewłaściwej kategorii.
element.text(" ");
w jQuery i
pojawia się na stronie.Spróbuj dodać
do pustych pozycji.Nie rozumiem, dlaczego nie używasz
<table>
tutaj? Zrobią tego rodzaju rzeczy automatycznie.źródło
<table>
== ZŁE.
tak popularnego rozwiązania może powodować problemy w niektórych scenariuszach. Podobnie jak w przypadku przekreślenia (text-decoration: line-through;
) tekstu, obrys pokaże się
, podczas gdy to, czego naprawdę chcesz, to po prostu pusty element div.Nieznaczna aktualizacja odpowiedzi @ no1cobla. To ukrywa okres. To rozwiązanie działa w IE8 +.
źródło
.class:after:empty
Prostym rozwiązaniem dla pustych pływających elementów div jest dodanie:
w ten sposób możesz zachować funkcjonalność pływającą i zmusić ją do wypełnienia przestrzeni, gdy jest pusta.
Używam tej techniki w kolumnach układu strony, aby utrzymać każdą kolumnę na swoim miejscu, nawet jeśli pozostałe kolumny są puste.
Przykład:
źródło
min-height
jest najlepszym rozwiązaniemwidth
. Jednak nie zapobiega to zerowej wysokości div. (spróbuj ustawić tło div, aby zobaczyć problem). Dlatego & nbsp; jest bardziej ogólnym rozwiązaniem. Również treść: „.” rozwiązuje problem z zerową wysokością.Po prostu dodaj znak spacji o zerowej szerokości wewnątrz pseudoelementu
źródło
To jest jeden sposób:
źródło
content: "\200b";
dla przestrzeni o zerowej szerokości . Dodatkową zaletą jest to, że przeglądarka nie wybierze tego znaku (np.CTRL+A
CTRL+C
Nadal będzie się zachowywał tak samo).Możesz:
o Ustaw
.kundregister_grid_1
na:width
(lubwidth-min
) zheight
(lubmin-height
)padding-top
padding-bottom
border-top
border-bottom
o Lub użyj pseudoelementów :
::before
lub::after
z:{content: "\200B";}
{content: "."; visibility: hidden;}
.o Lub umieścić
w pustym elemencie, ale czasami może to przynieść nieoczekiwane efekty, np. w połączeniu ztext-decoration: underline;
źródło
Dlaczego po prostu nie dodać „min-width” do swojej klasy css?
źródło
działa, ale to nie jest w porządku. Myślę, że w min-height: 1px;
źródło
Używając inline-block, będzie zachowywał się jak obiekt wbudowany. więc nie potrzeba żadnych pływaków, aby umieścić je obok siebie w jednej linii. I rzeczywiście, jak powiedział Rito, pływaki potrzebują „ciała”, tak jak potrzebują wymiarów.
Całkowicie zgadzam się z Pekką co do używania tabel. Wszyscy, którzy budują układy przy użyciu elementów div, unikają tabel, jakby to była choroba. Ale używaj ich do danych tabelarycznych! Do tego są przeznaczone. A w twoim przypadku myślę, że ich potrzebujesz :)
ALE jeśli naprawdę naprawdę chcesz tego, czego chcesz. Istnieje sposób hakowania CSS. To samo co hack float.
Dodaj to i gotowe: D (Uwaga: nie działa w IE, ale można to naprawić)
źródło
Jeśli muszą być pływające, zawsze możesz ustawić minimalną wysokość na 1 piksel, aby się nie zwijały.
źródło
Tworząc niestandardowy zestaw znaczników układu, znalazłem inną odpowiedź na ten problem. Podano tutaj niestandardowy zestaw tagów i ich klas CSS.
HTML
CSS
Kluczem jest tutaj rozmiar pudełka i wypełnienie.
źródło