Achtergrondkleur van de dagen in een kalender aanpassen (ul li-items)
Ik heb code (https://www.startutorial.com/articles/view/how-to-build-a-web-calendar-in-php) gebruikt om een kalender weer te geven.
Alle dagen in de kalender hebben een witte achtergrond, ik zou de kleur willen aanpassen naargelang de dag.
De CSS code:
Het stukje PHP-code dat de kalender genereerd:
In dit stukje wil ik $j checken en de achtergrondkleur aanpassen.
Bv de weekenddagen een andere achtergrondkleur geven:
if ($j > 5) { ... }
Ik heb aan een aantal dingen geprobeerd, helaas zonder het gewenste resultaat.
Iemand enig idee?
Alvast bedankt.
Alle dagen in de kalender hebben een witte achtergrond, ik zou de kleur willen aanpassen naargelang de dag.
De CSS code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
div#calendar ul.dates{
float:left;
margin: 0px;
padding: 0px;
margin-left: 5px;
margin-bottom: 5px;
}
div#calendar ul.dates li{
border:1px solid;
margin:0px;
padding:0px;
margin-right:5px;
margin-top: 5px;
line-height:80px;
vertical-align:middle;
float:left;
list-style-type:none;
width:164px;
height:120px;
background-color: #FFF;
font-size:25px;
color:#000;
text-align:center;
}
float:left;
margin: 0px;
padding: 0px;
margin-left: 5px;
margin-bottom: 5px;
}
div#calendar ul.dates li{
border:1px solid;
margin:0px;
padding:0px;
margin-right:5px;
margin-top: 5px;
line-height:80px;
vertical-align:middle;
float:left;
list-style-type:none;
width:164px;
height:120px;
background-color: #FFF;
font-size:25px;
color:#000;
text-align:center;
}
Het stukje PHP-code dat de kalender genereerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$content='<div id="calendar">'.
'<div class="box">'.
$this->_createNavi().
'</div>'.
'<div class="box-content">'.
'<ul class="label">'.$this->_createLabels().'</ul>';
$content.='<div class="clear"></div>';
$content.='<ul class="dates">';
$weeksInMonth = $this->_weeksInMonth($month,$year);
// Create weeks in a month
for( $i=0; $i<$weeksInMonth; $i++ ){
//Create days in a week
for($j=1;$j<=7;$j++)
{
$content.=$this->_showDay($i*7+$j);
}
}
$content.='</ul>';
$content.='<div class="clear"></div>';
$content.='</div>';
$content.='</div>';
return $content;
}
'<div class="box">'.
$this->_createNavi().
'</div>'.
'<div class="box-content">'.
'<ul class="label">'.$this->_createLabels().'</ul>';
$content.='<div class="clear"></div>';
$content.='<ul class="dates">';
$weeksInMonth = $this->_weeksInMonth($month,$year);
// Create weeks in a month
for( $i=0; $i<$weeksInMonth; $i++ ){
//Create days in a week
for($j=1;$j<=7;$j++)
{
$content.=$this->_showDay($i*7+$j);
}
}
$content.='</ul>';
$content.='<div class="clear"></div>';
$content.='</div>';
$content.='</div>';
return $content;
}
In dit stukje wil ik $j checken en de achtergrondkleur aanpassen.
Bv de weekenddagen een andere achtergrondkleur geven:
if ($j > 5) { ... }
Ik heb aan een aantal dingen geprobeerd, helaas zonder het gewenste resultaat.
Iemand enig idee?
Alvast bedankt.
Wat heb je zoal geprobeerd?
In calendar.php na regel 24 voeg toe :
Na regel 60 voeg toe :
In function showday() vervang regel 124 :
In calender.css voeg class toe aan het eind :
Class naam en kleur naar smaak aanpassen.
Toevoeging op 12/07/2021 18:09:12:
Aanvulling.
Elke dag in elke maand (vandaag is de 12e) krijgt achtergrond kleur.
Dus nog even uitvogelen om het tot huidige maand te beperken.
Toevoeging op 12/07/2021 18:40:36:
Nog meer aanvulling.
Wijzig $this->today = date('d') in :
en vervang regel 124 door :
Toevoeging op 13/07/2021 00:45:06:
Negeer alle voorgaande wijzigingen.
Breng dit aan in de <head> van de webpagina :
Na regel 60 voeg toe :
In function showday() vervang regel 124 :
Code (php)
1
return '<li id="li-'.$this->currentDate.'" class="' . ( $this->today == $cellContent ? 'mask1':'' ) . '">'.$cellContent. '<br /></li>' . PHP_EOL;
In calender.css voeg class toe aan het eind :
Class naam en kleur naar smaak aanpassen.
Toevoeging op 12/07/2021 18:09:12:
Aanvulling.
Elke dag in elke maand (vandaag is de 12e) krijgt achtergrond kleur.
Dus nog even uitvogelen om het tot huidige maand te beperken.
Toevoeging op 12/07/2021 18:40:36:
Nog meer aanvulling.
Wijzig $this->today = date('d') in :
en vervang regel 124 door :
Code (php)
1
2
2
$mask1 = ( $this->today == $this->currentDate ? 'mask1':'' );
return '<li id="li-'.$this->currentDate.'" class="' . $mask1 . '">'.$cellContent. '<br /></li>' . PHP_EOL;
return '<li id="li-'.$this->currentDate.'" class="' . $mask1 . '">'.$cellContent. '<br /></li>' . PHP_EOL;
Toevoeging op 13/07/2021 00:45:06:
Negeer alle voorgaande wijzigingen.
Breng dit aan in de <head> van de webpagina :




