<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Creating The Web... &#187; css</title>
	<atom:link href="http://www.simon-jensen.net/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simon-jensen.net</link>
	<description>Internet entusiast og webprogrammør Simon Jensen</description>
	<lastBuildDate>Fri, 19 Aug 2011 14:22:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Optimering af Javascript og CSS</title>
		<link>http://www.simon-jensen.net/optimering-af-javascript-og-css.html</link>
		<comments>http://www.simon-jensen.net/optimering-af-javascript-og-css.html#comments</comments>
		<pubDate>Mon, 16 Aug 2010 20:39:13 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Udvikling]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Closure Compiler]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[minify]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/?p=527</guid>
		<description><![CDATA[Jeg er forholdsvis flitting bruger af bookmark servicen Delicious.com, og det hænder da også at jeg rent faktisk kommer tilbage til nogle af de links jeg er faldet over i løbet af tiden &#8230; i dag var sådan en dag, og emnet handler om en måde hvorpå man kan optimere sin sides brug af Javascript [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg er forholdsvis flitting bruger af <a title="Simon Jensen´s bogmærker på delicious.com" href="http://delicious.com/n3ur00xid">bookmark servicen Delicious.com</a>, og det hænder da også at jeg rent faktisk kommer tilbage til nogle af de links jeg er faldet over i løbet af tiden &#8230; i dag var sådan en dag, og emnet handler om en måde hvorpå man kan optimere sin sides brug af Javascript og CSS. Følgende post kræver en stor tak og 100% kredit til <a rel="nofollow" href="http://rakaz.nl/2006/12/make-your-pages-load-faster-by-combining-and-compressing-javascript-and-css-files.html" target="_blank">Niels Leenheer</a>.</p>
<h2>Flere filer = flere requests = ventetid = <img src='http://www.simon-jensen.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </h2>
<p>Jeg synes at støde ind i dette scenarie mere og mere på det sidste, og som billederne herunder viser, skal grunden meget ofte findes i brugen af JQuery og ikke mindst plugins dertil.</p>
<p>Følgende eksempel screenshots er alle taget fra en lokal version af sitet <a title="Green Card" href="http://www.usgreencardoffice.com">www.usgreencardoffice.com</a>, som er et projekt jeg har været en del af gennem det sidste års tid. Som det ses benytter vi en del forskellige JQuery plugins (hvilket, som sagt ikke længere er unormalt), men fordelen ved at kunne hente og lave disse enekltstående plugins så let, kan hurigt gå hen og blive en ulempe, eller i hvert fald mindre fordelagtigt.<span id="more-527"></span></p>
<p>På et tidspunkt, vil man komme op på så mange filer, at ens browser ikke længere kan hente dem alle på én gang, hvorfor den besøgende bliver nød til at hente dem lidt efter lidt, for endelig at kunne se resultatet — Ventetid!</p>
<p>Følgende screenshots er alle taget efter at have tømt min browsers cache  (hvilket undre mig lidt, at Firebug stadig siger 22.3 KB from cache?!),  og er altså resultater ved første besøge på sitet.</p>
<h4>Javascripts (172.9 KB — 2.32 sek.)</h4>
<p><a href="http://www.simon-jensen.net/wp-content/uploads/js-no-combine-1st-run.png"><img class="alignnone size-medium wp-image-536" title="Javascripts ved &quot;normal&quot; procedure" src="http://www.simon-jensen.net/wp-content/uploads/js-no-combine-1st-run-545x253.png" alt="" width="545" height="253" /></a></p>
<h4>CSS (10.9 KB — 637 msek.)</h4>
<p><a href="http://www.simon-jensen.net/wp-content/uploads/css-no-combine-1st-run.png.png"><img class="alignnone size-medium wp-image-532" title="CSS ved &quot;normal&quot; procedure" src="http://www.simon-jensen.net/wp-content/uploads/css-no-combine-1st-run.png-545x242.png" alt="" width="545" height="242" /></a></p>
<h2>Optimering</h2>
<p>Tricket til at komme ovenstående til livs, er faktisk rimelig simpelt, men kan gøres på flere planer. Flere og flere plugins (foruden JQuery biblioteket selv), kommer i en &#8220;minifyed&#8221; version, som jeg klart vil anbefale at benytte i produktion frem for den &#8220;originale kildekode&#8221;. Med &#8220;minifyed&#8221; forståes at alle funktioner og deklerationer er &#8220;rykket sammen&#8221; (variabler kan forkortes m.m.) på én laaaang linie, samt at alt whitespace er fjernet for at mindske filstørrelsen — og der kan hutigt sparres en del KB allerede der!</p>
<p>Næste skridt vi kan tage, og det er hele tricket ved dette, er at kombinerer de mange filer til én. Der findes flere måder at gøre dette på, bl.a.  &#8220;<a title="Closure Compiler" href="http://code.google.com/closure/compiler/" target="_blank">Googles Closure Compiler</a>&#8220;. En bonus ved Closure Compiler er at denne  også udfører &#8220;minifying&#8221; af den endelige kombinerede Javascript fil. En ulempe, i min optik, er at dette ellers fantastiske værktøj, kræver at man manuelt skal compile alle sine Javascripts efter redigering, via en terminal — det er selvfølgelig til at overleve, men kunne jeg blive fri, valgte jeg helst det&#8230; og det kan jeg <img src='http://www.simon-jensen.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Og det er netop dérfor jeg er så glad for denne metode, Niels har præsenteret mig for her i weekenden, da den vha. lidt URL-rewriting gør hele optimerings-processen automatisk! Ydermere er denne løsning designet til at kunne genererer cache-version af dine kombinerede filer, hvorefter der næsten ingen &#8220;overhead&#8221; er tilbage.</p>
<h2>Kombinering af filer</h2>
<p>Ideen er, at du på din server har én mappe til CSS og én mappe til Javascripts. Vha. følgende .htaccess-regl, kan vi fortælle vores script (combine.php), at dette skal kombinerer en &#8220;kæde&#8221; af filer til én:</p>
<pre>RewriteEngine On
RewriteBase /
RewriteRule ^css/(.*\.css) /combine.php?type=css&amp;files=$1
RewriteRule ^javascript/(.*\.js) /combine.php?type=javascript&amp;files=$1</pre>
<p>I vores &lt;head&gt;-sektion, hvor vi normalt ville have en masse links som dette:</p>
<pre>&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/ui.core.css," /&gt;
&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/ui.dialog.css" /&gt;
&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/ui.theme.css" /&gt;
&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/prettyPhoto.css" /&gt;
&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/jquery.Jcrop.css" /&gt;
&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/style.css" /&gt;</pre>
<p>kan vi nu nøjes med at linke dem komma-separeret, som her:</p>
<pre>&lt;link rel="stylesheet" type="text/css" href="http://www.usgreencardoffice.com/css/ui.core.css,ui.dialog.css,ui.theme.css,prettyPhoto.css,jquery.Jcrop.css,style.css" /&gt;</pre>
<p>Det samme trick gør sig selvfølgelig gældende for Javascript-filerne. For at få løsningen til at fungerer helt optimalt, skal du oprette en skrivbar mappe kaldet &#8220;cache&#8221;.</p>
<h2>Resultatet</h2>
<p>Screenshots er igen alle taget efter at have tømt min browsers cache, svarende til at besøge sitet for første gang — Dvs. at du højst sansynligt vil  spare endnu mere trafik ved andet besøg, da caching herefter vil træde i kræft <img src='http://www.simon-jensen.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Javascripts (156.3 KB — 1.48 sek.)</h4>
<p><a href="http://www.simon-jensen.net/wp-content/uploads/js-combine-1st-run.png"><img class="alignnone size-medium wp-image-534" title="Javascript ved brug af kombinering" src="http://www.simon-jensen.net/wp-content/uploads/js-combine-1st-run-545x169.png" alt="" width="545" height="169" /></a></p>
<h4>CSS (8.8 KB — 10 msek.)</h4>
<p><a href="http://www.simon-jensen.net/wp-content/uploads/css-combine-1st-run.png"><img class="alignnone size-medium wp-image-530" title="CSS ved brug af kombinering" src="http://www.simon-jensen.net/wp-content/uploads/css-combine-1st-run-545x87.png" alt="" width="545" height="87" /></a></p>
<h2>Download</h2>
<p><a href="http://www.simon-jensen.net/wp-content/uploads/combine.php_.zip"><img class="size-full wp-image-554" style="vertical-align: middle; border: 0pt none;" title="Download" src="http://www.simon-jensen.net/wp-content/uploads/download.png" alt="" width="64" height="64" /></a> <a href="http://www.simon-jensen.net/wp-content/uploads/combine.php_.zip">Download combine.php</a>.</p>
<h2>Mere om minifying — forbedringer</h2>
<p>Efter at have implementeret ovenstående, og set nærmere på nogle af de plugins jeg benytter (samt de scripts jeg selv har måtte tilføje), tænkte jeg at det ville være interessant at udvide løsningen med automatisk &#8220;minifying&#8221;. Dette er stadig en &#8220;todo&#8221; for mig, men måske du har samme tanker? I så fald vil følgende link måske have interesse: <a rel="nofollow" href="http://github.com/rgrove/jsmin-php/blob/master/jsmin.php" target="_blank">http://github.com/rgrove/jsmin-php/blob/master/jsmin.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/optimering-af-javascript-og-css.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Live Search med Prototype JS og PHP</title>
		<link>http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html</link>
		<comments>http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html#comments</comments>
		<pubDate>Sun, 09 Mar 2008 11:03:41 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Udvikling]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[live search]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[script.aculo.us]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html</guid>
		<description><![CDATA[Update 28/04-08: Live-search understøtter nu ÆØÅ &#8211; download ny version i slutningen af denne post! I forbindelse med det sidste nye redesign, har jeg oprettet en &#8220;Live search&#8221;. Nåhhh ja, den er måske ikke så live som en definition vil have det &#8211; men det er da en fed feature &#8211; og funktionaliteten bag den, vil [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.simon-jensen.net/admin/uploads/image/information.png" alt="Update" width="16" height="16" /> <span style="text-decoration: underline;"><strong>Update 28/04-08: Live-search understøtter nu ÆØÅ &#8211; </strong></span><a title="Download Live-Search" href="http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html#download"><span style="text-decoration: underline;"><strong>download ny version</strong></span></a><span style="text-decoration: underline;"><strong> i slutningen af denne post!</strong></span></p>
<p><strong>I forbindelse med det sidste nye redesign, har jeg oprettet en &#8220;Live search&#8221;. Nåhhh ja, den er måske ikke så <em>live</em> som en definition vil have det &#8211; men det er da en fed feature &#8211; og funktionaliteten bag den, vil jeg da gerne dele med jer.</strong></p>
<p><a title="Live Search" href="http://www.simon-jensen.net/admin/uploads/image/live-search/live-search.jpg"><img style="width: 184px; height: 86px;" title="Live Search" src="http://www.simon-jensen.net/admin/uploads/image/live-search/live-search.jpg" border="1" alt="Live Search" align="right" /></a>Denne post består således af en gennemgang, af de vigtigste punkter i implementeringen, det være sig lidt XHTML, CSS, Javascript samt PHP.</p>
<p>I slutningen af posten, kan du desuden <a title="Gå direkte til download af &quot;Live search&quot;." href="http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html#download">downloade</a> en lille demo-version af funktionen.</p>
<p>For at benytte koden i denne post kræves det, at du har downloaded og inkluderet Javascript frameworket <a title="Læs mere og download Prototype her." href="http://www.prototypejs.org/" target="_blank">Prototype JS</a>, samt effektbiblioteket <a title="Læs mere og download script.aculo.us her." href="http://script.aculo.us" target="_blank">script.aculo.us</a>. Disse skal inkluderes i sidens <span style="font-family: Courier New;">&lt;head&gt;</span>-sektion, som med et hvert andet Javascript.</p>
<p><span id="more-91"></span></p>
<h3>XHTML</h3>
<p>Jeg har gjort det til god skik, at oprette en &#8220;container&#8221;-div. Dette div er ikke nødvendig, men her er det taget med for at få bare en smule design med.</p>
<p>Inde i denne container findes et billede, som er stylet til at være skjuldt. Dette er hvad jeg bruger som loading animation &#8211; altså en animation der skal vise, at et script arbejder. Input feltet skulle gerne tale for sig selv. Straks herunder er der, i endnu et div, oprettet en ul/li-liste &#8211; det er denne vi vil fremvise resultater i. Resultaterne skal ligeledes fremkommet/tilføjes som li-elementer til listen.</p>
<pre>&lt;div id="container"&gt;
    &lt;img src="loading.gif" id="lsloading" align="right" alt="" style="display:none;"  /&gt;
    &lt;input type="text" value="Type and you´ll find..." id="lsquery"  /&gt;
    &lt;br  /&gt;
    &lt;div id="lsresults" style="display:none;"&gt;
        &lt;ul id="lsResList"&gt;
            &lt;li&gt;&lt;i&gt;Type and you´ll find...&lt;/i&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<h3>CSS</h3>
<p>CSS delen af dette script, taler også lidt for sig selv. Det er muligt, at designer kan laves en hel del nemmere (læs: med mind css), men her er indsat hvad du finder i demoen.</p>
<p>Det vigtigste her, vil nok være at påpege, at resultatlisten er sat til absolut positionering. Dvs. vi kan vise den ovenpå andre elementer, hvorfor den ikke skal til at &#8220;skubbe&#8221; rundt på designet. Du har måske bemærket at resultatlisten er en smule gennemsigtigt &#8211; Dette ER en CSS feature, men den bliver udført gennem Javascript-delen.</p>
<pre>body {
    font-family: "Trebuchet MS";
    font-size: 1em;
    background: #333;
}

#container {
    background: #fff;
    width: 400px;
    padding: 20px;
    margin: 0 auto;
}

#container #lsloading {
    position: relative;
    top: 5px;
}

#container input {
    font-family: "Trebuchet MS";
    font-size: 1em;
    width: 350px;
    margin-left: 20px;
}

#container #lsresults {
    position: absolute;
    background: #fff;
    color: #333;
    width: 354px;
    margin-left: 20px;
}

#container #lsresults ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

#container #lsresults ul li {
    list-style: none;
    margin: 10px;
    padding: 0px;
}</pre>
<h3>Javascript</h3>
<p>Javascriptet er den største del af denne &#8220;applikation&#8221;. JS-delen består af et Live Search objekt (<span style="font-family: Courier New;">ls</span>) med metoderne <span style="font-family: Courier New;">init()</span>, <span style="font-family: Courier New;">search()</span>, <span style="font-family: Courier New;">showResults()</span> og <span style="font-family: Courier New;">hideResults()</span>. Derudover bliver der, når en side er loaded,  initialiseret nogle observer eventhandlers på søgefelter.</p>
<p>Humlen ligger i <span style="font-family: Courier New;">init()</span> og <span style="font-family: Courier New;">search()</span> metoderne. <span style="font-family: Courier New;">init()</span> bliver kaldt hver gang der tastes i søgefeltet, og denne kalder <span style="font-family: Courier New;">search()</span> som udføre et AJAX-kald til serveren, som levere selve søgningen. For ikke at spamme serveren er der indbygget en timer i init() metoden som gør, at <span style="font-family: Courier New;">search()</span> metoden kun bliver kaldt hvis der ikke er tastet noget i søgefeltet i 0.5 sekunder.</p>
<pre>/**
 * Live search
 */
var ls = {
	queryField: "lsquery", //id name of queru input-field
	results: "lsresults", //id name of result-list
	loading: "lsloading", //id name for loading animation
	timer: null,

	/**
	 * Initialize a search:
	 * reset timer, and performe search
	 * if nothing has been typed in 0.5 sec.
	 */
	init: function(event) {
		var query = Event.element(event).value;
		ls.timer = clearTimeout(ls.timer);
		if(query != "" || query != "Type and you´ll find...") {
			ls.timer = setTimeout("ls.search(" query ");", 500);
		}
	},

	//start a search using AJAX
	search: function(query) {
		if(query != "") {
			$(ls.loading).show();
			var done = function(t) {
				$(ls.loading).hide();
			}
			var url = php-backend.php;
			var pars = action=search&amp;query=   query;
			new Ajax.Updater(lsResList, url,
			{
				method: post,
				parameters: pars,
				onSuccess:done,
				onFailure:done,
				inserting:Insertion.Before
			});
		}
	},

	//show the result list
	showResults: function() {
		if($(ls.results).getStyle(opacity) != 0.9)
			new Effect.Appear(ls.results, {duration:0.2, from:0.0, to:0.9});
	},

	//hide the result list
	hideResults: function() {
		new Effect.Opacity(ls.results, {duration:0.2, from:0.9, to:0.0});
	}
}

/**
 * Initialize key-observers for search input field.
 */
Event.observe(window, load, function() {
	$(ls.queryField).observe(keyup, ls.init);
	$(ls.queryField).observe(keydown, ls.init);

	//remove input field value when first focused
  	$(ls.queryField).onfocus = function() {
  		if($(ls.queryField).value == "Type and you´ll find...")
			$(ls.queryField).value = "";
		ls.showResults();
	}

	//reset input field when not focused and value is ""
  	$(ls.queryField).onblur = function() {
  		if($(ls.queryField).value == "")
  			$(ls.queryField).value = "Type and you´ll find...";
  		ls.hideResults();
  	}
});</pre>
<h3>PHP</h3>
<p>PHP delen, er hvad jeg ovenfor har kaldt &#8220;serveren&#8221;. Hvordan du vil udføre selve søgningen er mere eller mindre op til dig selv. Vælger du at benytte dette script, skal resultaterne dog returneres som én streng. Hvert resultat skal, for at designet holder stik, leveres som et <span style="font-family: Courier New;">&lt;li&gt;</span>-element.</p>
<p>Bare for at give en ide, leveres scriptet med følgende PHP backend.</p>
<pre>&lt;?php
/************************************************************************
 * Here you would probably perform som DB-search.
 * In this example, you will only find a hit, when typing a string that -
 * is in the array $results.
 ************************************************************************/
if($_POST["action"] == "search") :
	$query = utf8_decode(urldecode($_POST["query"]));
	$results = array("","webprogrammering","blog","ajax","javascript","php","css");
	$key = array_search($query, $results);
	if($key) :
		echo "&lt;li&gt;&lt;a href="#"&gt;"".utf8_encode($results[$key])."" found with key: ".$key."&lt;/a&gt;&lt;/li&gt;";
	else :
		echo "&lt;li&gt;&lt;i&gt;Intet resultat&lt;/i&gt;&lt;/li&gt;";
	endif;
endif;
?&gt;</pre>
<p>Som beskrevet i kommentaren, vil man selvfølgelig lave en reel database søgning eller lignende, hvilket lige nøjagtig er hvad jeg gør her på sitet.</p>
<p>Sååå &#8211; uden yderligere forklaringer skal du være velkommen til at downloade, modificere osv. følgende version af Live Search. Skulle der opstå problemer, eller mangler du yderligere forklaring, skal du endelig kommentere nedenfor.</p>
<p><a name="download"></a></p>
<h3>Download</h3>
<p><a title="Download &quot;Live search&quot; (Zip)" href="http://www.simon-jensen.net/admin/plugins/download_manager/download.php?ID=3"><span style="text-decoration: line-through;">Live Search med Prototype JS og PHP</span></a><span style="text-decoration: line-through;"> (.zip)</span></p>
<p><a title="Download &quot;Live search&quot; (Zip)" href="http://www.simon-jensen.net/admin/plugins/download_manager/download.php?ID=2">Live Search med Prototype JS og PHP</a> (Æ,Ø,Å understøttet) (.zip)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/live-search-med-prototype-js-og-php.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS !important</title>
		<link>http://www.simon-jensen.net/css-important.html</link>
		<comments>http://www.simon-jensen.net/css-important.html#comments</comments>
		<pubDate>Wed, 26 Dec 2007 13:00:51 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Udvikling]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[internet explorer 6.0]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/css-important.html</guid>
		<description><![CDATA[Lad mig starte med at sige: Velkommen tilbage Internet Explorer 6.0. Laaaaangt om længe fik jeg mig taget sammen til at optimerer sitet, så det nu også kan ses i IE 6.0. Det er ikke fordi jeg nu regner med selv at komme til at bruge den browser mere af den grund, ha! &#8211; men når [...]]]></description>
			<content:encoded><![CDATA[<p>Lad mig starte med at sige: Velkommen tilbage Internet Explorer 6.0.</p>
<p>Laaaaangt om længe fik jeg mig taget sammen til at optimerer sitet, så det nu også kan ses i IE 6.0. Det er ikke fordi jeg nu regner med selv at komme til at bruge den browser mere af den grund, ha! &#8211; men når man går og kalder sig webprogrammør, synes det at virke som lidt af en torn i øjet, ikke selv at have et site der kan ses i langt de fleste browsere.</p>
<p>Fixet skulle findes i CSS´s &#8220;<span style="font-family: Courier New;">!important</span>&#8220;-tag, hvilket jeg højst sansynligt kommer til at bruge mere fremover.</p>
<h3>!important</h3>
<p><span style="font-family: Courier New;">!important</span> tagget i CSS, bliver normalt brugt til at beskrive præcedens. I CSS er det den sidst specificerede regel som tager præcedens (læs: afgørende regl), men tilskrives en regle <span style="font-family: Courier New;">!important</span>-tagget, overtager denne præceden, også ligemeget om denne regle skrives tidligere i din CSS.</p>
<p>Catchen er&#8230; Internet Explorer 6.0 ignorerer <span style="font-family: Courier New;">!important</span> tagget!</p>
<p>Dvs. at man kan bruge tagget til at lave CSS regler til alle andre browsere end IE 6.0, for herefter at skrive en &#8220;normal&#8221; regle, som vil blive brugt af IE 6.0&#8230; Lød det meget forvirende? Her er et par simpelt eksempler.</p>
<p><span id="more-95"></span></p>
<h3>!important eksempel</h3>
<p>Margins og paddings opfører sig ikke altid ens i f.eks. mozilla browsere og IE browsere. I eksemplet herunder, ønsker vi at have mere afstand fra et <span style="font-family: Courier New;">div</span>-element til toppen i mozilla browseren, end vi gør i IE browseren. Dette kan gøres ved <span style="font-family: Courier New;">!important</span>-tagget på følgende måde:</p>
<div class="Code">#myDiv {<br />
margin-top: 50px <strong>!important</strong>; /*bliver ignoreret af IE*/<br />
margin-top: 30px;<br />
}</div>
<h3>!important i andre sammenhænge</h3>
<p>Faktisk startede jeg ud med at undersøge dette tag da jeg har anvendt PNG billeder, hvilket heller ikke fungerer så godt med IE 6.0. PNG billeder har den fantastiske evne, at de kan fade på en gennemsigtig baggrund &#8211; Normalt har du måske brugt GIF billeder til gennemsigtighed, og i så fald har du sikkert stødt på, at resultatet ofte ender ud med at være meget takket i kanterne, og langt fra ligner det design, du har siddet og brugt tid på i Photoshop &#8211; så ender vi altid med at smide en baggrundsfarve på billedet alligevel ;(. Dette billede viser hvordan IE vil fremvise et PNG billede med gennemsigtighed.</p>
<p><img title="IE understøtter ikke PNG gennemsigtighed." src="http://www.simon-jensen.net/admin/uploads/image/css-not-important/png-ie-no-transparency.png" alt="IE understøtter ikke PNG gennemsigtighed." width="81" height="86" /></p>
<p>Vil du holde fat i at bruge PNG billederne hvor du kan, men samtidig vise et bedre resultat end ovenstående til IE 6.0, kan du som beskrevet ovenfor bruge <span style="font-family: Courier New;">!important</span>.</p>
<div class="Code">#myDiv {<br />
width: 200px;<br />
height: 200px;<br />
background: url(&#8220;FeedIcon-64.png&#8221;) no-repeat <strong>!important</strong>;<br />
background: url(&#8220;FeedIcon-64.gif&#8221;) no-repeat;<br />
}</div>
<p>I ovenstående CSS vil IE 6.0 igen ignorerer <span style="font-family: Courier New;">!important</span>-tagget, og herefter benytte sig af GIF-billedet som baggrund. Alle andre browsere, som godt kan forså !important, vil benytte sig af PNG-billedet, hvorefter alle browsere gerne skulle endnu ud med et mere ens resultat ala nedenstående billede &#8211; you get the point.</p>
<p><img title="CSS !important kan bruges til at &quot;vælge&quot; baggrunds billedet." src="http://www.simon-jensen.net/admin/uploads/image/css-not-important/gif-ie-with-bgcolor.png" alt="CSS !important kan bruges til at &quot;vælge&quot; baggrunds billedet." width="80" height="79" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/css-important.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Variabler i CSS</title>
		<link>http://www.simon-jensen.net/variabler-i-css.html</link>
		<comments>http://www.simon-jensen.net/variabler-i-css.html#comments</comments>
		<pubDate>Fri, 02 Feb 2007 16:15:27 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Udvikling]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/Variabler-i-CSS.html</guid>
		<description><![CDATA[CSS (Cascading Style Sheets) blev i sin tid introduceret af W3C for at forbedre tilg&#230;ngelighed p&#229; webben, ligesom det skulle v&#230;re med til at g&#248;re HTML mere semantisk, ved at separerer styling fra resten af HTML-koden. I &#34;moderne&#34; web-design/-programmering, kommer man ikke udenom brugen af CSS &#8211; tilf&#248;j dertil et sprog til dynamisk generering af [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3.org/Style/CSS/" target="_blank" title="G&aring; til hwww.w3.org/Style/CSS/.">CSS</a> (<em><strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets</em>) blev i sin tid introduceret af <a title="G&aring; til www.w3.org." target="_blank" href="http://www.w3.org/">W3C</a> for at forbedre tilg&aelig;ngelighed p&aring; webben, ligesom det skulle v&aelig;re med til at g&oslash;re HTML mere semantisk, ved at separerer styling fra resten af HTML-koden.<br />
I &quot;moderne&quot; web-design/-programmering, kommer man ikke udenom brugen af CSS &#8211; tilf&oslash;j dertil et sprog til dynamisk generering af indhold og du kan komme rigtig langt. Men CSS har en mangel &#8211; <em>variabler</em>!</p>
<p>Som det er nu kan du ikke benytte variabler i CSS, hvilket efter min mening virker til at v&aelig;re et k&aelig;mpe h&aelig;ngeparti. CSS findes idag i sin 2. revision, med en 3. p&aring; tegnebordet, og med tidens trends og tendenser, som f.eks. table-less designs, kunne det virke naturligt at introducerer variabler ifm. styling, men synes det ikke at v&aelig;re tilf&aelig;ldet, hvis man l&aelig;se f&oslash;lgende skrivelse om <a title="CSS3 Under Construction." target="_blank" href="http://www.w3.org/Style/CSS/current-work">CSS3 Under Construction</a>.</p>
<p>En Simon Willison er s&aring;gar kommet med et l&oslash;sningsforslag til hvordan man, rent syntax-m&aelig;ssigt, kunne f&aring; dette variabel-&oslash;nsket ind i CSS, og det virker faktisk meget fornuftigt &#8211; <a title="Et variable-&oslash;nske til CSS3." target="_blank" href="http://simonwillison.net/2003/Jul/22/featureRequest/">l&aelig;s mere her</a>.</p>
<p>Heldigvis findes der en l&oslash;sning. Den jeg har fundet frem til, og benyttet, er i forbindelse med <a title="G&aring; til www.php.net." target="_blank" href="http://www.php.net/">PHP</a>.</p>
<p>Variabler i CSS vha. PHP:</p>
<div class="Code">&lt;?php<br />
&nbsp;&nbsp;&nbsp; header(&quot;Content-type: text/css&quot;);<br />
&nbsp;&nbsp;&nbsp; <strong>$bgCol</strong> = &quot;#BDE469&quot;;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; echo &lt;&lt;&lt;EOD<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; body {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; background-color: <strong>$bgCol</strong>;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; EOD;<br />
?&gt;</div>
<p><font face="Courier New"><br />
</font>Ovenst&aring;ende skal selvf&oslash;lgelig skrives i en <font face="Courier New">.php</font>-fil, men kan inkluderes i din <font face="Courier New">&lt;head&gt;</font>-sektion som en almindelig <font face="Courier New">.css</font>-fil.
</p>
<div class="Code">&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.php&quot; /&gt;</div>
<p>
Uden selv at have pr&oslash;vet det, postulerer <a title="CSS-variabler og ASP." target="_blank" href="http://www.aspnetresources.com/articles/variables_in_css.aspx">denne side</a>, at have en l&oslash;sning for brugen af variabler i CSS i forbindelse med ASP.net.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/variabler-i-css.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lightbox JS V.2.</title>
		<link>http://www.simon-jensen.net/lightbox-js-v-2.html</link>
		<comments>http://www.simon-jensen.net/lightbox-js-v-2.html#comments</comments>
		<pubDate>Thu, 17 Aug 2006 16:04:11 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Alt Andet]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[grafik]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[script.aculo.us]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/lightbox-js-v.2.html</guid>
		<description><![CDATA[Endnu en lille hyles til OpenSource miljøet: Lightbox JS is a simple, unobtrusive script used to overlay images on the current page. Its a snap to setup and works on all modern browsers. Jeg har faktisk længe haft Lightbox JS til at ligge i min &#8220;usefull_stuff&#8221; mappe, men havde fuldstændig glemt det igen. Her forleden [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Gå til www.huddletogether.com/projects/lightbox2/." href="http://www.huddletogether.com/projects/lightbox2/" target="_blank"><img title="Lightbox JS" src="http://www.simon-jensen.net/admin/uploads/image/lightbox_credit.png" border="1" alt="Lightbox JS" width="122" height="29" align="right" /></a>Endnu en lille hyles til <a class="wikipedia" title="Wiki: Om &quot;OpenSource&quot;." rel="tag" href="http://en.wikipedia.org/wiki/opensource" target="_blank">OpenSource</a> miljøet:</p>
<div class="Quote">Lightbox JS is a simple, unobtrusive script used to overlay images on the current page. Its a snap to setup and works on all modern browsers.</div>
<p>Jeg har faktisk længe haft <span style="font-style: italic;">Lightbox JS</span> til at ligge i min &#8220;<span style="font-style: italic;">usefull_stuff</span>&#8221; mappe, men havde fuldstændig glemt det igen. Her forleden faldt jeg så pludselig over det igen, og endte på programmøren, <a title="Gå til www.huddletogether.com." href="http://www.huddletogether.com" target="_blank">Lokesh Dhakars hjemmeside</a>. Glædeligt nok skulle det vise sig, at der var kommet en ny version af scriptet.</p>
<p>Den <a title="Gå til første version af &quot;Lightbox JS&quot;." href="http://www.huddletogether.com/projects/lightbox/" target="_blank">gamle/første version</a> synes jeg var en fryd for øjet, da jeg fandt den &#8211; Men det er ingenting i forhold til <a title="Gå til &quot;Lightbox JS V.2&quot;." href="http://www.huddletogether.com/projects/lightbox2/" target="_blank">version 2</a>!<br />
Version 2 (som i skrivende stund kan downloades i v. 2.02), benytter sig af <a title="Gå til http://prototype.conio.net/." href="http://prototype.conio.net/" target="_blank">Prototype Javascript Library</a> som kan downloades hos <a title="Gå til http://script.aculo.us/downloads." href="http://script.aculo.us/downloads" target="_blank">script.aculo.us</a>, hvilket giver mulighed for nogle fede &#8220;morphing&#8221; effekter.</p>
<p><span id="more-28"></span></p>
<p><span style="font-size: x-small;"><span style="font-weight: bold; text-decoration: underline;">Eksempler</span></span>:<br />
<span style="text-decoration: line-through;"> Klik på billedet herunder, og du vil se hvad <span style="font-style: italic;">Lightbox JS</span> egentligt kan:</span></p>
<p><span style="text-decoration: underline;"><strong><span style="color: #ff0000;">Update</span></strong></span><span style="color: #ff0000;">: Jeg bruger ikke længere Lightbox til fremvisning af mine billeder. Gå til Lightbox´s officielle side for at se de rigtige effekter.</span></p>
<p><a title="Her er det muligt at beskrive billederne." href="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/buddah.jpg"><img style="border: 1px solid black;" title="Klik for at se billedet via Lightbox JS." src="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/buddah.jpg" border="1" alt="Klik for at se billedet via Lightbox JS." width="125" height="94" /></a></p>
<p>Som noget nyt, i V.2, kan du også <span style="font-style: italic;">grupperer</span> dine billeder, med andre ord, du kan lave <span style="font-style: italic;">sets</span>. Nedenfor har jeg grupperet tre billeder, tryk på et af dem, og du kan browse frem og tilbage mellem billederne i <span style="font-style: italic;">settet</span>.</p>
<p><a title="Solen og Jollen." href="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/solen_og_jollen.jpg"><img style="border: 1px solid black;" title="Billede #1." src="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/solen_og_jollen.jpg" border="1" alt="Billede #1." width="125" height="100" /></a> <a title="Devine Moment." href="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/plaine.jpg"><img style="border: 1px solid black;" title="Billede #2." src="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/plaine.jpg" border="1" alt="Billede #2." width="125" height="100" /></a> <a title="Dansk Savanne." href="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/dk_savannah.jpg"><img style="border: 1px solid black;" title="Billede #3." src="http://www.simon-jensen.net/admin/uploads/image/lightbox_v2/dk_savannah.jpg" border="1" alt="Billede #3." width="125" height="100" /></a></p>
<p><span style="font-size: x-small;"><span style="font-weight: bold; text-decoration: underline;">Kode</span></span>:<br />
Scriptet er temmelig let at sætte op. Aller først skal du selvfølgelig <a title="Gå til download af &quot;Lightbox JS V.2&quot;." href="http://www.huddletogether.com/projects/lightbox2/#download" target="_blank">downloade scriptet</a>. Scriptet består af 5 filer, 4 <span style="font-family: Courier New;">.js</span>-filer og et <span style="font-family: Courier New;">.css</span>-dokument.<br />
Hernæst skal du loade scriptene og style-sheetet i din <span style="font-family: Courier New;">&lt;head&gt;</span> sektion, på din hjemmeside, som følgende:</p>
<pre>&lt;link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /&gt;
&lt;script type="text/javascript" src="js/prototype.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/scriptaculous.js?load=effects"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/lightbox.js"&gt;&lt;/script&gt;</pre>
<p>Du kan nu benytte <span style="font-style: italic;">Lightbox JS</span> til at vise enkelte billeder, ved at tilføje <span style="font-family: Courier New;">rel=&#8221;lightbox&#8221;</span> til en link-attribut. Beskrivelsen der vil komme frem, er selve <span style="font-family: Courier New;">title</span>-attributten på linket. Det overstående enkelte billede, kan vises på følgende måde:</p>
<pre>&lt;a rel="lightbox" title="Her er det muligt at beskrive billederne." href="/uploads/Banner/buddah.jpg"&gt;Billede&lt;/a&gt;</pre>
<p>For at lave <span style="font-style: italic;">sets</span>, tilføjer vi bare et <span style="font-style: italic;">set-navn</span> til relationen, således <span style="font-family: Courier New;">rel=&#8221;lightbox[<span style="font-style: italic;">setnavn</span>]&#8220;</span>. Vi bruger således samme <span style="font-style: italic;">setnavn</span>, til alle billeder der skal grupperes, og skulle kunne browsers sammen. Overstående set-eksempel kan vises som herunde, hvor jeg har samlet billederne i settet &#8220;<span style="font-style: italic;">set</span>&#8220;:</p>
<pre>&lt;a href="/uploads/solen_og_jollen.jpg" title="Solen og Jollen." rel="<strong>lightbox[set]</strong>"&gt;#1&lt;/a&gt;
&lt;a href="/uploads/plaine.jpg" title="Devine Moment." rel="<strong>lightbox[set]</strong>"&gt;#2&lt;/a&gt;
&lt;a href="/uploads/dk_savannah.jpg" title="Dansk Savanne." rel="<strong>lightbox[set]</strong>"&gt;#3&lt;/a&gt;</pre>
<p><span style="font-size: x-small;"><span style="font-weight: bold; text-decoration: underline;">Til sidst</span></span>:<br />
Jeg har <a title="Gå til FCKeditor-posten." href="http://www.simon-jensen.net/fckeditor.html">tidligere</a> gjort lidt reklame for en <a class="wikipedia" title="Wiki: Om &quot;WYSIWYG&quot;." rel="tag" href="http://en.wikipedia.org/wiki/wysiwyg" target="_blank">WYSIWYG</a>-editor, kaldet <a title="Gå til FCKeditorens officielle side." href="http://www.fckeditor.net/" target="_blank">FCKeditoren</a>. Det er som sagt denne editor jeg benytter til at skrive mine poster med, og da jeg nu holder så meget af de to, <span style="font-style: italic;">Lightbox JS</span> og <span style="font-style: italic;">FCKeditor</span>, hvorfor skulle de så ikke kunne arbejde sammen?<br />
FCKeditoren har mange settings, også for insættelse/redigering af links, <span style="font-style: italic;">relation</span>-tagget er bare ikke med som standard. Men det skulle nu ikke stoppe dig, for det er faktisk forholdsvis let at tilføje. Alt du skal gøre er at tilføje til følgende filer:</p>
<pre>FCKeditor/editor/dialog/fck_link.html
FCKeditor/editor/dialog/fck_link/fck_link.js</pre>
<p>Vil du vide mere, skal du være velkommen til at kommenterer heruden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/lightbox-js-v-2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Standarder tak!</title>
		<link>http://www.simon-jensen.net/standarder-tak.html</link>
		<comments>http://www.simon-jensen.net/standarder-tak.html#comments</comments>
		<pubDate>Mon, 24 Jul 2006 01:23:02 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Alt Andet]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web programmering]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/standarder-tak.html</guid>
		<description><![CDATA[S&#229; l&#230;nge som til indtil ig&#229;r, har sitet her ikke v&#230;ret nogen fryd for jer Internet Explorer brugere derude. M&#229;ske har I bem&#230;rket at sidemenuerne (p&#229; bloggen til h&#248;jre, alle andre sider til venstre) i visse tilf&#230;lde kunne forsvinde, n&#229;r man f&#248;rte musen over et link i en post?! Okay &#8211; Men det kunne alts&#229; [...]]]></description>
			<content:encoded><![CDATA[<p>S&aring; l&aelig;nge som til indtil ig&aring;r, har sitet her ikke v&aelig;ret nogen fryd for jer <a title="G&aring; til Internet Explorer." target="_blank" href="http://www.microsoft.com/windows/ie/default.mspx">Internet Explorer</a> brugere derude.<br />
M&aring;ske har I bem&aelig;rket at sidemenuerne (p&aring; bloggen til h&oslash;jre, alle andre sider til venstre) i visse tilf&aelig;lde kunne forsvinde, n&aring;r man f&oslash;rte musen over et link i en post?! Okay &#8211; Men det <span style="font-style: italic;">kunne</span> alts&aring; ske, og det har irriteret mig gevaldigt fra dag &eacute;t. Hvad der har irriterer mig endnu mere, var at det ikke var et problem i <a href="http://www.spreadfirefox.com/?q=affiliates&amp;id=0&amp;t=82" target="_blank" title="G&aring; til Firefox.">Firefox</a> eller <a href="http://www.opera.com/" target="_blank" title="G&aring; til Opera.">Opera</a>. Ahhhh &#8230; hvorn&aring;r f&aring;r vi &eacute;n standard???</p>
<p>Problemet var i CSS dokumentet, en <span style="font-style: italic;">margin</span> blev lavet om til en <span style="font-style: italic;">float</span>, og nu virker det &#8211; I hvert fald i alle tre ovenfor n&aelig;vnte browsere. S&aring; hermed &#8211; Velkommen IE brugere, og alle jer andre selvf&oslash;lgelig =;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/standarder-tak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vil du også være med?</title>
		<link>http://www.simon-jensen.net/vil-du-ogsaa-vaere-med.html</link>
		<comments>http://www.simon-jensen.net/vil-du-ogsaa-vaere-med.html#comments</comments>
		<pubDate>Tue, 02 May 2006 12:26:38 +0000</pubDate>
		<dc:creator>Simon Jensen</dc:creator>
				<category><![CDATA[Alt Andet]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css zengarden]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web programmering]]></category>

		<guid isPermaLink="false">http://www.simon-jensen.net/vil-du-ogsaa-vaere-med.html</guid>
		<description><![CDATA[En blog kan jo fungere p&#229; flere m&#229;der. Nogle er meget private, forbeholdt familien med familiefotos og generations-tr&#230;er osv. Andre fungerer som informationssider til folk med samme interesse og andre igen, fungerer ligesom skrivebord for hvad end der lige faldt en person ind. F&#248;r jeg lavede denne blog, havde egentlig ikke gjordt mig s&#229; mange [...]]]></description>
			<content:encoded><![CDATA[<p>En blog kan jo fungere p&aring; flere m&aring;der. Nogle er meget private, forbeholdt familien med familiefotos og generations-tr&aelig;er osv. Andre fungerer som informationssider til folk med samme interesse og andre igen, fungerer ligesom skrivebord for hvad end der lige faldt en person ind.</p>
<p>F&oslash;r jeg lavede denne blog, havde egentlig ikke gjordt mig s&aring; mange tanker om hvad jeg ville bruge den til?! For mig var det mere &oslash;velse i at lave en s&aring;danne, og selvf&oslash;lgelig fordi jeg synes det kunne v&aelig;re lidt sjovt at agere skribent for lige hvad jeg ville.<br />
Jeg ved stadig ikke helt, hvad jeg vil bruge min blog til. Men efter som jeg jo er teknisk anlagt, og bloggen mere eller mindre opstod <span style="font-style: italic;">fordi jeg kunne</span>, kunne jeg da passende starte med at forklare lidt om processen bag.<br />
Derfor vil denne post fungere som en samling af links til emner og videre l&aelig;sestof, som kan v&aelig;re en god start til den der gerne selv vil igang med at lave hjemmesider.</p>
<p><span style="font-weight: bold;">H T M L</span><br />
Noget af det f&oslash;rste man b&oslash;r have kendskab til er HTML. HTML er kort for <span style="font-style: italic;">Hyper Text Markup Language</span>, og er den &quot;markering&quot; man benytter, til at fort&aelig;lle hvordan en tekst, billede, link eller andet, skal se ud. Standard for HTML er at man har et start-tag og et slut-tag. S&aring;ledes starter en ren HTML-side altid med start-taget &lt;html&gt; og slutter med &lt;/html&gt;, ligeledes er en fed tekst markeret s&aring;ledes &lt;b&gt;<span style="font-weight: bold;">fed tekst</span>&lt;/b&gt;.<br />
Denne start/slut-tags-teknik er gennemg&aring;ende for HTML. HTML kan ses som en ramme hvori man placerer sin tekst, og ligeledes et v&aelig;rkt&oslash;j til at formaterer sin tekst.<br />
For at f&aring; en bedere forst&aring;else af HTML, vil jeg anbefale at l&aelig;se indholdet p&aring; f&oslash;lgende links:<br />
<a href="http://www.html.dk/tutorials/html/" target="_blank">www.html.dk/tutorials/html/</a>.<br />
<a href="http://www.htmldog.com/" target="_blank">www.htmldog.com</a>.<br />
<a href="http://www.w3schools.com/html/default.asp" target="_blank">www.w3schools.com/html/default.asp</a>.<br />
HTML har indbygget de mest basale funktioner til tekst-formatering, s&aring; som <span style="font-weight: bold;">fed</span>, <span style="font-style: italic;">kursiv</span> og <span style="text-decoration: underline;">understreget</span> tekst. Ydermere giver det mulighed for at lave tabeller, som du sikkert kender dem fra regneark, og selvf&oslash;lgelig mulighed for at inds&aelig;tte links, billeder og baggrunde. Og mere skal du basalt set ikke bruge for at lave en hjemmeside.</p>
<p><span style="font-weight: bold;">C S S</span><br />
Med ren HTML finder man hurtigt ud af, at man skal v&aelig;re fandens kreativ for at kunne lave en side der er noget ud over det normale. Det kan v&aelig;re sv&aelig;rt at placere forskellige objekter lige hvor man vil, og baggrunde er ikke til at arbejde med. Heldigvis findes der ogs&aring; et v&aelig;rkt&oslash;j til dette. Dette v&aelig;rkt&oslash;j hedder CSS, som er kort for <span style="font-style: italic;">Cascading Style Sheet</span>, og er egentligt bare et dokument du laver ved siden at din HTML side(r), og som du refererer til gennem din HTML-side. CSS-dokumentet indeholder et s&aelig;t selvdefinerede tags, som igen indeholder regler for hvorledes en side, paragraf, tekst, link eller billede skal udformes.<br />
Id&eacute;en er kanon, fordi du nu kun skal skrive dine formateringer op &eacute;n gang, og herefter blot refererer til den igen og igen. Man finder hurtigt ud af, at man tit skal have formateret noget p&aring; samme m&aring;de flere gange.<br />
Til den interesserede l&aelig;ser, som gerne vil grave dybere i CSS, vil jeg forsl&aring; disse links:<br />
<a href="http://www.html.dk/tutorials/css/" target="_blank">www.html.dk/tutorials/css/</a>.<br />
<a href="http://www.htmldog.com/" target="_blank">www.htmldog.com</a>.<br />
<a href="http://www.w3schools.com/css/" target="_blank">www.w3schools.com/css/</a>.<br />
<a href="http://www.csszengarden.com/">www.csszengarden.com</a>.</p>
<p>Ved genneml&aelig;sning og gennemgang af de forskellige &oslash;velser og eksempler der findes for enden af linksene i denne post, kan du komme langt. Men for at kunne h&aring;ndterer forme, mails og dynamisk side-generering skal du se n&aelig;rmere p&aring; programmeringssprog som f.eks ASP eller PHP (som denne side er lavet i) &#8211; Dette afsnit gemmer vi dog til en anden god gang.<br />
Jeg h&aring;ber I kan bruge nogle af overst&aring;ende links &#8211; De har i hvert fald hjulpet mig godt p&aring; vej i sin tid.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simon-jensen.net/vil-du-ogsaa-vaere-med.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

