På denna hemsida beskrivs egenskaper för boxar. Alla element i webbsidor befinner sig i "osynliga" boxar som består av tre delar:
Observera att webbsidor med exempel som refereras till från dessa webbsida (genom knapparna för exempel) kan bli ganska komplexa! Det är inte tänkt att de ((X)HTML- och CSS-kod) ska studeras i detalj - den kunskap som behövs beskrivs på denna webbsida eller i exempelsidornas text, inte i exempelsidornas kod! Exempelsidorna används för att visa effekten av de olika egenskaperna i stilmallar.
Egenskaper (en himla massa :-) som behandlas på denna webbsida är:
Observera att värden för dessa egenskaper kan vara negativa, d.v.s. inkräkta på omkringliggande elements boxar.
Egenskaperna för boxar är ganska många (jämfört med andra typer av egenskaper), främst för kantlinjer då dessa kan vara synliga. Många av dessa egenskaper är egentligen "genvägar".
Det går att ange endast en kants värden, och då använder man någon av egenskaperna på formen xxx-top, xxx-right, xxx-bottom eller xxx-left (ersätt xxx med margin, border eller padding).
När man använder "genvägarna" så gäller i många fall att det räcker med att ange ett eller två värden om man vill ha samma värde på alla respektive motstående sidor om element. Principen för genvägarna är att de börjar med den övre sidan och går medsols, d.v.s. i ordningen övre, högra, undre och sist vänstra. Om man inte anger fyra värden i en genväg så påverkas sirorna enligt följande:
Jag tjatar lite om detta då jag fann detta förvirrande till att börja med. :-)
Nedan är ett (mindre bra) exempel som försöker visa på marginal (röd), kantlinje (svart) och utfyllnad (gul) kring ett element (texten "Innehåll").
Till början på sida
Marginaler används som sagt för att avgöra avståndet från elementets kantlinje till andra element. Värde för egenskaperna är måttenheter av något slag, vilka kan vara negativa för att "inkräkta" på kringliggande element.
margin-top: 10px;
margin-top: -5px; /* elementets övre marginal kommer inkräkta på element ovanför
Genvägen margin kan som sagt bestå av 1 till 4 måttenheter. Vilken av elementets marginaler som måttenheterna avser utgår från den övre marginalen (toppen) och sedan medurs (d.v.s. topp, höger, botten resp. vänster). Om måttenhet saknas för en marginal så används värdet från motsvarande sida (topp/botten resp. höger/vänster). Nedan beskrivs vad antalet måttenheter motsvarar.
Nedan visas generella principerna för genvägen margin, följt av exempel på alla fyra marginalegenskaper och hur det skulle kunna uttryckas med genvägen istället.
margin: <margin-top> [<margin-right> [<margin-bottom> [<margin-left>]]];
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
margin: 10px 20px; /* samma över/under resp vänster/höger */
margin-top: 10px;
margin-right: 20px;
margin-bottom: 30px;
margin-left: 20px;
margin: 10px 20px 30px; /* samma vänster/höger men olika över/under */
Till början på sida
Utfyllnaden är som sagt avståndet från elementets visuella del till dess kantlinje. Dessa egenskaper fungerar på samma sätt som marginaler men på insidan av elementets kantlinje.
Till början på sida
Kantlinjer för ett element är den visuella delen av elementets box och är en fyrkantig ram kring elementet, innanför elementets marginaler men utanför elementets utfyllnad.
Egenskaper för kantlinjer som påverkar dess utseende, bl.a. tjocklek, är:
Stilen för kantlinjer kan vara en av nedanstående. Exempel för respektive stil på kantlinje visas som undre kantlinje, d.v.s. efter stilens namn (border-bottom: xxx; - ersätt xxx med stilens namn).
Det finns ett antal genvägar för kantlinjer där värden anges i ordningen tjocklek-stil-färg:
Genvägen border kan alltså inte användas på samma sätt som för marginaler och utfyllnad. Vi kan dock göra följande för att slippa behöva ange 4 värden på kantlinjes tjocklek. Observera dock ordningen - tjockleken anges sist för att den ska fungera (i.a.f. i Firefox 1.5).
border-top: solid; border-left: dashed; border-width: 10px 3px;
Nedan visas exempel på egenskaper och dess värden.
border-top: 2px dashed blue;
border-left: 10px groove red; border-right: 5px ridge red;
Till början på sida
Genom hela CSS livstid så har det alltid funnits "problem", d.v.s. saker visas inte "enligt standard" (olika mellan olika webbläsare) eller med "skumma effekter". I detta avsnitt behandlas en del problem och dess orsak samt eventuella förslag på lösningar. (Se även referenser nedan.)
När två marginaler kommer i kontakt med varandra så blir summan av de två endast den största av dem, något som kallas för kollapsande marginaler. (Detta är inte ett problem i sig utan hur CSS är definierat!)
Till början på sida