- CSS är förkortning för Cascading Style Sheet.
 
	- Style Sheet blir stilmall på svenska.
 
	- Cascading i CSS betyder att flera stilmallar genomströmmar presentationen i en slutlig stil.
 
	- CSS kan tillämpas på XML och HTML.
 
	- CSS är en öppen standard och INTE proprietär 
	(ägs och styrs i vinstdrivande intresse).
 
	- World Wide Web Consortium (W3C) är den ideella organisationen som utvecklar och sätter standarden för CSS.
 
	- Rekommenderad version är (april 2008) CSS 1, men i praktiken 
	används versionen CSS 2.1 (Level 2 revision 1) som har status working draft.
 
	- CSS 3 är under utveckling (apr 2005).
 
	- Trots att det finns en CSS standard behandlas dessa till viss del olika 
	av webbläsartillverkare.
 
	- Syftet med CSS är att ytterligare påverka slutliga stilen i HTML- eller XML-dokument.
 
	- De HTML-element som kan inrymmas inom 
<BODY>...</BODY> 
	kan påverkas med CSS. 
	- Den stilmall som finns inbyggd i alla webbläsare, kallas  browser default.
 
	- I bl.a. Internet Explorer kan den inbyggda stilmallen (browser default) ersättas.
 
	- Genom att skriva nya stilregler förändrar man browser default.
 
	- Man kan aldrig hamna i situationen där ingen stil existerar, det ser browser default till.
 
	- Om en stildeklaration skrivits felaktigt, ignoreras den av 
	webbläsaren.
 
	- Internet Explorers browser default visar informationen och stilen 
<H1>Rubrik</H1> med:
		
			- toppmarginal på 0.67em (elastiskt mått, 67% av standard 
			marginalsavstånd)
 
			- text som fet, svart, 2em (dubbla standardhöjden) Times New Roman
 
			- text placerad i ett block (innebär att inget kan skrivas bakom)
 
			- 0 pixels bottenmarginal.
 
		
	 
	- I nedanstående exempel på ny stilregel är H1-elementet en selector och { color: blue; 
	} är dess declaration.
 
H1 { color: blue }
		Kod 1: Exempel på selektor och deklaration
	- Ursprunglig stil påverkas genom att man deklarerar regler där HTML-koder får stil.
 
	- CSS kan tillämpas på tre sätt:
		
			- Inline, direkt på enskild HTML-kod
 
			- Embedded, i en stildeklaration inom 
<HEAD>-delen 
			- Linked, genom länkad separat fil
 
		
	 
...
<H1 STYLE="color: blue">Rubrik</H1>
...
		Kod 2: Exempel på Inline-CSS som ändrar standard H1-färg till blå är
...
<HEAD>
  <STYLE>
    H1 { color: blue }
  </STYLE>
</HEAD>
...
		Kod 3: Exempel på Embedded-CSS
		Linked exemplet är en två-filslösning. 
		I fil nr.1
		stil.css står:
H1 { color: blue }
		Kod 4: Exempel på Linked-CSS. Filen - stil.css
		I fil nr.2 HTML-filen, länkar man till CSS-filen:
		
...
	<HEAD>
  <LINK REL="stylesheet" TYPE="text/css" HREF="stil.css">
	</HEAD>
	<H1>Rubrik</H1>
		...
		Kod 5: Exempel på Linked-CSS. HTML-fil som länkar till stil.css
		
			- En linked stilmall kan lagras varsomhelst i filstrukturen 
			om korrekta sökvägarna pekar rätt. 
 
		
		
	- Inline-CSS påverkar endast aktuell HTML-kod och de som påverkas av 
	arv.
 
	- Embedded-CSS påverkar alla berörda HTML-koder och de som påverkas av 
	arv i aktuellt HTML-dokument.
 
	- Linked-CSS påverkar alla berörda HTML-koder och de som påverkas av 
	arv i alla länkade HTML-dokument.
 
	- Man strävar efter att skriva effektiv stildeklaration genom att deklarera liknande stil i 
	samma grupp.
 
	- Man kan avdela flera deklarationer med semikolon.
 
H1, H2, H3 { color: blue; }
		Kod 6: Effektiv kommaseparerad gruppdeklaration
H1 { color: blue; font-size: 12pt; font-family: Arial; }
		Kod 7: Grupperad deklaration:
H1 { 
color: blue; 
font-size: 12pt; 
font-family: Arial; 
} 
		Kod 8: Lång deklaration med radbrytningar
	- CSS-elementet Font är ett exempel ett shorthand element, 
	en "huvuddeklaration" och flera "egenskaper". 
 
	- Shorthand elementet Font tillåter att man inleder med font och 
	fortsätter med valfria delar av -style, 
	-variant, -weight, -size, -line-height och -family.
 
	- Skriv därför hellre:
 
P { font: bold 12pt Arial; } 
		Kod 9: Effektiv deklaration
		...än...
		P {font-weight: bold; font-size: 12pt; font-family: Arial; }
		Kod 10: Ineffektiv deklaration
	- Pseudo är ett annat ord för fiktiv.
 
	- Pseudo-klasser används för att skapa grupp(er) av liknande stilar.
 
	- Man tilldelar en eller flera HTML-koder pseudo-klassers egenskaper.
 
	- Man kan säga att man hittar på ett nytt eget HTML-element som då blir 
	möjligt att stilbelägga i CSS. 
 
	- Det finns två typer av pseudo-klasser:
	
 
	- Namnet CLASS antyder flera förekomster.
 
	- Namnet ID antyder unik förekomst.
 
	- CLASS används för att identifiera flera delar i HTML-dokumentet som rubriker, underrubriker etcetera.
 
	- ID används för att identifiera en unik del i HTML-dokumentet som 
	en rubrik, en navigation, en fot etcetera.
 
	- ID deklareras alltid i CSS med ett inledande # (number sign).
 
	- CLASS deklareras alltid med ett inledande . (punkt).
 
	- CLASS och ID är ett effektivt och vanligt använt sätt att sätta stil på dokument.
 
	- Istället för att upprepande skriva:
 
		...
<STYLE>
			 
			b { color: blue; }
			 
			u { color: blue; }
			 
			i { color: blue; }
			</STYLE>
			...
		Kod 11: Ineffektiv deklaration
			...kan man istället skriva
				
		...
			<STYLE>
  .blue { color: blue }
			</STYLE>
			...
			
			...
			<B class="blue">blå fet text</B>
			...
			<TD class="blue">blå text i tabellcell</TD>
 
		Kod 12: Effektiv deklaration
	- Olika stilar på H1 kan skapas med 
<H1 class="big"> eller <H1 
	class="small"> 
...
	<STYLE>
	H1.big { font-size: 2em; }
	H1.small { font-size: 1em }
	</STYLE>
	</HEAD>
	...
			<H1 class="big">Rubrik med 2em</H1>
			<H1 class="small">Rubrik med 1em</H1>
			...
Följande är inte tillåtet, då 
ID big används två gånger:
...
	<STYLE>
	#big { font-size: 2em; }
	#small { font-size: 1em; }
	</STYLE>
	</HEAD>
	...
			<H1 id="big">Rubrik med 2em</H1>
			<H1 id="big">Rubrik med 2em</H1>
			...
		
		
			- HTML-element ärver egenskaper från andra omfattande taggars stil.
 
			- En tabellcell-tagg ärver t.ex stil från tabellrad-tagg som ärver från tabell-tagg, 
			förutsatt att den kan ärva den egenskapen
 
		- Stilinformation ärvs från ovan satt stil på en HTML-tagg.
 
		<BODY>-taggens stil påverkar alla underliggande HTML-element. 
		<P> ärver t.ex. stil från <BODY>. 
			- En erfaren CSS-kodare vet effekterna av arv och sätter därför 
			lämpliga stildeklarationer högt i nivå så att dessa kan ärvas av 
			andra.
 
		
	
		- Flera stilinformationer påverkar slutliga presentationen. Linked- embedded- inline- och webbläsarens inbyggda CSS.
 
		- Inline-stil vinner över embedded som vinner över linked som vinner över webbläsarens standard 
		(browser default).
 
		- Med CSS-koden 
...!important... kan den generella stilordningen åsidosättas. 
		- Exemplet ger blå text i stycket.
 
	
		<BODY STYLE="color: blue !important">
  ...
  <P STYLE="color: 
		green">text</P>
  ...
		Kod 16: Blå deklaration vinner över grön
		
			- Programmerarens stil vinner över användarens stil som vinner över webbläsarens standardstil.
 
			- Vid konflikt med flera stilar gäller generellt att sista stilen vinner.
 
			- Om stilkonflikt råder mellan CLASS och ID kan man räkna ut vikten enligt följande:
			
a = antal ID-förekomster i selectorn
b = antal CLASS-förekomster i selectorn
			c = antal tags i selectorn
			
			slå ihop talen (ej matematiskt)  a, b och c. 
			
			Högst vikt avgör vem som vinner.
 
			LI           {...}  a=0 b=0 c=1 -> vikt =   
				001
			UL LI        {...}  a=0 b=0 c=2 -> vikt =   
				002
			UL OL LI     {...}  a=0 b=0 c=3 -> vikt =   003
			LI.red              {...}  a=0 b=1 c=1 -> vikt =  
				011
			UL OL LI.red  {...}  a=0 b=1 c=3 -> vikt =  013
			#xyz                  {...}  a=1 b=0 c=0 -> vikt = 100 
	
		- I ovanstående exempel är cascading order som följer:
 
			#xyz                  {...}  a=1 b=0 c=0 -> vikt = 100
			UL OL LI.red  {...}  a=0 b=1 c=3 -> vikt =  013
			LI.red              {...}  a=0 b=1 c=1 -> vikt =  
				011
			UL OL LI     {...}  a=0 b=0 c=3 -> vikt =   003
			UL LI        {...}  a=0 b=0 c=2 -> vikt =   
				002
				LI           {...}  a=0 b=0 c=1 -> vikt =   
				001
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
			- Här finns möjlighet att komplettera informationen, ställa
			frågor eller kommentera detta dokuments målgruppsanpassning eller 
			utformning.
 
		
	
			
					
						                    
						- Publicerad av: 
 
						- Johan Sundström
 
						- Page updated 3/20/2014 11:56:55 AM