Rammodell: CSS kant
- Föregående sida CSS-inre marginal
- Nästa sida CSS-utkanter
Elementets kant (border) är en eller flera linjer som omger elementets innehåll och inrymdning.
CSS border-attributet tillåter dig att specificera stilen, bredden och färgen på elementets kant.
CSS-kant
I HTML använder vi tabeller för att skapa kant runt text, men genom att använda CSS-kantattribut kan vi skapa utmärkta kanteffekter och tillämpa dem på alla element.
Elementets kant (border) är en eller flera linjer som omger elementets innehåll och inrymdning. Elements kant är en eller flera linjer som omger elementets innehåll och inrymdning.
Varje kant har tre aspekter: bredd, stil och färg. I den här delen kommer vi att i detalj förklara dessa tre aspekter.
Kant och bakgrund
CSS-specifikationen anger att kant dras ovanför elementets bakgrund. Detta är viktigt eftersom vissa kanter är 'avbrutna' (t.ex. punktlinje eller linje kant), och elementets bakgrund bör visas mellan de synliga delarna av kanten.
CSS2 anger att bakgrund endast sträcker sig till inrymdningen, inte till kanten. Senare korrigerades detta i CSS2.1: elementets bakgrund är bakgrunden för innehållet, inrymdningen och kantområdet. De flesta webbläsare följer CSS2.1-definitionen, men vissa äldre webbläsare kan ha olika beteende.
Kantstil
Stil är den viktigaste aspekten av kant, inte bara för att stil kontrollerar visningen av kanten (naturligtvis, stil kontrollerar visningen av kanten), utan också för att utan stil kommer det inte att finnas någon kant.
CSS border-style-attributDefinierade 10 olika icke inherit-stilar, inklusive none.
Till exempel kan du definiera kantstilen för en bild som outset, så att den ser ut som en 'uttågande knapp':
a:link img {border-style: outset;}
Definiera flera stilar
Du kan definiera flera stilar för en kant, till exempel:
p.aside {border-style: solid dotted dashed double;}
Regeln ovan definierar fyra kantstilar för stycken med klassen 'aside': en solid överkant, en punktlinje höger kant, en linje under kant och en dubbel linje vänster kant.
Vi har sett här att värdena följer i ordningen top-right-bottom-left, och denna ordning har också diskuterats när flera värden används för att ställa in olika inrymdningar.
Definiera ensidig stil
Om du vill ställa in stilar för en sida av elementrutan, snarare än för alla fyra sidor, kan du använda följande ensidiga kantstilsattribut:
Därför är dessa två metoder ekvivalenta:
p {border-style: solid solid solid none;} p {border-style: solid; border-left-style: none;}
Observera:Om du vill använda det andra sättet måste du placera den enskilda egenskapen efter den korta egenskapen. Eftersom om du lägger till den enskilda egenskapen innan border-style, kommer värdet för den korta egenskapen att överskriva det enskilda värdet none.
Kantens bredd
Du kan använda border-width-attributetSpecificera kantens bredd.
Det finns två sätt att specificera kantens bredd: du kan specificera en längd, till exempel 2px eller 0.1em; eller använda en av de tre nyckelorden, de är thin, medium (standardvärde) och thick.
Anmärkning:CSS definierar inte specifika bredder för de tre nyckelorden, så en användaragent kan sätta thin, medium och thick till 5px, 3px och 2px, medan en annan användaragent sätter dem till 3px, 2px och 1px.
Så kan vi ställa in kantens bredd på detta sätt:
p {border-style: solid; border-width: 5px;}
eller:
p {border-style: solid; border-width: thick;}
Definiera enskild bredd
Du kan ställa in kantens alla sidor i ordningen top-right-bottom-left:
p {border-style: solid; border-width: 15px 5px 15px 5px;}
Ovanstående exempel kan också skrivas kortare (denna skrivstil kallasVärdekopiering):
p {border-style: solid; border-width: 15px 5px;}
Du kan också använda följande egenskaper för att separat ställa in bredden av kantens alla sidor:
Därför är följande regler ekvivalenta med de ovanstående exemplen:
p { border-style: solid; border-top-width: 15px; border-right-width: 5px; border-bottom-width: 15px; border-left-width: 5px; }
Ingen kant
I de tidigare exemplen har du sett att om du vill visa någon form av kant, måste du sätta kantstilen, till exempel solid eller outset.
Så vad händer om du sätter border-style till none?
p {border-style: none; border-width: 50px;}
Trots att kantens bredd är 50px, är kantstilen satt till none. I detta fall försvinner inte bara kantstilen, utan också bredden sätts till 0. Varför försvinner kantlinjen?
Detta beror på att om kantstilen är none, vilket innebär att kanten inte finns alls, kan kanten inte ha någon bredd, så kantbredden sätts automatiskt till 0, oavsett vad du definierade tidigare.
Det är mycket viktigt att komma ihåg detta. I själva verket är att glömma att deklarera kantstilen en vanlig misstag. Enligt följande regler kommer alla h1-element att ha ingen kant, och inte minst 20 pixlar bred:
h1 {border-width: 20px;}
Eftersom standardvärdet för border-style är none, om ingen stil har deklarerats, är det som att sätta border-style: none.Därför måste du deklarera en kantstil om du vill att kanten ska synas.
Kantfärg
Att ställa in kantfärg är mycket enkelt. CSS använder en enkel border-color-attribut,detta kan ta emot högst 4 färgvärden.
Man kan använda alla typer av färgvärden, till exempel kan det vara namngivna färger, hexadecimala och RGB-värden:
p { border-style: solid; border-color: blue rgb(25%,35%,45%) #909090 red; }
Om färgvärdet är mindre än 4 tecken, börjar värdekopieringen att gälla. Till exempel deklareras regeln nedan för att segmentets övre och nedre kanter är blå, och vänstra och högra kanter är röda:
p { border-style: solid; border-color: blue red; }
Anmärkning:Standardfärgen för kant är elementets egen förgrundsfärg. Om ingen färg har deklarerats för kanten, kommer den att vara densamma som elementets textfärg. Å andra sidan, om elementet inte har någon text, antas det vara en tabell som endast innehåller bilder, då är tabellens kantfärg den textfärg som föräldrelementet har (eftersom color kan ärva). Detta föräldrelement är troligen body, div eller en annan tabell.
Definiera ensidig färg
Det finns också ensidiga kantfärgattribut. Deras princip är densamma som för ensidiga stilar och breddattribut:
För att specificera en enkel svart kant för h1-elementet och en enkel röd kant för höger kant, kan du specificera det så här:
h1 { border-style: solid; border-color: black; border-right-color: red; }
Transparent kant
Vi har precis talat om att om kanten inte har ett stil, har den ingen bredd. Men i vissa fall kanske du vill skapa en osynlig kant.
CSS2 introducerade färgvärdet transparent för kant. Detta värde används för att skapa en osynlig kant med en viss bredd. Se till exempel nedan:
<a href="#">AAA</a> <a href="#">BBB</a> <a href="#">CCC</a>
Vi har definierat följande stil för länkar ovan:
a:link, a:visited { border-style: solid; border-width: 5px; border-color: transparent; } a:hover {border-color: gray;}
På något sätt fungerar transparent som extra inre marginaler; dessutom har det fördelen att det kan göras synligt när du behöver det. Denna transparenta kant är som en inre marginal eftersom elementets bakgrund sträcker sig till kantområdet (om det finns en synlig bakgrund).
Viktigt:Innan IE7 hade IE/WIN ingen stöd för transparent. I tidigare versioner skulle IE sätta kantfärgen baserat på elementets färgvärde.
CSS kantexempel:
- Alla kantegenskaper på samma deklaration
- Detta exempel visar hur man använder förkortningsattribut för att sätta alla fyra kantegenskaper på samma deklaration.
- Ställ in stilen på alla fyra kanter
- Detta exempel visar hur man ställer in stilen på alla fyra kanter.
- Ställ in olika kanter på varje sida
- Detta exempel visar hur man ställer in olika kanter på elementets alla sidor.
- Alla kantbreddsegenskaper på samma deklaration
- Detta exempel visar hur man använder förkortningsattribut för att sätta alla kantbreddsegenskaper på samma deklaration.
- Ställ in färgen på alla fyra kanter
- Detta exempel visar hur man ställer in färgen på alla fyra kanter. Man kan ställa in en till fyra färger.
- Alla nedre kantegenskaper på samma deklaration
- Detta exempel visar hur man använder förkortningsattribut för att sätta alla nedre kantegenskaper på samma deklaration.
- Ställ in färgen på nedre kant
- Detta exempel visar hur man ställer in färgen på nedre kant.
- Ställ in stilen på nedre kant
- Detta exempel visar hur man ställer in stilen på nedre kant.
- Ställ in bredden på nedre kant
- Detta exempel visar hur man ställer in bredden på nedre kant.
- Alla vänstra kantegenskaper på en enda deklaration
- Alla vänstra kantegenskaper på en enda deklaration
- Ställ in färgen på vänster kant
- Detta exempel visar hur man ställer in färgen på vänster kant.
- Ställ in stilen på vänster kant
- Detta exempel visar hur man ställer in stilen på vänster kant.
- Ställ in bredden på vänster kant
- Detta exempel visar hur man ställer in bredden på vänster kant.
- Alla högra kantegenskaper på en enda deklaration
- Detta exempel visar ett förkortningsattribut som används för att sätta alla högra kantegenskaper på en enda deklaration.
- Ställ in färgen på höger kant
- Detta exempel visar hur man ställer in färgen på höger kant.
- Ställ in stilen på höger kant
- Detta exempel visar hur man ställer in stilen på höger kant.
- Ställ in bredden på höger kant
- Detta exempel visar hur man ställer in bredden på höger kant.
- Alla övre kantegenskaper i samma deklaration
- Detta exempel visar hur man använder förkortningsattribut för att sätta alla övre kantegenskaper i samma deklaration.
- Ställ in färgen för övre kanten
- Detta exempel visar hur du ställer in färgen för övre kanten.
- Ställ in stilen för övre kanten
- Detta exempel visar hur du ställer in stilen för övre kanten.
- Ställ in bredden för övre kanten
- Detta exempel visar hur du ställer in bredden för övre kanten.
CSS-kantegenskaper
Egenskap | Beskrivning |
---|---|
border | Kortformad egenskap, använd för att ställa in egenskaperna för alla fyra kanter i ett uttalande. |
border-style | Använd för att ställa in stilen för alla kanter för elementet, eller ställa in stilen för varje kant separat. |
border-width | Kortformad egenskap, använd för att ställa in bredden för alla kanter för elementet, eller ställa in bredden för varje kant separat. |
border-color | Kortformad egenskap, ställ in färgen på den synliga delen av alla kanter för elementet, eller ställ in färg för varje kant separat. |
border-bottom | Kortformad egenskap, använd för att ställa in alla egenskaper för nedre kanten i ett uttalande. |
border-bottom-color | Ställ in färg för elementets nedre kant. |
border-bottom-style | Ställ in stil för elementets nedre kant. |
border-bottom-width | Ställ in bredd för elementets nedre kant. |
border-left | Kortformad egenskap, använd för att ställa in alla egenskaper för vänstra kanten i ett uttalande. |
border-left-color | Ställ in färg för elementets vänstra kant. |
border-left-style | Ställ in stil för elementets vänstra kant. |
border-left-width | Ställ in bredd för elementets vänstra kant. |
border-right | Kortformad egenskap, använd för att ställa in alla egenskaper för högra kanten i ett uttalande. |
border-right-color | Ställ in färg för elementets högra kant. |
border-right-style | Ställ in stil för elementets högra kant. |
border-right-width | Ställ in bredd för elementets högra kant. |
border-top | Kortformad egenskap, använd för att ställa in alla egenskaper för övre kanten i ett uttalande. |
border-top-color | Ställ in färg för elementets övre kant. |
border-top-style | Ställ in stil för elementets övre kant. |
border-top-width | Ställ in bredd på elementets övre kant. |
- Föregående sida CSS-inre marginal
- Nästa sida CSS-utkanter