Avatar billede anhansen Nybegynder
25. marts 2004 - 10:21 Der er 19 kommentarer og
2 løsninger

Farve på markerede elementer i select box.

Kan man ikke ændre hvilken farve de markerede elementer i dropdown / listboxe (select) har med css?

På forhånd tak for hjælpen..
Avatar billede nute Nybegynder
25. marts 2004 - 10:37 #1
det er nok ikke muligt. select er et system genereret element, og det kan ikke styles særlig meget.

/nute
Avatar billede hermandsen Juniormester
25. marts 2004 - 10:38 #2
Med CSS, ja!!
Med Internet Explorer, nej!!

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
        <title>Dropdown</title>
        <style>
        #listbox option[selected] {
            background-color: #CCF !important;
            color: black !important;
            border: 1px solid black !important;
        }
        #dropdown option:hover {
            background-color: #CCF !important;
            color: black !important;
            border: 1px solid black !important;
        }
        </style>
    </head>
    <body>
        <form>
            <div>
                <select id="listbox" multiple="multiple">
                    <option selected="selected">foo</option>
                    <option>bar</option>
                    <option>exp</option>
                    <option selected="selected">foobar</option>
                </select>
                <br /><br />
                <select id="dropdown">
                    <option selected="selected">foo</option>
                    <option>bar</option>
                    <option>foobar</option>
                </select>
            </div>
        </form>
    </body>
</html>

Du skal vide at der generelt er problemer med at "male" på styresystemets egne form-elementer...
Avatar billede nute Nybegynder
25. marts 2004 - 10:44 #3
hermandsen >> har du testet i IE ?  Desuden så fungerer dette kun på default selected options. ikke de options der bliver selected on the fly

/nute
Avatar billede hermandsen Juniormester
25. marts 2004 - 10:48 #4
>>nute
Som jeg sagde, så virker det ikke i IE!! :)
De selectors der bruges til CSS'en kan IE simpelthen ikke håndtere, så det behøver ikke en gang at blive testet!! :)

1. IE understøtter ikke attribut-selectors: "option[selected]"
2. IE understøtter ikke :hover på andet end links: "option:hover"

Det virker dog i Mozilla, bortset fra den valgte option, stadig bliver malet efter OS'ets egenskaber!!

//hermandsen
Avatar billede nute Nybegynder
25. marts 2004 - 10:52 #5
ahh ... jeg læste ikke din anden linie :-}

-- "bortset fra den valgte option, stadig bliver malet efter OS'ets egenskaber" ... nettop ... og mon ikke det er dette anhansen søger ?? ... måske ... måske ikke :o]
/nute
Avatar billede anhansen Nybegynder
25. marts 2004 - 10:57 #6
Det er jo netop det jeg efterspørger... At den default mørkeblå kunne laves så den passede lidt bedre ind i sitets farver.

Men jeres svar kommer ikke bag på mig... Tænkte bare at det nok var hurtigere at spørge her - end at begynde at søge efter det.

Der er jo altid nogle der har prøvet at lave det man gerne selv vil før... ;-)

Men hvis det ikke virker i IE - så tror jeg ikke jeg sætter det på - men nu har jeg da et sted jeg kan gå hen og se syntax for det.. :-)

Men tak for hjælpen... Kan man godt nok ikke lave hover på andet end <A>.. Det er da lidt fjollet.. .hehe..
Avatar billede hermandsen Juniormester
25. marts 2004 - 11:04 #7
>>anhansen
IE kan ikke lave hover på andet end <a>!! ;)

Hvis du vil lære lidt mere om selectors kan jeg anbefale dig at læse min artikel om emnet, den er gratis!! :)

http://www.eksperten.dk/artikler/223

//hermandsen
Avatar billede nute Nybegynder
25. marts 2004 - 11:08 #8
ellers skal du til at lave dine egne selectboxes:

http://www.siteexperts.com/tips/webfx/ts09/page1.asp

/nute
Avatar billede olebole Juniormester
25. marts 2004 - 20:57 #9
<ole>

hermandsen >> Jeg beundrer din udholdenhed, selvom jeg finder den temmelig verdensfjern og en anelse komisk  :)

nute og jeg lever af det her - og den eneste måde at gøre det på er at forholde sig til den verden, vi er en del af.

Du kan sagtens forsøge at åbne en brint-station, men 100 mod 1 på at du vil gå økonomisk på røven. Som verden ser ud i dag, vil det eneste fornuftige være at åbne en benzin-station.
At du uden tvivl vil kunne tjene formuer på at sælge brint til biler om 20 år, er en helt anden historie. Det ville bare være ærgeligt at være død af sult længe inden  :)

/mvh
</bole>
Avatar billede hermandsen Juniormester
25. marts 2004 - 21:30 #10
>>olebole
Det vil jeg vælge at tage som en kompliment!! ;)
Avatar billede olebole Juniormester
25. marts 2004 - 21:47 #11
Okay ... jeg skal sørge for, inskriptionen på din sten bliver:
  "... men desværre kunne han ikke spise mine komplimenter"  ;o)

Jeg finder som sagt din ideologiske udholdenhed eksemplarisk. Men det er ikke kvikt at få andre til at skrive ting på deres sider, IE ikke kan tolke. Du bør i det mindste forklare, at dine forslag er ubrugelige i den virkelige verden - og hvorfor.

At ødelægge websites for brugere, der anvender IE, finder jeg arrogant og helt upassende. Det gør langt de fleste direktører på webbureauer også, da de skal leve af, at brugerne kan bruge det, der bliver produceret.
Derfor bliver man aldrig ansat noget sted med de holdninger - og ens arbejde bliver en ubrugelig pest for brugerne.

Hvis du prøver at læse andet på W3C end deres færdige rekommendationer, vil du opdage, at du er på direkte kollisionskurs med de folk, der udarbejder disse.
Det gentages gang på gang i de tråde og 'mellemregninger', der ender med at munde ud i en færdig rekommendation, at det ikke for kodere gælder om at kode slavisk til standarderne - men at kode til virkeligheden.
Derimod er det magtpåliggende at få 'browserfabrikanterne' til at overholde standarderne så hurtigt, som muligt.

Du påtager dig med andre ord en helt misforstået opgave, du nok burde holde dig fra - i det mindste, når du koder.
Vil du gøre en forskel, burde du skrive 'den ultimative' browser - eller prøve at påvirke de bestående 'fabrikanter'.
Det gavner ikke det mindste, du prøver at overtale andre kodere til at skrive ubrugelige koder. Det kan du kun bruge til personligt showoff - og det er vel ikke det ærinde, du er ude i  :)
/mvh
Avatar billede hermandsen Juniormester
26. marts 2004 - 11:44 #12
>>olebole
Jeg mindes ikke at have sagt at man skal kode slavisk til standarderne, og så ellers være ligeglad med om browser-x eller browser-y kunne se sitet!! Hvis jeg har, så har der sandsynligvis været påmonteret en smily i enden, og tag det derfor nærmere som en sjov bemærkning. ;)

Ja, jeg er tilhænger af at man skal kode efter standarderne, men derfra og så til at ødelægge sitet for IE-brugere... Selvfølgelig går det ikke!! Men, så må du da absolut heller ikke ødelægge sitet for Moz-brugere!!

Jeg kan fortælle dig at mit eksempel er fuldt gyldigt, og både virker i IE, Mozilla og alle de andre, blot uden style på IE'en, hvilket da bare må siges at være surt for brugere af IE!!

Nute's forslag virker ikke i Mozilla, men det handler måske mere om racisme fra din side, end det handler om standarder!? ;)

Når jeg koder kan det ganske udemærket være at jeg smider en ekstra feature i min CSS som IE ikke kan finde ud af, men brugerne kan stadig gøre brug af siden og vil sandsynligvis ikke bemærke noget som helst!! F.eks. kunne en box ligge på det rigtige sted, og så være låst med position: fixed;, men for IE-brugere ville det ikke betyde noget, eftersom boxen stadig ville ligge det rigtige sted, for det er der taget højde for i HTML'en!!

Du skriver at jeg vil gøre en forskel, så burde jeg skrive den ultimative browser, hvilket da er helt unødvendigt!! Der findes allerede perfekte alternativer!! Mozilla (Firefox), Opera og Safari, bare for at nævne nogle af de store...
At påvirke Microsoft til at ændre deres browser, er da absolut en helt umulig opgave!! Mange sites har lavet underskrift-indsamlinger for at gøre MS opmærksomme på deres IE-problem, der er skrevet adskillige mails og overalt på vores lille jordklode, sidder mange web-udviklere og river sig i håret, fordi MS ikke bare ville starte med at rette en lille ting som deres box-model, hvilket i bund og grund vel bare kræver at to tal skal lægges sammen på den rigtige måde!!
Den er rettet (i version 6) hvis DOCTYPE ligger som det første element i HTML'en, men det nytter bare ikke så meget når nettet er ved at gå over til X(HT)ML, hvilket ikke angiver DOCTYPE som noget af det første!!

Du siger at det ikke gavner at skrive ubrugelige koder... Nej, måske ikke nu, men da browser-krigen var godt i gang, var det jo netop hvad der blev gjort!!
Det virkede den gang, hvorfor skulle det så ikke virke i dag??

[ADVARSEL!! Din browser er meget gammel, og du bør få en ny, hvis du vil gøre fuld brug af Internettet i dens bedste form! Alternativer: Mozilla Firefox, Opera og Safari.]

Du siger at du selv er i branchen, men så må du da også kunne huske dagene hvor man lavede et site som stort set kun bestod af JavaScripts, for at det virkede nogenlunde i én version af Netscape og én version af IE... Brugte brugeren en tidligere version, så sagde man bare "Her kommer du sgu ikke ind, for du er håbløst bagud!!"

Alt i alt må min konklusion blive at man bør kode efter standarderne og så ALLE kan se sitet, og så evt. sætte ekstra features på til brugere som har mulighed for at se dem... Er disse features direkte ødelæggende for nogle brugere, så må man holde sig fra dem!!

//hermandsen
Avatar billede hermandsen Juniormester
26. marts 2004 - 11:48 #13
Vil lige give en ekstra kommentar til:
Jeg kan fortælle dig at mit eksempel er fuldt gyldigt, og både virker i IE, Mozilla og alle de andre, blot uden style på IE'en, hvilket da bare må siges at være surt for brugere af IE!!

Nute's forslag virker ikke i Mozilla, men det handler måske mere om racisme fra din side, end det handler om standarder!? ;)


Nute's forslag benytter sig af JavaScripts, hvilket må siges at være snyd, eftersom vi befinder os i CSS-kategori'en!! ;)
Avatar billede nute Nybegynder
26. marts 2004 - 13:13 #14
hermandsen >> jeg foreslo et godt alternativ hvis det var påkrævet at skifte selected farve ud. hvis ikke en motorcykel kan fragte 5 mennesker, så er alternativet at bruge bil ;o] (( når nu olebole har startet med bil-analogier :o] ))

Det kan godt være at dét jeg henviste til, ikke  fungerer i Moz, men princippet fungerer vel så godt i Moz som i IE og "alle" andre browsere. ;o]

/nute
Avatar billede anhansen Nybegynder
26. marts 2004 - 14:59 #15
Nu skal det jo ikke udmønte sig i en religionskrig det her... ;-)
Vi kan vel alle blive enige om at man kan lave ting i explorer som ikke overholder standarder - og som hvis vist i mozilla / opera e.lign vil ligne en bunke tekst smidt i en blender og mixet til en side.
Men det er vel ikke browserens skyld - det er ikke den der er dårlig hvis den ikke kan vise din side. Så må det da være programmørens opgave at få det til at virke.

Langt de fleste styles virker også i IE. Og langt de fleste brugere (har før efterlyst statistik omkring dette) bruger IE.

Det korte af det lange er: Hvis man er ude i erhvervslivet gælder alt om at tjene penge - læs opnå overskud ikke underskud.
Og hvis resourcerne for at gøre at et site kan køre på "alle" nye versioner af browsere overstiger værdien af at alle kan se sitet - og ingen får en dårlig opfattelse af virksomhedens image - så bør man (efter min mening) ikke bruge flere dage på at sætte sig ned og rette alle sider til.

Skal man derefter lave et nyt site- og kender man bare lidt til standarderne, kræver det ikke det helt vilde at leve op til dem så begge lejre kan se siden i fornuftig stand.

Men som virksomhed vil jeg føle at det er at skyde over mål at bruge ekstra resourcer på at finpudse et site til at være kanon lækkert i en browser som under 2% af dem som gæster min side bruger. Men på en side som f.eks userfriendly.org ville jeg gøre det, da tallene for mozilla formentlig er lidt højere der. :-)

Men på nogle af vores sites viser statistikken at der faktisk er flere "robotter" end der er mozilla browsere. :-(

Det jeg vil sige er at man skal gøre op med sig selv om det kan betale sig / om hvilken værdi det har.
At nogle altid vil foretrække noget fremfor noget andet - som andre ikke gider bruge et minut på kan man ikke gøre noget ved. Sådan vil det forhåbentligt altid være. Ellers ender vi hurtigt i et endnu større monopol end vi har nu - og det er vel ikke tilfredsstillende.
Avatar billede hermandsen Juniormester
26. marts 2004 - 19:18 #16
>>anhansen
Selvfølgelig er målet for en virksomhed da at tjene penge (uanset hvor umoralsk og uetisk det så kan gøres), men som du selv siger, så tager det så absolut ikke lang tid at lave et site der virker i alle browsere, hvis man kender noget til standarderne!! På den anden side kan man sige at hvis firmaerne overholder standarderne, så laver de samtidig en fremtidssikring, frem for at skulle lave deres site om!! ;)

Problemet er netop at så mange brugere har Internet Explorer (hvilket sikkert ikke er helt frivilligt), så det er brugerne vi skal ud til...

Heldigvis er flere brugere på vej hen til Mozilla, hvilket tydeligt fremgår af statestikkerne!! :)
http://www.w3schools.com/browsers/browsers_stats.asp

Mozilla er på vej frem, og IE på vej tilbage...
Avatar billede olebole Juniormester
26. marts 2004 - 21:04 #17
Men holder man sig til 'fremtidsmusikken', så betyder det, at man stræber mod at adskille data, funktionalitet og visning.
Derfor ville det jo være rigtig smart, om man kunne anvende de af W3C givne standarder og lægge sine data i XML, sin visning i CSS og funktionaliteter i JavaScript (selvom sidstnævnte ikke vedligeholdes af W3C).

I så fald kan vi på stedet skrotte Opera, da den som bekendt halter uhjælpeligt efter på en række punkter. F.eks. kan du ikke hente XML med XMLhttp-requests, som man kan det i IR og Moz (selvom sidstnævnte har en temmelig langsom afvikling af den slags requests).
Nå, pyt ... så kan man vel hente XML'en i en skjult iframe og så skrive XML'en op i 'moderdokumentet'? Nej desværre - for Opera kender ikke til 'readyState' og kan heller ikke fyre en onload-event af på en frame.
Med andre ord: Opera er ikke for seriøse, fremtidsorienterede kodere ... man må desværre holde sig til de gamle teknologier, hvis man vil suppotere denne browser. Dette er ikke et enestående eksempel - der er fejl og mangler i _alle_ de gængse browsere og de udelukker hver især anvendelsen af forskellige standarder.

Dette er ikke sagt for at starte en ny 'religionskrig'. Det er derimod et forsøg på at illustrere at 'religiøs fanatisme' _altid_ gør blind og _aldrig_ giver et nuanceret syn på omverdenen.
Når folk her på E spørger om denne eller hin funktionalitet, kan du være 100% forvisset om, at det, de mener er, at 90% af deres brugere skal kunne se, det de har siddet og slidt med - ikke at et par fringy procent har glæde af det  :)

Denne bemærkning fatter jeg simpelt hen ikke en stråhat af. Hvordan det lykkes dig at få koblet begrebet 'racisme' med det, vi debaterer forstår jeg ikke helt - smilies eller ej:
"Nute's forslag virker ikke i Mozilla, men det handler måske mere om racisme fra din side, end det handler om standarder!? ;)"

Og denne her finder jeg også lettere bizar:
"Nute's forslag benytter sig af JavaScripts, hvilket må siges at være snyd, eftersom vi befinder os i CSS-kategori'en!! ;)"
Det kan godt være, du mener, at Eksperten skal være et konkurrence-site ... de fleste af os andre er her for hjælpe. Så er det bedøvende ligegyldigt, om en JS-løsning bliver angivet i CSS-, PHP- eller for den sags skyld Photoshop-kategorien.
Det afgørende er, om man mener, svaret løser spørgerens problem på en ordentlig måde.

Til slut vil jeg blot anføre, at jeg tidligere har gået under navnet "The Netscape Warrior" - netop fordi, jeg er yderst X-browser/X-platforms orienteret.
Jeg har været bl.a. været ansat som Interface Developer på et førende webbureau, hvor projektlederen og den Creative Director hos vores mest pretigefyldte kunde var Mac/NS4-folk ... samtidig med vores produkter skulle være _absolut_ cutting-edge (og da også hjemtog adskillige Cannes-Løver).

Det er altså absolut ikke fordi, jeg ligger i seng med MS, eller ikke interesserer mig for andet end IE. Jeg anser det tværtimod for min fornemste opgave at kende de forskellige browsere ned i allermindste lillebitte detalje - og være i stand til at handle på denne viden.
Det er jeg desværre ikke istand til at leve helt og fuldt op til, men jeg gør, hvad der overhovedet er muligt - og det er min erfaring, at det ikke giver et snævrere udsyn, at have de mål  :)

Livet er for kort til religiøs - og anden form for - fanatisme  ;o)
/mvh
Avatar billede anhansen Nybegynder
02. april 2004 - 11:47 #18
Bare smid nogle svar alle sammen. Alt herinde er vel mere eller mindre rigtigt.. :-)

I får lige et par dages frist.. Ellers får hermand det hele..

Tak for hjælpen
Avatar billede nute Nybegynder
02. april 2004 - 11:50 #19
nuvel ...
Avatar billede anhansen Nybegynder
21. april 2004 - 08:17 #20
Tak for hjælpen... og diskussionen.. ;-)
Avatar billede nute Nybegynder
21. april 2004 - 09:30 #21
selv tak :)
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