Ich habe eine Situation, in der Daten in verschiedenen Spalten angezeigt werden. Diese Auflistung hat 2 Teile.Ausrichten des Spalteninhalts bei angewendeten Bildlaufleisten
- Eintrag Leiter
- Körper Eintrag
Körperabschnitt eine max-height
haben. Wenn mehr Inhalt vorhanden ist, der diese Höhe erreichen kann, werden die Bildlaufleisten automatisch angewendet.
Jetzt ist das Problem, wenn Bildlaufleisten angewendet werden, dann stört die Ausrichtung des Inhalts in Kopf und Körperabschnitte und sieht seltsam aus.
Gibt es eine mögliche Lösung, um dieses Problem in CSS, JavaScript, jQuery oder auf andere Weise zu beheben, d. H. Inhalte sollten automatisch im Kopf- und Körperbereich ausgerichtet werden, wenn Bildlaufleisten angewendet werden?
* {box-sizing: border-box;}
.listing {
border: solid #000;
border-width: 1px 1px 0;
margin-bottom: 20px;
}
.row {
overflow: hidden;
}
.col-1,
.col-2 {
border-bottom: 1px solid #000;
float: left;
width: 20%;
}
.col-2 {
width: 40%;
}
.col-1 + .col-1,
.col-1 + .col-2,
.col-2 + .col-2,
.col-2 + .col-1 {
border-left: 1px solid #000;
}
.listing-body {
height: 95px;
overflow: auto;
}
<h2>Listing with correct alignment</h2>
<div class="listing">
<div class="listing-header row">
<div class="col-1">Heading 1</div>
<div class="col-1">Heading 2</div>
<div class="col-2">Heading 3</div>
<div class="col-1">Heading 4</div>
</div>
<div class="listing-body">
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
</div>
</div>
<h2>Listing with Incorrect alignment</h2>
<div class="listing">
<div class="listing-header row">
<div class="col-1">Heading 1</div>
<div class="col-1">Heading 2</div>
<div class="col-2">Heading 3</div>
<div class="col-1">Heading 4</div>
</div>
<div class="listing-body">
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
<div class="row">
<div class="col-1">Data 1</div>
<div class="col-1">Data 2</div>
<div class="col-2">Data 3</div>
<div class="col-1">Data 4</div>
</div>
</div>
</div>
Sie 15px padding-right oder margin-right auf die Auflistung-Header hinzufügen können, wenn Scroll-Bar gilt –
@TrimantraSoftwareSolution aber wie können wir erkennen, dass, wenn Bildlaufleisten werden angewendet? –
Jquery hat eine Funktion namens hasScrollBar(). für zB $ ('# my_div'). hasScrollBar(). Es gibt True zurück, wenn es eine Bildlaufleiste hat. –