changing the look of a dynamic PHP calendar that uses a bad choice of table settings and colors.
It depends. When you view source of the calendar, what do you see?
<td style="day-style">
or
<td background="#c0c0c0">
or alternatively,
<td style="background:#c0c0c0">
In the first case, as mentioned, you only need to locate the style sheet for the PHP script and modify accordingly, in the second two, not so easy (for an inexperienced coder.)
You'll need to modify the script to swap out or just REMOVE all inline CSS for the calendar. I say remove because the most graceful solution would be the least markup possible, shifting the weight of presentation on your CSS. Let me give you one example, say, for a month display.
<table>
<tr>
<th background="#256329" color="#fff" align="center"><strong>Sunday</strong></th>
<th background="#256329" color="#fff" align="center"><strong>Monday</strong></th>
<!-- etc., for all days -->
</tr>
<tr>
<td background="#00ff99">1</td>
<td background="#00ff99">2</td>
<!-- etc -->
</tr>
</table>
Even if you could apply CSS to this table, the nature of cascading style sheets is such the the inline elements will always take precedence over styles declared above them in the cascade (though you could try !important, but if defined in a higher selector, the inline style will probably take precedence.)
Now remove all the styling, but only id the table
<table id="month-display">
<tr>
<th>Sunday</th>
<th>Monday</th>
<!-- etc., for all days -->
</tr>
<tr>
<td>1</td>
<td>1</td>
<!-- etc -->
</tr>
</table>
... and you can now have complete control over this display with the CSS, leaving all the output clean
#month-display th {
background:#7a6230;
color: #fff;
font-weight: bold;
text-align:center;
}
#month-display td {
background: #fcf8e9;
}
The CSS would be a little more complex for a nice look, but you get the idea, you should be able to control all the children in #month-display by only the id selector on the table, with the exception of valign="top".
So if this calendar is using inline styles you'll have to modify the way it outputs html.