Kantlinjer: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== Kantlinjer, eller <code>border</code> ==
== Kantlinjer, eller <code>border</code> ==
Med hjälp av CSS-egenskaperna som ingår bland <code>border</code>-egenskaperna kan du styra hur en kantlinjen kring en box ska se ut (om du utelämnar <code>border</code>-egenskaprna så blir boxen helt enkelt kantlös). Det finns drygt 30 CSS-egenskaper som hanterar kantlinjer! Anledningen till att de är så många är bl.a. att man kan sätta kantlinje egenskaper på alla fyra kanterna, dvs topp, botten, höger, vänster. Detta gör att det finns flera uppsättningar egenskaper som gör samma sak, bara det att varje egenskap är avsedd för en specifik kant, t.ex. <code>border-top-color</code>, <code>border-bottom-color</code>, <code>border-left-color</code> och <code>border-right-color</code>.
Med hjälp av CSS-egenskaperna som ingår bland <code>border</code>-egenskaperna kan du styra hur kantlinjen runt om box ska se ut (om du utelämnar <code>border</code>-egenskaprna så blir boxen helt enkelt kantlös). Det finns drygt 30 CSS-egenskaper som hanterar kantlinjer! Anledningen till att de är så många är bl.a. att man kan sätta kantlinje-egenskaper på alla fyra kanterna, dvs topp, botten, höger, vänster. Detta gör att det finns flera uppsättningar egenskaper som gör samma sak, bara det att varje egenskap är avsedd för en specifik kant, t.ex. <code>border-top-color</code>, <code>border-bottom-color</code>, <code>border-left-color</code> och <code>border-right-color</code>.
=== Samlingsegenskaper ===
=== Samlingsegenskaper ===
För att kunna skriva kantlinjeegenskaperna på ett mer koncist vis finns det så kallade''[[samlingsegenskaper]]'', där man kan ange flera olika egenskaper med en enda egenskapsangivelse (många andra CSS-egenskaper har liknande samlingsvarianter).
För att kunna skriva kantlinjeegenskaperna på ett mer koncist vis finns det så kallade kort-egenskaper eller ''[[samlingsegenskaper]]'', där man kan ange flera olika egenskaper med en enda egenskapsangivelse (många andra CSS-egenskaper har liknande samlingsvarianter).


Den vanligaste samlingsvarianten för kantlinjer är <code>border</code>. Med denna egenskap kan vi ange bredd, stil och färg i en och samma egenskapsangivelse. I grunden används den så här:
Samlingsvarianten för kantlinjer är <code>border</code>. Med denna egenskap kan vi ange bredd, stil och färg i en och samma egenskapsangivelse. I grunden används den så här:
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border: 4px solid black;
border: 4px solid black;
</syntaxhighlight>
</syntaxhighlight>
Ovanstående skulle skapa en kantlinje som är 4 px bred, heldragen och svart. Vilket ju är mycket kortare och snyggare än att behöva skriva:
Ovanstående skulle skapa en kantlinje som är <code>4 px</code> bred, heldragen och svart. Vilket ju är mycket kortare och snyggare än att behöva skriva:
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border-width: 4px;
border-width: 4px;
Rad 28: Rad 28:
Visar ingen kantlinje alls.
Visar ingen kantlinje alls.
===== hidden =====
===== hidden =====
Liksom i fallet med <code>none</code> kommer igen kantlinje att visas.
Liksom i fallet med <code>none</code> kommer ingen kantlinje att visas.
===== dotted =====
===== dotted =====
Visar kantlinjen som en serie av runda prickar (det kan se lite olika ut i olika webbläsare). Radien på varje punkt kommer att vara hälften av den storlek som den beräknade <code>border-width</code> skulle bli.
Visar kantlinjen som en serie av runda prickar (det kan se lite olika ut i olika webbläsare). Radien på varje punkt kommer att vara hälften av den storlek som den beräknade <code>border-width</code> skulle bli.
Rad 40: Rad 40:
En linje som ser ut som den skulle frästs ur sidan, så att linjen ser ut att ligga "längre in" i sidan.
En linje som ser ut som den skulle frästs ur sidan, så att linjen ser ut att ligga "längre in" i sidan.
===== ridge =====
===== ridge =====
En linje som gör att det ser ut som linjen ligger lite "längre framför" sidan.
En linje som gör att det ser ut som linjen ligger lite "framför" sidan.
===== inset =====
===== inset =====
Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre in".
Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre in".
Rad 46: Rad 46:
Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre ut".
Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre ut".
==== färg ====
==== färg ====
Anger vilken färg som ska användas för att ritua ut kantlinjen. Anges såsom alla webbfärger.
Anger vilken färg som ska användas för att rita ut kantlinjen. Anges såsom alla webbfärger.
=== Rundade hörn, <code>border-radius</code> ===
=== Rundade hörn, <code>border-radius</code> ===
<code>border-radius</code> används för att ange att en kantlinje ska ha rundade hörn. När man sätter rundade hörn, blir även innehållets/utfyllnadens kanter avrundade. Hur denna avrundning går till kan skilja sig mellan olika webbläsare.
<code>border-radius</code> används för att ange att en kantlinje ska ha rundade hörn. När man sätter rundade hörn, blir även innehållets/utfyllnadens kanter avrundade. Hur denna avrundning går till kan skilja sig mellan olika webbläsare.
Rad 52: Rad 52:
<code>border-radius</code> är en samlingsegenskap och det finns även separata CSS-egenskaper som möjliggör att man sätter rundningen för varje hörn var för sig.
<code>border-radius</code> är en samlingsegenskap och det finns även separata CSS-egenskaper som möjliggör att man sätter rundningen för varje hörn var för sig.


När man anger värde för avrundningen, anger man vilken radie som avrundningen ska ha. Det vill säga om man sätter <code>8px</code> som avrundningsvärde, så kommer avrundningen att ha en radie på <code>8px</code>. Man kan även ange x- och y-radie, så att det är möjligt att skapa elliptiska avrundningar. För att åstadkomma detta anger man två radier åskillda med ett <code>/</code>-tecken. Till exempel; <code>8px / 10px</code>, vilket skulle ge en x-radie på <code>8px</code> och en y-radie på <code>10px</code>.
När man anger värde för avrundningen, anger man vilken radie som avrundningen ska ha. Det vill säga om man sätter <code>8px</code> som avrundningsvärde, så kommer avrundningen att ha en radie på <code>8px</code>. Man kan även ange x- och y-radie, så att det är möjligt att skapa elliptiska avrundningar. För att åstadkomma detta anger man två radier åtskilda av ett <code>/</code>-tecken. Till exempel; <code>8px / 10px</code>, vilket skulle ge en x-radie på <code>8px</code> och en y-radie på <code>10px</code>.


Vi ska titta på de vanligaste sätten att ange avrundningen på hörn.
Vi ska titta på de vanligaste sätten att ange avrundningen på hörn.
==== Att sätta alla hörn samtidigt ====
==== Att sätta alla hörn samtidigt ====
Det enklaste sättet att ange hörnens avrundning är att sätt ett och samma värde för alla hörn.
Det enklaste sättet att ange hörnens avrundning är att sätta ett och samma värde för alla hörn.
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border-radius: 1em;
border-radius: 1em;
Rad 62: Rad 62:
Ovanstående skulle skapa en avrundning på boxen som skulle ha en radie på <code>1em</code>.
Ovanstående skulle skapa en avrundning på boxen som skulle ha en radie på <code>1em</code>.
==== Att sätta varje hörn, var för sig ====
==== Att sätta varje hörn, var för sig ====
Följande skulle sätta topphörnens avrundning till <code>1em</code> och bottenhörnen till <code>2em</code>:
Följande skulle sätta det övre, vänstra hörnets avrundning till <code>1em</code>, högra topphörnet till <code>2em</code>, nedre bottenhörnet till <code>3em</code> och nedre vänsterhörnet till <code>4em</code>.
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border-radius: 1em 2em 3em 4em;
border-radius: 1em 2em 3em 4em;

Versionen från 7 december 2014 kl. 00.45

Kantlinjer, eller border

Med hjälp av CSS-egenskaperna som ingår bland border-egenskaperna kan du styra hur kantlinjen runt om box ska se ut (om du utelämnar border-egenskaprna så blir boxen helt enkelt kantlös). Det finns drygt 30 CSS-egenskaper som hanterar kantlinjer! Anledningen till att de är så många är bl.a. att man kan sätta kantlinje-egenskaper på alla fyra kanterna, dvs topp, botten, höger, vänster. Detta gör att det finns flera uppsättningar egenskaper som gör samma sak, bara det att varje egenskap är avsedd för en specifik kant, t.ex. border-top-color, border-bottom-color, border-left-color och border-right-color.

Samlingsegenskaper

För att kunna skriva kantlinjeegenskaperna på ett mer koncist vis finns det så kallade kort-egenskaper eller samlingsegenskaper, där man kan ange flera olika egenskaper med en enda egenskapsangivelse (många andra CSS-egenskaper har liknande samlingsvarianter).

Samlingsvarianten för kantlinjer är border. Med denna egenskap kan vi ange bredd, stil och färg i en och samma egenskapsangivelse. I grunden används den så här:

border: 4px solid black;

Ovanstående skulle skapa en kantlinje som är 4 px bred, heldragen och svart. Vilket ju är mycket kortare och snyggare än att behöva skriva:

border-width: 4px;
border-style: solid;
border-color: black;

Så långt som möjligt kommer vi att använda oss av samlingsegenskaper här på Webbling. Detta då det är det vanligaste sättet att ange egenskaper och det är bra att jobba på ett "riktigt" sätt redan ifrån början.

border-egenskapen

Inparametrarna till border ser ut så här:

border: <bredd> <stil> <färg>

Man kan ange alla tre samtidigt eller om man vill kan man utelämna något eller några av dem.

bredd

Bredden anges i vanliga CSS-enheter. Det är vanligt att använda sig av px här.

stil

Stilen kan anges som något av följande:

none

Visar ingen kantlinje alls.

hidden

Liksom i fallet med none kommer ingen kantlinje att visas.

dotted

Visar kantlinjen som en serie av runda prickar (det kan se lite olika ut i olika webbläsare). Radien på varje punkt kommer att vara hälften av den storlek som den beräknade border-width skulle bli.

dashed

Visar linjen som en serie av korta linjer. Standarden anger inte hur linjerna ska se ut, så det kan definitivt se olika ut i olika webbläsare.

solid

En heldragen, solid linje.

double

Två parallella, heldragna linjer. Sammanlagt fyller de upp den bredd som den beräknade border-width skulle bli.

groove

En linje som ser ut som den skulle frästs ur sidan, så att linjen ser ut att ligga "längre in" i sidan.

ridge

En linje som gör att det ser ut som linjen ligger lite "framför" sidan.

inset

Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre in".

outset

Skapar en "3D-effekt" som gör att det ser ut som innehållet ligger en bit "längre ut".

färg

Anger vilken färg som ska användas för att rita ut kantlinjen. Anges såsom alla webbfärger.

Rundade hörn, border-radius

border-radius används för att ange att en kantlinje ska ha rundade hörn. När man sätter rundade hörn, blir även innehållets/utfyllnadens kanter avrundade. Hur denna avrundning går till kan skilja sig mellan olika webbläsare.

border-radius är en samlingsegenskap och det finns även separata CSS-egenskaper som möjliggör att man sätter rundningen för varje hörn var för sig.

När man anger värde för avrundningen, anger man vilken radie som avrundningen ska ha. Det vill säga om man sätter 8px som avrundningsvärde, så kommer avrundningen att ha en radie på 8px. Man kan även ange x- och y-radie, så att det är möjligt att skapa elliptiska avrundningar. För att åstadkomma detta anger man två radier åtskilda av ett /-tecken. Till exempel; 8px / 10px, vilket skulle ge en x-radie på 8px och en y-radie på 10px.

Vi ska titta på de vanligaste sätten att ange avrundningen på hörn.

Att sätta alla hörn samtidigt

Det enklaste sättet att ange hörnens avrundning är att sätta ett och samma värde för alla hörn.

border-radius: 1em;

Ovanstående skulle skapa en avrundning på boxen som skulle ha en radie på 1em.

Att sätta varje hörn, var för sig

Följande skulle sätta det övre, vänstra hörnets avrundning till 1em, högra topphörnet till 2em, nedre bottenhörnet till 3em och nedre vänsterhörnet till 4em.

border-radius: 1em 2em 3em 4em;

Nästa aktivitet: Layout