Jag skulle vilja slippa skriva ut färgen för alla borders på en sida. Kan man istället skriva detta "generellt" i CSS-koden?
Alltså typ som
p { margin:5px }
HTML & CSSur HTML, XHTML & CSS
6 svar · 347 visningar · startad av learn
Jag skulle vilja slippa skriva ut färgen för alla borders på en sida. Kan man istället skriva detta "generellt" i CSS-koden?
Alltså typ som
p { margin:5px }
givetvis, silly me... :)
'border-color' ärvs från 'color' om man inte anger det specifikt. Så om du alltid vill ha samma som färgen på texten behöver du inte ange 'border-color'.
zcorpan, det där förstod jag inte! Om jag anger skriver * {color: red;} så påverkas väl inte border-color?
Troxy skrev:
zcorpan, det där förstod jag inte! Om jag anger skriver * {color: red;} så påverkas väl inte border-color?
Jo, det gör det. Den ärvs. Testa att skapa ett element med en border utan att ange border-color, så får du se vilken färg den får.
'border-color' ärvs inte egentligen, jag borde ha använt ett annat ord där. Om en egenskap ärvs använder får den samma värde som det beräknade värdet på samma egenskap för dess förälder; som om man har angett värdet 'inherit'. Det händer inte med 'border-color' (men däremot 'color').
Det beräknade värdet för 'border-color' är samma som värdet för 'color' på samma element om man inte har angett 'border-color'.
Eftersom 'color' ärvs, och 'border-color' använder samma värde som 'color' (om man inte anger det specifikt) räcker det med att ange 'color' på rotelementet för att det ska påverka 'border-color' i resten av dokumentet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>border-color</title>
<style type="text/css">
html { color:lime; } /* ärvs */
body { border-color:red; } /* ärvs inte */
p { border-style:solid; }
</style>
</head>
<body>
<p>This line should have a green border.</p>
</body>
</html>