Hallo,
ich weiß nicht, ob dies das richtige Forum ist. Wenn nicht, sorry, bitte Bescheid sagen bzw. verschieben.
Ich habe einen Kalender mit 12 Monatsblöcken, die mittels einer for-Schleife erzeugt werden.. Jeder Monat erscheint in einem Container - die sollen (mit float: left) nebeneinander erscheinen, bis das Seitenende erreicht ist und dann in der nächste Reihe darunter weiterlaufen. Im Prinzip eine einfache Übung. Nun funktioniert dies mit jedem beliebigen Inhalt in der Schleife, nur nicht mit fiolgendem script-Teil (das den Kalender erzeugt):
Daraus wird dann auf meinem 1920-Bildschirm erste Reihe mit 6 Monaten, zweite Reihe mit 2 Monaten (rechts angeordnet), dritte Reihe mit 1 Monat (rechts) und vierte Reihe mit 3 Monaten (links angeordnet) Ist auf dem angehängten screenshot zu sehen.
Irgendwas in diesem kalenderscript muss den float:left zerschießen. Ich komme nicht drauf und bin für gute Tipps dankbar.
screenshot_kalender.jpg
ich weiß nicht, ob dies das richtige Forum ist. Wenn nicht, sorry, bitte Bescheid sagen bzw. verschieben.
Ich habe einen Kalender mit 12 Monatsblöcken, die mittels einer for-Schleife erzeugt werden.. Jeder Monat erscheint in einem Container - die sollen (mit float: left) nebeneinander erscheinen, bis das Seitenende erreicht ist und dann in der nächste Reihe darunter weiterlaufen. Im Prinzip eine einfache Übung. Nun funktioniert dies mit jedem beliebigen Inhalt in der Schleife, nur nicht mit fiolgendem script-Teil (das den Kalender erzeugt):
PHP-Code:
for($monat=1;$monat<=12;$monat++) {
echo "<div class='kalmon'>";
$erster=date("w",mktime(0,0,0,$monat,1,$jahr));
$insgesamt=date("t",mktime(0,0,0,$monat,1,$jahr));
if($erster==0){$erster=7;}
echo "<table border="0" width='100%' align="center" style="font-family:Arial">";
echo "<th colspan="7" align="center" style="font-size:1.2em; font-family:Arial; color:#666699;">".$monate[$monat-1]."</th>";
echo "<tr><td style="color:#666666; text-align:center;"><b>"._MO."</b></td><td style="color:#666666; text-align:center;"><b>"._DI."</b></td>";
echo "<td style="color:#666666; text-align:center;"><b>"._MI."</b></td><td style="color:#666666; text-align:center;"><b>"._DO."</b></td>";
echo "<td style="color:#666666; text-align:center;"><b>"._FR."</b></td><td style="color:#0000cc; text-align:center;"><b>"._SA."</b></td>";
echo "<td style="color:#cc0000; text-align:center;"><b>"._SO."</b></td></tr>";
echo "<tr><br>";
$i=1;
while($i<$erster){echo "<td> </td>"; $i++;}
$i=1;
while($i<=$insgesamt) {
$rest=($i+$erster-1)%7;
// Abgleich mit belegten Tagen
$ts = mktime(0,0,0, $monat, $i, $jahr);
$datum = date("Y-m-d", $ts);
// Hintergrundfarbe
if (in_array($datum, $anrtage)) {
echo "<td style="font-size:0.8em; font-family:Arial; background:#ff7575;" align=center>";
}
elseif (in_array($datum, $abrtage)) {
echo "<td style="font-size:0.8em; font-family:Arial; background:#ff7575;" align=center>";
}
elseif (in_array($datum, $dat)) {
echo "<td style="font-size:0.8em; font-family:Arial; background:#ff0000;" align=center>";
}
else{
echo "<td style="font-size:0.8em; font-family:Arial" align=center>";
}
// Schriftfarbe
if (in_array($datum, $dat)) {
echo "<span style="color:#ffffff;">".$i."</span>";
}
elseif($rest==6){echo "<span style="color:#0000cc">".$i."</span>";}
elseif($rest==0){echo "<span style="color:#cc0000">".$i."</span>";}
else{echo $i;}
echo "</td>\n";
if($rest==0){echo "</tr>\n<tr>\n";}
$i++;
} // ENDE while($i<=$insgesamt)
echo "</tr></table>";
echo "</div>";
} // ENDE for
Irgendwas in diesem kalenderscript muss den float:left zerschießen. Ich komme nicht drauf und bin für gute Tipps dankbar.
screenshot_kalender.jpg
Kommentar