Avatar billede jr_no1 Nybegynder
09. januar 2006 - 14:07 Der er 8 kommentarer og
1 løsning

<li> list-style-image problemer

Hej Eksperter

Jeg sidder med et lille stylesheet problem

Jeg arbejde med 2 typer lister:
1)    en liste med default prik og normal tekst
2)    en liste med tekst som link, og med farvet prik

Dette kan gøres nemt ved at kalde en class i stylesheetet, hvor list-style-image: mypic.gif; figurerer.

Men jeg vil gerne undgå at kalde denne class, og i stedet bare lave et <li> tag og et <a> tag også skulle det spille helt af sig selv.

Se mit eksempel her: http://www.mydesk.dk/test/test.htm

Normal list er sort, med default prik, den opfører sig som den skal.

I de to næste eksempler har jeg leget lidt med rækkefølgen af tag’ene. Den første opfører sig rigtigt hvad angår prikken – den er den farve den skal være, men teksten forbliver sort, og ikke den farve som jeg har angivet under a:link i mit CSS. Nr 2 opfører sig rigtigt hvad angår tekst – men her løber jeg ind i problemer med billedet. På nogen maskiner løber jeg ind i at teksten hopper og prikken vises som sort(default) et kort øjeblik ved mouseover, før end at den skifter til den rigtige farve.

Mit mål er at prikken opfører sig som punkt to, mens teksten er formateret af det der stå i a:link i mit CSS.

1)    Oplever du eksemplet som det jeg beskriver? (bliver prikken sort ved mouseover på punkt nummer 3?)
2)    Hvad er det der gør, at prikken ikke forbliver grøn, på punkt nummer 3?
3)    Er der en løsning på problemet, eller slipper jeg ikke uden om at kalde en class?

Mine koder er som følger:
CSS
A:link
{
    cursor: pointer; cursor: hand;
    TEXT-DECORATION: none;
        color: #416772;
        list-style-image: url(green_dot.gif);
}
A:active
{
   
    TEXT-DECORATION: none ;
        color: #416772;
        list-style-image: url(green_dot.gif);
}
A:visited
{
   
    TEXT-DECORATION: none ;
        color: #416772;
        list-style-image: url(green_dot.gif);
}
A:hover
{
   
    TEXT-DECORATION: underline ;
        color: #416772;
        list-style-image: url(green_dot.gif);
}


li
{
color: black;
}

HTML
<html>
<head>
<link rel=stylesheet type="text/css" href="style.css">
</head>
<body>
       
<li> Normal list</li>

<a href=http://google.dk><li>’li’ tag inside ‘a’ tag</li></a>

<li><a href=http://google.dk>’a’ tag inside ‘li’ tag</a></li>

</body>

</html>
Avatar billede jokkejensen Novice
09. januar 2006 - 14:14 #1
1,2,3: punkt 2 og 3 er og forbliver grønne her.... (IE only)

Ligner shit i FireFox så formoder ikke det er der du tester..

For at opnår en vis form for browser uafhængighed er det mere korrekt at ligge A'et inde i din LI, et anchor må mig bekendt ikke ligge på et block element..

Endvidere bruger man ikke list-style-image - Men background-image:url(''); i stedet for, så opnår man ensartethed i de forskellige browsere.. ryk derefter teksten væk fra baggrundsbilledet med padding-left:
Avatar billede jr_no1 Nybegynder
09. januar 2006 - 14:41 #2
JokkeJensen>

Min målgruppe har 99,99% IE, så derfor vil jeg ikke bruge tid på at få det til at virke i andre browsere...

A'et inde i LI - Ja det er der jeg vil hen, så der er vi på bølgelængde

Hvad er der galt med list-style-image ? Jeg skal også bruge almindelig links (i en tekst for eksempel, og der skal ikke være en prik). Så derfor vil jeg gerne have den koblet med li-tag'et. Det kan jeg ikke hvis jeg skal bruge Background-image funktionen...
Avatar billede jr_no1 Nybegynder
09. januar 2006 - 14:43 #3
Jokke>

Blinker den grønne prik på det nederste Punkt nu??
Avatar billede jokkejensen Novice
09. januar 2006 - 17:14 #4
narj den blinker ikke.. sorry var lige væk

Man bruger background-image hvis man vli have det til at virke i flere browsere..

kan se du har kigget på det..

prøv at tilføj: padding-left: 20px; list-style-type: none;
Avatar billede jr_no1 Nybegynder
10. januar 2006 - 09:08 #5
>> prøv at tilføj: padding-left: 20px; list-style-type: none;

Jeg går udfra at du vil placere ovenstående i "li {}"...

Det giver ingen mening for mig og mit problem. For jeg skal stadig bruge den default prik, samtidigt med at jeg skal bruge en anden prik, når li og a taget figurere sammen.

Jeg tror desværre ikke at vi kommer længere, for måden at gøre det på er at gøre det som mir første udkast. I følge din beskrivelse virkede det fint på din maskine, og det gør det på langt de fleste maskiner. Men på den maksine som jeg sidder og arbejder på, og den som min kollega arbejder jeg på støder vi ind i førnævnte problemer.

Det virker som om at vores maskiner er uffatteligt langsom til at loade billedet, og den skal gøre det hver gang musen køres over linket.

(sjovt at det kun er vores maksiner har problemet, da de rent faktisk er de hurtigste, rent hardware mæssigt på kontoret).

Jeg vil gerne give dig halvdelen af pointene, fordi du lærte mig noget nyt, men du kan få dem allesammen, såfremt at du kunne have en løsning på det "nye problem"..
Avatar billede jr_no1 Nybegynder
10. januar 2006 - 12:13 #6
Det virker iøvrigt 100% efter hensigten, når jeg kører det offline - dvs lokalt på min pc!
Avatar billede jokkejensen Novice
10. januar 2006 - 16:01 #7
Narj jeg har behøver ikke points...

Men du opnår aldrig en sikker browser uafhængighed med mangelfuld markup og fejlfyldt CSS.

Jeg vil anbefale dig at læse lidt om html 4.01, bruge en korrekt dokument type, end quircs mode, så vil du lige pludselig ikke gå efter at ramme IE - Men ramme "alle" de gængse - med undtagelse af IEMac osv..

Det er utroligt meget lettere at skrive html, hvis du bruger en dokumenttype, de forskellige browsere reagere ens i forhold til uden.

http://www.w3schools.com/xhtml/xhtml_dtd.asp

Start eksempelvis der..
Avatar billede jr_no1 Nybegynder
10. januar 2006 - 16:12 #8
Hmmm
Avatar billede jr_no1 Nybegynder
04. december 2007 - 15:38 #9
Ingen grund til at denne står åben mere :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester