Tagboard Template Class

Relaterede dokumenter
PHP Snippets. De små korte. Skrevet af Daniel Pedersen

Tagwall med Php & MySQL

PHP guide af Daniel Pedersen

Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato:

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

The Design Diaries Project 3 2. Semester. Blog om designprincipper

Dokumentering af umbraco artikeleksport:

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Gæstebog med validering opbygget med MySQL

Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

TEKNISK DOKUMENTATION FAKTURA LAYOUT ABAQUE VERSION 2.0

Procesbeskrivelse - Webprogrammering

Umbraco installationsvejledning

Eksamen, DSDS, efterår 2007

Databaseadgang fra Java

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

Eksamen, DSDS, efterår 2008

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

Webteknologi evalueringsopgave Vinter Niels Sundstrup

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

Data lagring. 2. iteration (implement backend)

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Region Syddanmark Guide til oprettelse og udsendelse af nyhedsbreve i Peytz Mail

FBS for praktikere Fyn. Notifikation og print skabeloner

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute.

HTML, PHP, SQL, webserver, hvad er hvad??

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

Opret en formular i Dreamweaver

SKOLELOGIN KNANPU1 FULDE NAVN ANAN PUSKAR URL TIL LØSNING URL TIL PORTFOLIO

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

Projekt 3: Interaktionsudvikling 11/04.14

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Hack of the Month opgave 2

Interaktionsudvikling

Website sikkerhed SQL Injections og mere...

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

Projekt i Programmering C Menu til hjemmeside.

Vejledning. Indhold. Side 1

Introduktion til SQL queries

ØVELSE 11: TABLES & FORMS (Individuel)

GRAFISK WORKFLOW OPGAVEBESKRIVELSE KVALITETSVURDERING HJÆLPEMIDLER BROWSER BRUGERVENLIGHED/USABILLITY

Nu skal vi især se på <font> og <center> samt centrering af hele siden på skærmen.

Eksamens rapport Informationsteknologi B

3. PROJEKT, 2 SEMESTER

Matematik læringsprojekt Journal

PHP Quick Teknisk Ordbog

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Installation af WeroShop 2.4 S

OPGAVE BESKRIVELSE ARBEJDSPROCES. Idéudvikling. Inspiration. Skelet. Uploade til server. Kodning. Teste sitet igennem. Rettelser og godkendelse

Anvendelse af Model- View koncept i SAS Stored Processer

Transkript:

Tagboard Template Class Skrevet af Daniel Pedersen Tagboard Template Class Skrevet af Daniel Pedersen Side 1 af 22

Indholdsfortegnelse 1.0 INDLEDNING...3 2.0 SYSTEM DESIGN...4 2.1 INDIVIDUEL SYSTEM DESIGN FORKLARING:...4 2.1.1 INDEX:...4 2.1.1.1 CLASS: DOCUMENTTPL.PHP...4 function documenttpl ($path)...4 function settitle ($title)...5 function setcontent ($content)...5 function setcss ($css)...5 function create ()...5 Globale Variabler:...5 2.1.1.2 CLASS: TAGBOARD_CLASS.PHP...6 function tagboard($path)...6 function close_mysql()...6 function mysql_connect_selectdb($host,$user,$password,$database)...6 function query_mysql($sql)...6 function add_post($post,$name)...6 function import_tagboard()...6 function set_box_style($css_class)...6 function show()...6 Globale Variabler:...6 2.1.2 TEMPLATE:...7 tagboard_skapelon.tpl...7 skapelon.tpl...10 2.1.3 CSS:...11 3.0 DATABASE DESIGN...13 4.0 FILSTRUKTUR...14 5.0 KILDEKODE...15 5.1 INDEX.PHP...15 5.2 TAGBOARD_CLASS.PHP...16 5.3 DOCUMENTTPL_CLASS.PHP...19 5.4 TAGBOARD_SKAPELON.TPL...21 5.5 SKAPELON.TPL...21 5.6 TAGBOARD_STYLE.CSS...22 Tagboard Template Class Skrevet af Daniel Pedersen Side 2 af 22

1.0 Indledning Guiden går ikke i dybden med de forskellige funktioner, eller design valg som der bliver gennemgået. Denne guide fortæller om en preprogrammeret Tagboard Template Class, som kan udskrive et Tagboard, med mulighed for at indsætte et stykke tekst, med sit navn og tilhørende dato. Der vil her og der være små hint s til hvad der kunne være spændende at tilføje til Tagboadet. Det skal dog siges at i punkt 5 er der visse kildekodeunderpunkter som kan virke forvirrendende, pga kodens bredde. Sprøg instruktøren efter en kopi af filerne på en diskette ect... Tagboard Template Class Skrevet af Daniel Pedersen Side 3 af 22

2.0 System design Her kan du læse om hvordan systemet er sat sammen fra bund til top. På billedet (Fig 1) nedenunder ses infrastrukturen i 4 trin. Du kan læse om de individuelle trin i punkt 2.1. Fig 1. 2.1 Individuel System Design forklaring: I punkt 5 (kildekode) kan du se alle filers indhold. 2.1.1 Index: 1). index.php Alt bliver samlet her til en hjemmeside. Klasserne bliver inkluderet til index siden, objekterne bliver kaldt, og de forskellige tamplates bliver loadet med css stylesheet. 2.1.1.1 Class: documenttpl.php Denne klasse styre template området, nedenunder ses en liste over de funktioner/variabler, som documenttpl.php indeholder. function documenttpl ($path) Dette er Constructor en!!! $path variablen bestemmer hvor template filen skal loades fra. Template s er også det samme som en skapelon. Du kan manipulere med en skapelon, indesætte tabeller med database udtræk, eller en ftp client osv. Tagboard Template Class Skrevet af Daniel Pedersen Side 4 af 22

function settitle ($title) $title variablen bestemmer hvad titlen skal være. Funktionen sætter titlen på den valgte side. function setcontent ($content) $content variablen bestemmer hvad indholdet skal være. Funktionen indsætter holdet på den valgte side. function setcss ($css) $css variablen bestemmer stien til stylesheet et. Funktionen indsætter en HTML streng hvor stylesheet stien står i. function create () Funktionen retunere den globale variablen $template, som indeholder en manipuleret version af den template fil, der blev loadet af Constructoren, når klassen blev initiliseret. Funktionen har intet input. Globale Variabler: Var $template Dette er (documenttpl.php) klassens eneste globale variabel, som indeholder en manipuleret version af skapelon.tpl. Tagboard Template Class Skrevet af Daniel Pedersen Side 5 af 22

2.1.1.2 Class: tagboard_class.php Denne klasse indeholder et Tagboard, nedenunder ses en liste over de funktioner/variabler, som tagboard_class.php indeholder. function tagboard($path) Dette er Constructor en!!! Denne funktion loader $path som indeholder den sti hvor tagboard_skapelon.tpl ligger. function close_mysql() Funktion lukker klassens MYSQL forbindelse, som hentes fra variablen $con. function mysql_connect_selectdb($host,$user,$password,$database) Denne funktionen opretter forbindelse til en MYSQL server, og vælger en database. Eks. mysql_connect_selectdb( localhost, root, my_root_pasword, ansatte_databasen ) function query_mysql($sql) Funktionen udføre en SQL sætning, som fås fra variablen $sql. function add_post($post,$name) Denne function tilføjer et nyt TAG til Tagboardet, hvor $post er Tag teksten, og $name er brugernavnet. function import_tagboard() Denne funktion importere Taboardet i $template variablen, med de rette HTML tag s, og database udtræk. function set_box_style($css_class) Denne funktion kan ændre css stylesheet et til Tagboardet Box, hvor variablen $css_class indeholder style klassens navn. Selve Taboardet er indkapslet i <div> tag s. function show() Funktionen retunere den globale variablen $template, som indeholder en manipuleret version af den template fil, der blev loadet af Constructoren, når klassen blev initiliseret. Funktionen har intet input. Globale Variabler: var $template Denne variable indeholder en manipuleret version af tagboard_skapelon.tpl. var $con Denne variabel indeholder en MYSQL forbindelse. Tagboard Template Class Skrevet af Daniel Pedersen Side 6 af 22

2.1.2 Template: I dette punkt kan du se og læse om de forskellige template s, i en mere detaljeret udgave. tagboard_skapelon.tpl På næste side kan du se en rå udskrift af tagboard_skapelon.tpl filen. Denne template er til Tagboardet, med en Token der bliver udskiftet med $template variablen fra tagboard_class.php, som bliver udført af funktionen show(). Tagboard skapelonen s Token ser sådan her ud: {tagboard Hvis denne Token ikke blev udskiftet med variablen $template fra tagboard_class.php, så ville resultatet vise dette. Se Fig 2. Fig 2. Som ses på Fig 2. er {tagboard Token en ikke blevet udskiftet, denne udskrift kan udgåes ved at programere en funktionen som fjernet ikke brugte Token s. Det kan du f.eks selv programmere til klassen, som en øvelse, gør du det så se tagboard_class.php filen. Man kunne også sige at det er en mangel i tagboard_class.php. Tagboard Template Class Skrevet af Daniel Pedersen Side 7 af 22

Her kan du se hvordan Tagboardet ser ud, når alt virker 100 %, Se Fig 3. Fig 3. En kort beskrivelse af de enkelte elementer og tekstfelter. 1). Tag Text (Max 50 char s) Her skriver du den besked, som du vil ud med på internettet. Der vises ikke nedtælling, det kunne være en opgave at tage sig til. Hvis du vælger at gøre dette, kunne løsningen være Javascript. 2). Your Name (Max 30 char s) Her skriver du dit navn, men husk kun 30 bogstaver. Der vises ikke nedtælling, dette kunne også være en lille opgave. 3).Add Tag Dette er en knap, som indsætter hvad som står i Tag Text og Your name felterne. 4). Message 5). Author 6). Time Created Beskeden Initialer måned/dag/år timer/minutter/sekunder Tagboard Template Class Skrevet af Daniel Pedersen Side 8 af 22

Her vises en rå udskrift af tagboard_skapelon.tpl filen. <div class="tagboard_style"> <form method="post" action="index.php"> <table class="tagboard_style"> <tr> <td> <p class="center">tagboard 2004</p> </td> </tr> <tr> <td> Tag Text (Max 50 char s)<br/> <textarea wrap="hard" name="tag_text"></textarea> </td> </tr> <tr> <td> Your name(max 30 char s)<br> <input maxlength="30" type="text" name="name"> </td> </tr> <tr> <td> <input type="submit" value="add Tag"> </td> </tr> </table> </form> {tagboard </div> Tagboard Template Class Skrevet af Daniel Pedersen Side 9 af 22

skapelon.tpl Denne template er selve hovede HTML siden, hvor alt bliver samlet til en 100 % færdig side, som viser et Tagboard. Den har 3 Token s {sitetitle, {css, {sitecontent, som alle bliver udskiftet med forskelligt HTML, fra documenttpl_class.php filen. Funktionen setcss($css) udskifter {css. Funktionen setcontent($content) udskifter {sitecontent. Funktionen settitle($title) udskifter {sitetitle. Hvis ingen af Token sene blev udskiftet, ville resultatet se sådanne ud. Se Fig 4. Fig 4. <html> <head> <title>{sitetitle</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> {css </head> <body> {sitecontent </body> </html> Tagboard Template Class Skrevet af Daniel Pedersen Side 10 af 22

2.1.3 CSS: I dette punkt kan du se og læse om stylesheet et. Pga. størelsen af stylesheet et er den rå udskrift på næste side. En ting som er god at vide når man arbejder med *.css dokumenter, er hvad som automatisk bliver sat fra stylesheet et, og hvad man selv skal kalde/referere til. I en *.css fil opretter man klasser, som har visse tag s som beskriver farver, størelser, bredde, højde osv. Hvis en klasse er skrevet således, med et punktom foran klasse navnet, betyder det at du selv skal kalde klasse, for at få dens opsætning..min_css_class { text-align:center; Men hvis en klasse er skrevet således, uden punktom foran klassens navn, så betyder det at dens opsætning automatisk bliver indstillet. Text_farve { Color:#CAFE12; Du kommer til at se dette på et tidpunkt hvis du kigger stylesheet et igennem. Når der står h1, h2, betyder det bare at <h1> og <h2> tagget har farven i HEX code #663300. h1, h2 { color: #663300; Tagboard Template Class Skrevet af Daniel Pedersen Side 11 af 22

Her vises en rå udskrift af tagboard_style.css dokumentet. input { border:1px solid inline; textarea { border:1px solid inline; body, td, th { color: #000000; h1, h2 { color: #663300; h3, h4, h5, h6 { color: #996633; a { color: #336600;.tagboard_style { border-width: 1px 1px 1px; border-style: solid; border-color: #99abcd; width:500px; background-color:#99abcd;.tags_style { border-width: 0px 1px 1px; border-style: solid; border-color: #7789ab; width:500px;.center { text-align:center; Tagboard Template Class Skrevet af Daniel Pedersen Side 12 af 22

3.0 Database design Nedenunder kan vises de SQL sætninger, og tabeller som beskriver databasen. CREATE DATABASE `tags` Denne SQL sætning opretter en database ved navn tags. CREATE TABLE tags ( tag_text varchar(50) NOT NULL default '', name varchar(30) NOT NULL default '', date varchar(30) NOT NULL default '', PRIMARY KEY (tag_text,name) ) TYPE=MyISAM; Her opretter vi selve tabellen som al data skal ligge i. Tabelbillede: Fig 5. Tag_text Kan indeholde 50 tegn Name Kan indeholde 30 tegn Data Kan indeholde 30 tegn Tagboard Template Class Skrevet af Daniel Pedersen Side 13 af 22

4.0 Filstruktur Denne guide er skrevet udfra at alt indhold ligger fordelt i mapper således: tagboard class (Hovede mappen) documenttpl.php index.php tagboard_class.php documenttpl_class.php skapeloner (Mappe i hovedemappen) skapelon.tpl tagboard_skapelon.tpl style (Mappe i hovedemappen) tagboard_style.css Tagboard Template Class Skrevet af Daniel Pedersen Side 14 af 22

5.0 Kildekode 5.1 index.php 1. <?php 2. # WRITTEN BY DANIEL PEDERSEN 2004 3. # INCLUDE THE *.PHP FILES TO THE SITE 4. require 'documenttpl_class.php'; 5. require 'tagboard_class.php'; 6. # SET CSS STYLESHEET 7. $css_style = "<link href='style/tagboard_style.css' rel='stylesheet' type='text/css'>"; 8. # CLASS INITIATION 9. $document = new documenttpl("skapeloner\\"); 10. $tagboard = new tagboard("skapeloner\\"); 11. $tagboard->mysql_connect_selectdb("localhost","root","","tagboard"); 12. # CHECK IF A NEW TAG IS POSTED 13. if(isset($_post["name"]) && $_POST["name"] && $_POST["tag_text"]) { i. $tagboard->add_post($_post["tag_text"],$_post["name"]); 14. 15. # IMPORT TAGBOARD (NEED MYSQL CONNECTION) 16. $tagboard->import_tagboard(); 17. # USE OF CLASS FUNCTIONS 18. $document->settitle("tagboard Test Site"); 19. $document->setcontent($tagboard->show()); 20. $document->setcss($css_style); 21. # CLOSE THE MYSQL CONNECTION 22. $tagboard->close_mysql(); 23. # EXIT THIS DOCUMENT AND SHOW THE SITE 24. exit($document->create()); 25.?> Tagboard Template Class Skrevet af Daniel Pedersen Side 15 af 22

5.2 tagboard_class.php 1. <?php 2. #####-------------TAGBOARD TEMPLATE CLASS---------########### 3. # WRITTEN BY DANIEL PEDERSEN 2004 4. # TAGBOARD 2004 FOR SMALL MESSAGES 5. # 6. # 7. # CLASS FUNCTION LIST 8. # ------------- 9. # tagboard CLASS CONSTRUCTOR 10. # close_mysql CLOSE CLASS MYSQL CONNECTION 11. # mysql_connect_selectdb OPEN A MYSQL CONNECTION AND SELECT A DATABASE 12. # query_mysql EXECUTE A MYSQL QUERY 13. # add_post ADD A POST TO THE TAGBOARD 14. # import_tagboard IMPORTS THE TAGBOARD INTO THE $TEMPLATE VARIABEL 15. # set_box_style SET TAGBOARD BOX STYLE 16. # show RETURN TAGBOARD TEMPLATE. TO SHOW TYPE : EXIT($TAGBOARD->SHOW()); 17. # 18. # CLASS GLOBAL VARIABLES 19. # --------------------- 20. # template HOLD THE TAGBOARD TEMPLATE 21. # con HOLD THE MYSQL CONNECTION 22. ############################################################## 23. class tagboard { 24. # CLASS GLOBAL VARIBLES 25. var $template; 26. var $con; 27. #FUNCTION tagboard----------------------------------------------------------------------------- 28. function tagboard($path) { i. $this->template=file_get_contents ($path.'tagboard_skapelon.tpl'); Tagboard Template Class Skrevet af Daniel Pedersen Side 16 af 22

29. 30. #FUNCTION close_mysql-------------------------------------------------------------------------- 31. function close_mysql() { i. mysql_close($this->con); 32. 33. #FUNCTION mysql_connect_selectdb--------------------------------------------------------------- 34. function mysql_connect_selectdb($host,$user,$password,$database) { i. $this->con = mysql_connect("localhost","root","") or die("could not connect: ". mysql_error()); ii. mysql_select_db("tagboard")or die ('Can\'t use database : '. mysql_error()); 35. 36. #FUNCTION query_mysql-------------------------------------------------------------------------- 37. function query_mysql($sql) { i. $result = mysql_query($sql) or die("query error!"); ii. while($row[] = mysql_fetch_assoc($result)); iii. mysql_free_result($result); iv. array_pop( $row ); v. return $row; 38. 39. #FUNCTION add_post----------------------------------------------------------------------------- 40. function add_post($post,$name) { i. $tiden = strftime('%c'); ii. mysql_query("insert INTO tags (tag_text,name,date) VALUES ('".$post."','".$_post['name']."','".$tiden."')"); 41. 42. #FUNCTION import_tagboard---------------------------------------------------------------------- 43. function import_tagboard() { i. $tagboard = "<table class='tags_style'><td>message</td><td>author</td><td>time Created</td>"; ii. $return_val = $this->query_mysql("select tag_text,name,date FROM tags"); iii. foreach($return_val as $currentrow ) { 1. $cells = implode("</td><td class='tags_style'>", $currentrow); Tagboard Template Class Skrevet af Daniel Pedersen Side 17 af 22

44. 2. $tagboard.= "<tr><td class='tags_style'>". $cells."</td></tr>"; iv. v. $this->template = str_replace("{tagboard",$tagboard,$this- >template); 45. #FUNCTION set_box_style------------------------------------------------------------------------- 46. function set_box_style($css_class) { i. $this->template = str_replace("{class",$css_class,$this- >template); 47. 48. #FUNCTION show---------------------------------------------------------------------------------- 49. function show() { i. return $this->template; 50. 51. #----------------------------------------------------------------------------------------------- 52. # END CLASS 53.?> Tagboard Template Class Skrevet af Daniel Pedersen Side 18 af 22

5.3 documenttpl_class.php 1. <?php 2. ####--------DOCOMENT TEMPLATE CLASS--------#### 3. # WRITTEN BY DANIEL PEDERSEN 2004 4. #!! READ THIS FIRST!! 5. # 6. # CLASS FUNCTION LIST 7. # ------------------- 8. # documenttpl THIS IS THE CONSTRUCTOR, LOADS SKAPELON.HTML INTO '$TEMPLATE' 9. # settitle THIS FUNCTION SET THE SITE TITLE 10. # setcontent THIS FUNCTION SET THE SITE CONTENT EG. TABLES, NEWS, LINKS, ECT 11. # setcss THIS FUNCTION SET THE CSS STYLESHEET ATTACHTMENT 12. # create THIS FUNCTION RETURN THE $TEMPLATE VARIABLE 13. # 14. # CLASS GLOBAL VARIABLES 15. # --------------- 16. # template THIS VARIABLE HOLD SKAPELON.TPL CONTENTS 17. # CLASS NAME--------------------------------------------------------------------------- 18. class documenttpl { 19. # CLASS GLOBAL VARIBLES 20. var $template; 21. #FUNCTION documenttpl--------------------------------------------------------------------- 22. function documenttpl($tpl_path) { i. $this->template=file_get_contents ($tpl_path.'skapelon.tpl'); 23. 24. #FUNCTION settitle------------------------------------------------------------------------ 25. function settitle($title) { i. $this->template = str_replace("{sitetitle",$title,$this->template); 26. 27. #FUNCTION setcontent---------------------------------------------------------------------- Tagboard Template Class Skrevet af Daniel Pedersen Side 19 af 22

28. function setcontent($content) { i. $this->template = str_replace("{sitecontent",$content,$this- >template); 29. 30. #FUNCTION setcss-------------------------------------------------------------------------- 31. function setcss($css) { i. $this->template = str_replace("{css",$css,$this->template); 32. 33. #FUNCTION create-------------------------------------------------------------------------- 34. function create() { i. return $this->template; 35. 36. # CLASS END 37.?> Tagboard Template Class Skrevet af Daniel Pedersen Side 20 af 22

5.4 tagboard_skapelon.tpl <div class="tagboard_style"> <form method="post" action="index.php"> <table class="tagboard_style"> <tr> <td> <p class="center">tagboard 2004</p> </td> </tr> <tr> <td> Tag Text (Max 50 char s)<br/> <textarea wrap="hard" name="tag_text"></textarea> </td> </tr> <tr> <td> Your name(max 30 char s)<br> <input maxlength="30" type="text" name="name"> </td> </tr> <tr> <td> <input type="submit" value="add Tag"> </td> </tr> </table> </form> {tagboard </div> 5.5 skapelon.tpl <html> <head> <title>{sitetitle</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> {css </head> <body> {sitecontent </body> </html> Tagboard Template Class Skrevet af Daniel Pedersen Side 21 af 22

5.6 tagboard_style.css input { border:1px solid inline; textarea { border:1px solid inline; body, td, th { color: #000000; h1, h2 { color: #663300; h3, h4, h5, h6 { color: #996633; a { color: #336600;.tagboard_style { border-width: 1px 1px 1px; border-style: solid; border-color: #99abcd; width:500px; background-color:#99abcd;.tags_style { border-width: 0px 1px 1px; border-style: solid; border-color: #7789ab; width:500px;.center { text-align:center; Tagboard Template Class Skrevet af Daniel Pedersen Side 22 af 22