Avatar billede Slettet bruger
16. juni 2011 - 01:30 Der er 5 kommentarer og
1 løsning

Diverse størrelser ?

Kan man få browseren til at fortælle hvor store diverse standard-elementer er ?
F.eks. checkboxe, radioknapper og (aktuelt) pilen i højre side af en select.box

Jeg har en "quik-jump" (hop til et andet "view" af data) i form af en select med onchange. Den har jeg lavet helt smal, så man kun ser selve pilen - indtil man aktiverer den.

Men alle browserne har deres egen mening om hvor store sådanne elementer skal være - selv samme browser på forskellige operativsystemer leverer forskellige størrelser...

SÅ, kan man spørge den ?
- Lidt i samme stil som at man kan bruge "systemets" standardfarver:
"HighlightText", "ButtonFace", "ActiveCaption" osv
Avatar billede majbom Novice
16. juni 2011 - 08:35 #1
du vil vide hvor stor knappen i højre side af en combobox er?
Avatar billede Slettet bruger
16. juni 2011 - 10:23 #2
Just præcis : )
- eller høre om nogen kender et JS-trick der kan afsløre det..
Avatar billede majbom Novice
16. juni 2011 - 18:34 #3
det tror jeg ikke kan lade sig gøre - javascript kan ændre størrelsen på hele elementet og så er det op til os/browser at bestemme resten.

comboboxen er det element du kan style mindst og det er mega-træls.
Avatar billede Slettet bruger
16. juni 2011 - 21:54 #4
Efter at have stirret lidt mere på det...
- Jeg tror faktisk der er tale om en slags planck-enhed for browsere : )

Bredden på pil-delen af select'en svarer (såvidt jeg kan se) til bredden af en lodret scrollbar (!)
- og sådan én må man kunne udregne bredden af, ved at bede om scroll-width på et element, med og uden scroll-bar (men samme width).

Øjeblik..
Avatar billede Slettet bruger
16. juni 2011 - 22:38 #5
Øv.. teorien var gal - både i Chrome og Opera er scrollbaren betydeligt smallere end select-pilen:
<html><body>

<div id="med" style="width:100px;height:100px;background-color:blue; overflow-y:scroll;">med</div>
<div id="uden" style="width:100px;height:100px;background-color:red; overflow-y:hidden;">uden</div>

<select id="lille" style="font:10px arial; width:100px"><option>10</select>
<br>
<select id="stor" style="font:40px arial; width:100px"><option>40</select>

<script>
var planck = document.getElementById("uden").scrollWidth - document.getElementById("med").scrollWidth
alert("Plank-bredde: "+planck)

document.getElementById("lille").style.width = planck+"px"
document.getElementById("stor").style.width = planck+"px"
</script></body></html>
: (
Avatar billede Slettet bruger
01. juli 2011 - 13:37 #6
Lukker.

PS:
Erstattede <select> med <div onmouseover=større>Hop til<br>klik her<br>eller her</div>
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