/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
CSS, classes og nedarvning
Fra : Peter Brodersen


Dato : 31-10-01 02:04

Hej.

Jeg har et stylesheet i stil med:

<style type="text/css">
a.person:link {
   color: #c03
}
[..]
</style>


Efterfølgende har jeg en kæmpe bunke links i stil med:

<a href="/?id=5" class="person">Hans</a><br>
<a href="/?id=1" class="person">Ib</a><br>
<a href="/?id=7" class="person">Jørgen</a><br>
<a href="/?id=9" class="person">Morten</a><br>
<a href="/?id=2" class="person">Peter</a><br>
[..]

Faktisk har jeg mange af de links umiddelbart efter hinanden. Senere
har jeg så mange links tilhørende en anden klasse (fx class="bog"),
tilsvarende lige efter hinanden.

Endda så mange, at der ligefrem er en relevant besparelse i outputtet
til brugeren på ca. 25% ved at kunne sørge for at class="person",
class="bog" etc. ikke absolut skal optræde i hver eneste linie, men
blot omramme alle links med et passende element. Hvis jeg har forstået
CSS-modellen korrekt, burde følgende:

<div class="person">
<a href="/?id=5">Hans</a><br>
<a href="/?id=1">Ib</a><br>
<a href="/?id=7">Jørgen</a><br>
<a href="/?id=9">Morten</a><br>
<a href="/?id=2">Peter</a><br>
</div>

.... betyde, at a-elementet også er omfattet af klassen (der rigtigtnok
ikke er en generel klasse-regel, men kun definerer noget for
a-elementet). Imidlertid lader det ikke til at virke, hvilket nok
desværre tyder på at jeg ikke har forstået noget :)

Der vil ikke forekomme andet end links i rækkefølge - altså ingen
tekst eller lignende, så i princippet kunne jeg blot "farve" teksten
uden videre. Men jeg er stadigvæk i tvivl om hvorvidt, ovenstående
kunne gøres mere "korrekt". Altså med bagtanken om at omramme en masse
links, og så én gang for alle sætte en klasse, der så var gældende for
alle de links, fremfor absolut at skulle sætte class for hvert enkelt
link.

Bemærk, at jeg altså både har en masse links til én type klasse, og en
masse links til en anden type klasse. Derfor nytter det ikke bare at
sætte en default-linkfarve. Det løser ikke hele problemet.

--
- Peter Brodersen

 
 
Morten Abildgaard (31-10-2001)
Kommentar
Fra : Morten Abildgaard


Dato : 31-10-01 17:17

"Peter Brodersen" <professionel@nerd.dk> skrev:
> Hej.
Hej, jeg klipper lige i din post...
[klip]
> Hvis jeg har forstået CSS-modellen korrekt, burde følgende:
> <div class="person">
> <a href="/?id=5">Hans</a><br>
> <a href="/?id=1">Ib</a><br>
> <a href="/?id=7">Jørgen</a><br>
> <a href="/?id=9">Morten</a><br>
> <a href="/?id=2">Peter</a><br>
> </div>
> ... betyde, at a-elementet også er omfattet af klassen
[klip]

Hvis jeg har forstået dig rigtigt så vil du gerne "i kontakt" med de
ovenstående A-elementer i din <DIV>?
Det gør du med følgende:

div.person a {attribut:værdi;}
div.person a:link {attribut:værdi;}
div.person a:visited {attribut:værdi;}
div.person a:hover {attribut:værdi;}
div.person a:active {attribut:værdi;}

På denne måde skulle dine links i <div>'en gerne have 1 stil, mens
dine andre links (uden "class" eller "id" i tag'en) gerne skulle blive
formateret efter den sædvanlige
a {attribut:værdi;}
a:link {attribut:værdi;}
a:hover {attribut:værdi;}
osv.

Håber det var løsningen på problemet

mvh
morten





Peter Brodersen (31-10-2001)
Kommentar
Fra : Peter Brodersen


Dato : 31-10-01 18:06

On Wed, 31 Oct 2001 17:16:48 +0100, "Morten Abildgaard"
<dont.send@email.no> wrote:

>Hvis jeg har forstået dig rigtigt så vil du gerne "i kontakt" med de
>ovenstående A-elementer i din <DIV>?

Korrekt - og sandelig om ikke en contextual selector var lige præcis
det, jeg havde brug for.

>Det gør du med følgende:
>
>div.person a {attribut:værdi;}
>div.person a:link {attribut:værdi;}

Da jeg andetsteds ikke har teksten i rækkefølge og inde i en div,
udvidede jeg den til:

div.person a:link, a.person:link {attribut:værdi;}

.... og så virker det også i det tilfælde.

>Håber det var løsningen på problemet

Det var det - jeg takker og bukker. Output på en side gik hermed fra
68kbyte til 51kbyte - dvs. omtrent en besparelse på 25%, hvilket da
også er at tage med, når nu det kan gøres uden videre.

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177511
Tips : 31968
Nyheder : 719565
Indlæg : 6408598
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste