Avatar billede mick Nybegynder
12. maj 2006 - 10:18 Der er 17 kommentarer og
1 løsning

Billed i drop down menu

Er det, vha. CSS, muligt at indsætte et billed før teksten i en drop down menu (en HTML <SELECT> tag).

Altså noget i retning af:
<SELECT NAME="menu">
<OPTION VALUE="1">|billed her| Menupunkt1</OPTION>
</SELECT>
Avatar billede plazm Nybegynder
12. maj 2006 - 10:29 #1
nej, det kan kun lade sig at gøre i en hjemmelavet selectboks
Avatar billede olebole Juniormester
12. maj 2006 - 18:12 #2
<ole>

Det passer nu ikke helt  :)
Naturligvis er det forrykt invalid kode at begynde at neste billed-elementer i option-elementer, men der er nu én browser, der er fejlfyldt og lam nok til at godtage den slags ... Mozilla Firefox!
I den - som man jo ofte helt fejlagtig ser udråbt som en noget nær perfekt browser, der overholder gældende standarder - valideres _ingen_ DOM-handlinger ... hvilket gør den til en pine i rygafslutningen, når man skriver lidt mere komplekse applikationer  :o|

Dette - som absolut ikke burde kunne lade sig gøre i _nogen_ browser - fungerer desværre fint i FF:

<select id="gnu">
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
</select>

<script type="text/JavaScript">
var im, opt, sel = document.getElementById("gnu");
im = document.createElement("img");
im.setAttribute("src", "http://www.eksperten.dk/img/elogo.png");
opt = sel.getElementsByTagName("option")[1];
opt.insertBefore(im, opt.firstChild);
im.style.verticalAlign = "middle";
</script>

- og som det fremgår af sidste linje i koden, kan man endda placere billedet 'pænt' med CSS!

Dette er desværre kun én enkelt af FF's utallige. Nu mangler vi bare, man kan være i fred for noobs, der plejer at overfalde én, når man påstår FF er en dårlig browser, som ikke har væsentligt færre fejl end IE ... hvad hype og ammestuehistorier ikke kan gøre  :)

/mvh
</bole>
Avatar billede olebole Juniormester
12. maj 2006 - 18:13 #3
"Dette er desværre kun én enkelt af FF's utallige" -> "Dette er desværre kun én enkelt af FF's utallige fejl"  ;o)
Avatar billede plazm Nybegynder
12. maj 2006 - 18:26 #4
hehe, ja det er en grum fejl i Firefox, men jeg kan nu også finde nogle ting i IE som man ikke burde kunne.
Avatar billede olebole Juniormester
12. maj 2006 - 18:45 #5
Jaja ... det siger jeg skam ikke, man ikke kan - men jeg falder ved Gud heller ikke på maven for FF! Den er smaskfuld af alvorlige fejl!  :o|
Avatar billede jensgram Nybegynder
14. maj 2006 - 14:43 #6
Og man kan skam også bare indsætte et billede direkte som baggrundsbillede i en <option> i FF:

<option value="0" style="background-image: url(t3lib/gfx/selicons/above_center.gif); background-repeat: no-repeat; height: 20px; padding-top: 5px; padding-left: 26px;">Over, center</option>

Taget fra Typo3 side-elementet Billede.

... sikkert samme "hul" som Ole påpeger ;)
Avatar billede olebole Juniormester
14. maj 2006 - 15:14 #7
Njaahhh ... det er nu egentlig helt legalt. CSS opstiller ikke begrænsninger for, hvilke elementer, der kan modtage baggrundsbileder - og det gør (X)HTML heller ikke. Der er i princippet ikke grænser for, hvilke elementer, der kan modtage et baggrundsbillede - sålænge de kan renderes visuelt.

Derimod har (X)HTML helt klare regler for, hvilke elementer et givet element må indeholde. Her er det fuldstændig i skoven, når man kan indlejre en hel tabel i et option-element (eller for den sags skyld i et input-element).

For at understrege, hvor elendig FF og dens DOM-håndtering er, kan vi da også se på dette lille eksempel:

<div>
<input id="inp" type="text">
</div>

<script type="text/JavaScript">
var im, inp = document.getElementById("inp");
im = document.createElement("img");
im.setAttribute("src", "http://www.eksperten.dk/img/elogo.png");
inp.appendChild(im);
alert(inp.parentNode.innerHTML);
alert(im.parentNode.tagName);
</script>

- læg godt mærke til de to alerts!
FF er helt rundt på gulvet og fatter ikke, hvad den selv har foretaget, når innerHTML'en af billedets parent-element skal alert'es.
På den anden side er der ingen tvivl om, hvor billedet er blevet anbragt, når parent-elementets tagName skal alert'es ... eller når man betragter det visuelle resultat af øvelsen.

Men andre ord kan det konkluderes, at FF's DOM-håndtering er komplet autonom og ikke følger nogen somhelst regler.

Ikke fordi et OpenSource-projekt ikke kan styres, men det er helt tydeligt, at der i FF's gruppe sidder en del uvidende jubeltåber!
Det seneste nummer, de har lavet, er at implementere innerHTML-property'en i FF's (såkaldte) XHTML-DOM ... på trods af, innerHTML ikke er del af nogen eksisterende standard og strider diamentralt mod hele DOM-tanken (at alt skal betragtes som noder - og ikke strenge).

Netop den slags tåbeligheder - hvor browserleverandører forsøger at 'please' dårlige kodere og redde deres dårlige arbejde - er hovedårsagen til min afstandtagen fra at skrive XHTML, som WWW ser ud idag. Jo mere fejlfyldt folks kodning bliver, jo mindre stringente plejer browserne historisk set at blive - og vi ender op med browsere fyldt med proprietære properties og metoder.

Rigtig mange tror idag, de skriver XHTML, selvom deres kode ville smadre enhver browser, der forsøger at tolke koden som XHTML. Der skal ikke megen fantasi til at forestille sig, hvordan fremtidens browsere kommer til at se ud, hvis den udvikling fortsætter.
Aldrig har man haft bedre chance for at få indført stringente standarder, der kan overholdes ... aldrig har der været gjort mere for at spilde sådan en chance på gulvet!  :o|

- og kan vi så ikke godt blive fri for kritikløs, lam jubel over FF's fortræffeligheder? Sandheden er, at den ikke er væsentlig bedre end IE ... den væsentligste forskel er, at der ikke står MS i About-dialogen  ;o)
Avatar billede jensgram Nybegynder
14. maj 2006 - 16:21 #8
Ole > Ok, så lærte man noget (og du fik da vist afløb for lidt opsparet galde ;)
Avatar billede olebole Juniormester
14. maj 2006 - 17:27 #9
Jens >> Tak ... og ja, tak for hjælpen med befrielse for opsparet galde. Man kan da osse blive så søvnig af alle de blinde, religiøse lemminger  ;D
Avatar billede roenving Novice
15. maj 2006 - 00:46 #10
*lol*

-- og hvorfor er du så en af dem, der løber forrest ?-)
Avatar billede olebole Juniormester
15. maj 2006 - 01:05 #11
- jamen, Jes ... min er jo den _rigtige_ religion! Som jeg engang hørte Jesper Klein sige: "Nu skal man jo ikke bære ved til det forkerte bål, men ..."  ;D
Avatar billede roenving Novice
15. maj 2006 - 01:09 #12
... men man kan forsøge ?-)
Avatar billede olebole Juniormester
16. maj 2006 - 16:52 #13
- gør mit bedste  :D
Avatar billede mick Nybegynder
21. juli 2006 - 10:00 #14
Tak for hjælpen. Kom med nogen svar så får i poeng.
Avatar billede jensgram Nybegynder
21. juli 2006 - 19:32 #15
Det må vist blive Oles.
Avatar billede mick Nybegynder
22. august 2006 - 18:36 #16
Svar olebole?
Avatar billede olebole Juniormester
23. august 2006 - 11:00 #17
- så gerne  ;o)
Avatar billede olebole Juniormester
23. august 2006 - 12:25 #18
Tak for points  :)
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