Kantlinjer: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Ingen redigeringssammanfattning
 
(32 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== Kantlinjer, eller <code>[[border]]</code> ==
== Kantlinjer, eller <code>[[border]]</code> ==
Med hjälp av <code>[[border]]</code>-egenskaperna kan du styra hur kantlinjen runt om en box ska se ut (om du utelämnar <code>[[border]]</code>-egenskaperna så blir boxen helt enkelt kantlös). Det finns ett tjog 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 och 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 <code>[[border]]</code>-egenskaperna kan du styra hur kantlinjen kring en box ska se ut (om du utelämnar <code>[[border]]</code>-egenskaperna så blir boxen helt enkelt kantlös). Det finns ett tjog 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 och 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>.


<div class="well well-meadow">
<div class="well well-meadow">
<code>outline</code>-egenskapen tar samma parametrar som <code>border</code>, så det mesta i denna sektion gäller för båda egenskaperna.
<code>outline</code>-egenskapen använder mestadels samma parametrar som <code>border</code>, så det mesta i denna sektion gäller för båda egenskaperna.
</div>
</div>


Rad 13: Rad 13:
border: 4px solid black;
border: 4px solid black;
</syntaxhighlight>
</syntaxhighlight>
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:
Ovanstående skulle skapa en kantlinje som är <code>4 px</code> bred, heldragen och svart. Vilket är mycket kortare och snyggare än att behöva skriva:
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border-width: 4px;
border-width: 4px;
Rad 19: Rad 19:
border-color: black;
border-color: black;
</syntaxhighlight>
</syntaxhighlight>
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.
I exemplen på Webbling används samlingsegenskaper så ofta som möjligt. Detta då det är det vanligaste sättet att ange CSS-egenskaper. Det är bra att jobba på ett "riktigt" sätt redan ifrån början.
 
== <code>[[border]]</code>-egenskapen ==
== <code>[[border]]</code>-egenskapen ==
Inparametrarna till <code>[[border]]</code> ser ut så här:
Inparametrarna till <code>[[border]]</code> ser ut så här:
<syntaxhighlight lang="css">
<syntaxhighlight lang="css">
border: <bredd> <stil> <färg>
border: <stil> <bredd> <färg>
</syntaxhighlight>
</syntaxhighlight>
Man kan ange alla tre samtidigt eller om man vill kan man utelämna något eller några av dem. Lägg dock märke till att om man utelämnar ett värde, sätts det till dess defaultvärde.
Man kan ange alla tre samtidigt eller om man vill kan man utelämna någon eller några av dem. Lägg dock märke till att om man utelämnar ett värde, sätts det till dess defaultvärde.
=== bredd ===
=== stil ===
Bredden anges i vanliga [[Måttenheter_i_CSS|CSS-måttenheter]]. Dock så fungerar inte <code>%</code> med kantlinjer.
Med stilen anger man grunden för hur kantlinjen ska se ut. Här är några exempel på hur kantlinjer kan sättas.
<codepen pen="rorOyq" tab="css,result" height="500">
</codepen>


Det är vanligt att använda sig av <code>px</code> här, då man oftast vill ha tunna linjer.
Stilen kan anges med något av följande värden:
==== none ====
Visar ingen kantlinje alls. Detta är default-värdet. Om man vill ha en kantlinje, måste man alltså sätta linjetypen till något annat än default-värdet.


=== stil ===
Stilen kan anges som något av följande:
==== none ====
Visar ingen kantlinje alls.
==== hidden ====
==== hidden ====
Liksom i fallet med <code>none</code> kommer ingen kantlinje att visas.
Liksom i fallet med <code>none</code> kommer ingen kantlinje att visas.
Rad 53: Rad 54:
==== outset ====
==== outset ====
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".
=== bredd ===
Bredden anges i vanliga [[Måttenheter_i_CSS|CSS-måttenheter]]. Dock så fungerar inte <code>%</code> med kantlinjer.
Det är vanligt att använda sig av <code>px</code> här, då man oftast vill ha tunna linjer.
Här är några exempel på hur man kan sätta bredd på kantlinjer.
<codepen pen="gZjPOG" tab="css,result" height="350">
</codepen>
=== färg ===
=== färg ===
Anger vilken färg som ska användas för att rita ut kantlinjen. Anges såsom alla [[färg|webbfärger]].
Anger vilken färg som ska användas för att rita ut kantlinjen. Anges såsom alla [[färg|webbfärger]].
Här är några exempel på hur man kan sätta olika färger på kantlinjer.
<codepen pen="WLKQWJ" tab="css,result" height="300">
</codepen>
== 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.


<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. Det finns även separata CSS-egenskaper som möjliggör att man sätter rundningen för varje hörn var för sig, men det är oftast bättre att använda samlingsegenskapen.
 
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ätta 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">
 
border-radius: 1em;
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>1em</code> som avrundningsvärde, så kommer avrundningen att ha en radie på <code>1em</code>. Så här skulle det se ut:
</syntaxhighlight>
<codepen pen="MZBKYR" tab="css,result" height="250">
Ovanstående skulle skapa en avrundning boxen som skulle ha en radie på <code>1em</code>.
</codepen>
 
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>4em / 2em</code>, vilket skulle ge en x-radie <code>4em</code> och en y-radie på <code>2em</code>.
<codepen pen="YdjwNQ" tab="css,result" height="250">
</codepen>
 
=== 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 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>.
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">
<codepen pen="VqBevP" tab="css,result" height="250">
border-radius: 1em 2em 3em 4em;
</codepen>
</syntaxhighlight>


== Nästa aktivitet ==
== Nästa aktivitet ==

Nuvarande version från 31 oktober 2020 kl. 15.13

Kantlinjer, eller border

Med hjälp av border-egenskaperna kan du styra hur kantlinjen kring en box ska se ut (om du utelämnar border-egenskaperna så blir boxen helt enkelt kantlös). Det finns ett tjog 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 och 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.

outline-egenskapen använder mestadels samma parametrar som border, så det mesta i denna sektion gäller för båda egenskaperna.

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).

Samlingsegenskapen 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 är mycket kortare och snyggare än att behöva skriva:

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

I exemplen på Webbling används samlingsegenskaper så ofta som möjligt. Detta då det är det vanligaste sättet att ange CSS-egenskaper. 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: <stil> <bredd> <färg>

Man kan ange alla tre samtidigt eller om man vill kan man utelämna någon eller några av dem. Lägg dock märke till att om man utelämnar ett värde, sätts det till dess defaultvärde.

stil

Med stilen anger man grunden för hur kantlinjen ska se ut. Här är några exempel på hur kantlinjer kan sättas.

See the Pen rorOyq by Patrik Grip-Jansson (@PGJ) on CodePen.

Stilen kan anges med något av följande värden:

none

Visar ingen kantlinje alls. Detta är default-värdet. Om man vill ha en kantlinje, måste man alltså sätta linjetypen till något annat än default-värdet.

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".

bredd

Bredden anges i vanliga CSS-måttenheter. Dock så fungerar inte % med kantlinjer.

Det är vanligt att använda sig av px här, då man oftast vill ha tunna linjer.

Här är några exempel på hur man kan sätta bredd på kantlinjer.

See the Pen gZjPOG by Patrik Grip-Jansson (@PGJ) on CodePen.

färg

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

Här är några exempel på hur man kan sätta olika färger på kantlinjer.

See the Pen WLKQWJ by Patrik Grip-Jansson (@PGJ) on CodePen.

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. Det finns även separata CSS-egenskaper som möjliggör att man sätter rundningen för varje hörn var för sig, men det är oftast bättre att använda samlingsegenskapen.

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.

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 1em som avrundningsvärde, så kommer avrundningen att ha en radie på 1em. Så här skulle det se ut:

See the Pen MZBKYR by Patrik Grip-Jansson (@PGJ) on CodePen.

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; 4em / 2em, vilket skulle ge en x-radie på 4em och en y-radie på 2em.

See the Pen YdjwNQ by Patrik Grip-Jansson (@PGJ) on CodePen.

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.

See the Pen VqBevP by Patrik Grip-Jansson (@PGJ) on CodePen.

Nästa aktivitet

Layout