我有一个用PHP创建的日历 问题是,它在Internet Explorer中显示不佳 在Chrome中一切都很好
我使用DIV代替Table
这里有完整的代码,你可以在这里看到一个演示
http://www.guadadvent.org/calendrier_essaie.php
.today{
font-weight:bold;
color:red;
}
.mois {
background:#FFF;
height:30px;
line-height:30px;
width:100%;
text-align:center;
margin-right:-100px;"
}
.jours {
background:#FFF;
border:1px #999933 solid;
padding:5px;
height:30px;
line-height:30px;
width:100px;
float:left;
text-align:center;
margin-right:-3px;
margin-bottom:1px;"
}
.cellule {
background:#FFF;
border:1px #999933 solid;
padding:5px;
height:70px;
width:100px;
float:left;
text-align:right;
margin-right:-3px;
margin-bottom:1px;
}
.cellule_vide {
padding:5px;
height:70px;
width:100px;
float:left;
text-align:right;
margin-right:-1px;
margin-bottom:1px;"
}
.cellule:hover {
background:#CCC;
border:1px solid red;
}
.separateur {
style="clear:both;"
}
.cadre {
display:inline-block;
background:#CCC;
position:relative;
}
.nav_gauche {
position:absolute;
top:0px;
left:0px;
text-decoration:none;
padding-left:50px;
}
.nav_droite {
position:absolute;
top:0px;
right:0px;
text-decoration:none;
padding-right:50px;
}
</style>
<?php
$tabmois = array ("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$tabjours = array ("","Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");?>
<?php $an=$_REQUEST["a"];
if(empty($an)) $an=date("Y");
$mois=$_REQUEST["m"];
$jour_serveur=date("j");
$mois_serveur=date("m");
if(empty($mois)) $mois=$mois_serveur;
if($mois==12) $mois_suivant=1; else $mois_suivant=$mois+1;
if($mois==1) $mois_precedent=12; else $mois_precedent=$mois-1;?>
<?php
$premJourdumois = date("w" , mktime(0,0,0,$mois,1,$an) )+1;// en chiffre, +1 si calendrier comence par dimanche, soit 1 pour dimanche
$nbJoursdanslemois = date("t" , mktime(0,0,0,$mois,1,$an)); // respecte les années bixectiles
$nbdecellulesvidesavantdebut = $premJourdumois-1; // nom de variable explicite
?>
<div class="cadre">
<div class="mois">
<div class="nav_gauche" > <a href="?m=<?php echo $mois_precedent;?>"><<</a> </div>
<?php echo $tabmois[$mois];?>
<div class="nav_droite"> <a href="?m=<?php echo $mois_suivant;?>">>></a> </div>
</div>
<div class="separateur"></div>
<?php // les jours
for ($i=1;$i<=7;$i++) {?>
<div class="jours"><?php echo $tabjours[$i];?> </div>
<?php } ?>
<div class="separateur"></div>
<?php // cellules vide avant le debut de l'affichage
for ($i=1;$i<=$nbdecellulesvidesavantdebut;$i++) {?>
<div class="cellule_vide"></div>
<?php }?>
<?php // affichage du calendrier
for ($i=1;$i<=$nbJoursdanslemois;$i++) {?>
<?php if(($i==$jour_serveur) and ($mois==$mois_serveur)) $auj="today"; else $auj=""; // si c'est le jour d'aujourd'ui on met une classe spéciale?>
<div class="<?php echo $auj;?> cellule"><?php echo $i;?></div>
<?php // saut si on liste une semaine soit 7 jours
if(($i+$nbdecellulesvidesavantdebut)%7 == 0 ) {?>
<div class="separateur"></div>
<?php }?>
<?php }?>
</div>