So what is CSS, Cascading Style Sheets?
The idea behind CSS is to separate design and page content, and this is a good thing since it makes life simpler and the page more consistent. A good page that illustrates this in a nice looking way is csszengarden.com.
Let's start to change the colors, into something different like black and amber. And to do this we need a css file.
Filename: screen.css
body {
/* Page background color = black */
background: #000000;
/* Textcolor = amber */
color: #FFBF00;
}
And then we add a link to it in the page object.
Filename: class.page.php
<?php
class page
{
function __construct($title)
{
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
print "<html>\n";
print "<head>\n";
print " <title>".$title."</title>\n";
print " <link rel=\"stylesheet\" title=\"std\" ".
" media=\"screen\" href=\"screen.css\" type=\"text/css\">\n";
print " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n";
print "</head>\n";
print "<body>\n";
}
function __destruct()
{
print "<hr>\n";
print "<a href=\"first.php\">The first page</a><br>\n";
print "<a href=\"second.php\">The second page</a><br>\n";
print "</body>\n";
print "</html>\n";
}
}
?>
Notice that the pages that is calling still don't need to be modified at all, but when you view them they will have different colors.
Filename: first.php
<?php
require_once("class.page.php");
$page = new page("My first page...");
?>
<h1>Hello</h1>
<p>What a nice little page</p>
Filename: second.php
<?php
require_once("class.page.php");
$page = new page("And the second page...");
?>
<h1>Hello again.</h1>
<p>Just another page.</p>
How nice to only have 1 file you need to edit if you like to change the colors, just imagine to have a big site with thousands of file and you need to change the background color by editing all the thousand files individually...