Steffen Peters: CSS-Problem bei Anzeige von Input und Details nebeneinander

Beitrag lesen

Hallo,

mittels scandir gebe ich rekursiv einen Dateibaum aus. Bei meinem Testverzeichnis sah das auch schon sehr gut aus. input-Tag und details-Tag sollen nebeneinander stehen, alle Elemente unter dem details-Tag sollen eingerückt angezeigt werden.

Beispiel, wie es aussehen soll

Jetzt habe ich es mit einem realen Verzeichnis getestet, aber da sieht die Anzeige leider nicht so aus, wie erwartet. (Die PDF-Datei liegt direkt im Ordner Pictos)

So sieht es bei einem realen Verzeichnis aus

Hier das kurze Script:

function show_files($start) {
    $contents = scandir($start);
    array_splice($contents, 0,2);
    foreach ( $contents as $item ) {
        if ( is_dir("$start/$item") && (substr($item, 0,1) != '.') ) {
			?>
			<input class="checkbox left" type="image" src="/images/unselected.png" id="<?=$item;?>" onClick="selectdir(this);" value=" " data-id="<?=$start."/".$item;?>" data-type="dir" />
			<details id="<?=$start."/".$item;?>" class="left"><summary><?=$item;?></summary>
			<?
            show_files("$start/$item");
			?>
			</details>
			<?
        } else {
			if ($item != "download.zip") {
				$size = filesize("$start/$item");
				?>
				<input class="checkbox" type="image" src="/images/unselected.png" id="<?=$item;?>" onClick="selectfile(this);" value=" " data-id="<?=$start."/".$item;?>" data-type="file" data-size="<?=$size;?>" /><?=$item;?> (<?=formatBytes($size);?>)<br/>
				<?
			}
        }
    }
}

und das verwendete CSS:

.checkbox {
	border: none;
	background-color: white;
	margin-right: 5px;
	width: 16px;
	height: 16px;
	position: relative;
	top: 2px;
}
.left {
	float: left;
}

Wie muss das CSS aussehen, damit die Anzeige wie gewünscht erfolgt? Habe ich eventuell mehr Erfolg, wenn ich display: flex; verwende?

LG Steffen