Dies ist mein Fall für ein 960-Rastersystem:
<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>
Dies ist meine Gruppe von Divs, die als Tabellenstruktur verwendet werden.
CSS sagt Folgendes:
.kundregister_grid_1 {
display: inline-block;
float: left;
margin: 0;
text-align: center;
}
.kundregister_grid_1 {
width: 140px;
}
Kümmere dich nicht um die schwedische Benennung. Ich möchte, dass die Divs angezeigt werden, obwohl sie keine Werte haben.
<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>
In diesem Fall gibt es in den beiden Spalten kein "Namn" und "Avn.Namn". Wenn Sie dies jedoch in Chrome ausführen, werden sie entfernt und drücken die anderen Divs nicht mehr in der Reihenfolge float:left
. Wenn ich also oben Kategorien in denselben Divs habe, werden die Werte unter die falsche Kategorie gestellt.
element.text(" ");
in jQuery und
erscheint auf der Seite.Versuchen Sie
, die leeren Elemente zu ergänzen.Ich verstehe nicht, warum Sie hier kein verwenden
<table>
? Sie werden solche Sachen automatisch machen.quelle
<table>
== BAD an.
so beliebten Lösung kann in einigen Szenarien zu Problemen führen. Wie beim Strike-out (text-decoration: line-through;
) -Text wird der Strich angezeigt
, während das, was Sie wirklich wollen, nur ein leeres Div ist.Leichtes Update auf @ no1cobla Antwort. Dies verbirgt die Periode. Diese Lösung funktioniert in IE8 +.
quelle
.class:after:empty
Eine einfache Lösung für leere schwebende Divs besteht darin, Folgendes hinzuzufügen:
Auf diese Weise können Sie die Float-Funktionalität beibehalten und erzwingen, dass sie den leeren Raum ausfüllt.
Ich verwende diese Technik in Seitenlayoutspalten, um jede Spalte an ihrer Position zu halten, auch wenn die anderen Spalten leer sind.
Beispiel:
quelle
min-height
ist die beste Lösungwidth
. Es verhindert jedoch nicht, dass das div eine Höhe von Null hat. (Versuchen Sie, den div-Hintergrund einzustellen, um das Problem zu sehen). Daher & nbsp; ist eine allgemeinere Lösung. Auch der Inhalt: "." behebt das Nullhöhenproblem.Fügen Sie einfach ein Leerzeichen mit der Breite Null in ein Pseudoelement ein
quelle
Dies ist eine Möglichkeit:
quelle
content: "\200b";
für einen Raum mit einer Breite von Null . Ein zusätzlicher Vorteil ist, dass der Browser dieses Zeichen nicht auswählt (z. B.CTRL+A
CTRL+C
verhält er sich immer noch gleich).Sie können:
o Stellen Sie ein
.kundregister_grid_1
:width
(oderwidth-min
) mitheight
(odermin-height
)padding-top
padding-bottom
border-top
border-bottom
o Oder verwenden Sie Pseudoelemente :
::before
oder::after
mit:{content: "\200B";}
{content: "."; visibility: hidden;}
.o Oder
in ein leeres Element einfügen, dies kann jedoch manchmal zu unerwarteten Effekten führen, z. in Kombination mittext-decoration: underline;
quelle
Warum nicht einfach "min-width" zu Ihrer CSS-Klasse hinzufügen?
quelle
funktioniert aber das ist nicht richtig ich denke die w min-höhe: 1px;
quelle
Bei Verwendung des Inline-Blocks verhält es sich wie ein Inline-Objekt. Es sind also keine Schwimmer erforderlich, um sie in einer Linie nebeneinander zu bringen. Und tatsächlich, wie Rito sagte, brauchen Schwimmer einen "Körper", so wie sie Dimensionen brauchen.
Ich stimme Pekka in Bezug auf die Verwendung von Tabellen voll und ganz zu. Jeder, der Layouts mit Divs erstellt, vermeidet Tabellen, als wäre es eine Krankheit. Aber verwenden Sie sie für tabellarische Daten! Dafür sind sie da. Und in deinem Fall denke ich, dass du sie brauchst :)
ABER wenn du wirklich wirklich willst was du willst. Es gibt einen CSS-Hack-Weg. Gleich wie der Float Hack.
Fügen Sie dieses hinzu und Sie sind auch eingestellt: D (Hinweis: funktioniert nicht im IE, aber das kann behoben werden)
quelle
Wenn sie schweben müssen, können Sie die Mindesthöhe immer auf 1 Pixel einstellen, damit sie nicht zusammenfallen.
quelle
Beim Erstellen eines benutzerdefinierten Satzes von Layout-Tags habe ich eine andere Antwort auf dieses Problem gefunden. Hier finden Sie die benutzerdefinierten Tags und ihre CSS-Klassen.
HTML
CSS
Der Schlüssel hier ist die Box-Dimensionierung und Polsterung.
quelle