Avatar billede jokkejensen Novice
01. april 2008 - 11:39 Der er 11 kommentarer og
1 løsning

offsetHeight og tekstforstørrelse i FF

Hey.

Jeg har en løsning med en css baseret dropdown menu. Jeg ønsker dog kun dropdown funktionalitet hvis hovedmenuen er på 1 linie. Hovedmenuen kan kun på 2 linier hvis bruger har sat tekstforstørrelsen op.

Jeg havde tænkt mig, ved mouseover på #MainMenu at aflæse offsetHeight og udfra denne vide om jeg har 2 linier eller 1 linie, et skøn udfra height.

I IE, opera og safari har jeg ingen problem med at se ændringer i offset height når jeg ændre tekststørrelsen op, så hovedmenuen går på 2 linier. Men jeg kan ikke i FF, hvorfor ?

Løsningen kan ses på http://midttrafik2008.gennemse.danmark - ændre lige danmark til dk. Jeg ønsker ingen indexering af hjemmesiden.

Der er dog en forskel på 2px i min FF, men jeg er lidt i tvivl om det er sikkert at måle på de 2px forskel, jeg havde regnet med at den som minumum blev en linie højere (line-height:2em).

Nogen der har et bud på hvorfor FF kun viser en afvigelse på 2px ?

/JJ
Avatar billede w13 Novice
01. april 2008 - 11:49 #1
Den alert-box, der kommer op, siger "22px" på i IE og FF hos mig.

I øvrigt mener jeg da, at "em" og visse andre måleangivelser tolkes forskelligt i de forskellige browsere, hvorimod "px" altid vises stort set ens.
Avatar billede jokkejensen Novice
01. april 2008 - 11:53 #2
jeg skal bruge en sikker måde hvorpå jeg kan determinere om hovedmenuen går på 2linier.

offsetHeight skal returnere antal px og ikke andet, den virker på alle elementer. Men hvorfor den ikke forøges noget lignende 100% når den går på 2 i FF fatter jeg ikke. Jeg har ikke brug for de er ens, da forskellige browsere gerne må opfatter mine em's som de har lyst, jeg har bare brug for en if(#MainMenu.offsetHeight > 25) men skal have begrundet hvorfor FF ikke forøger offsetHeight der bliver større vha tekstforstørrelse (ctrl+mouse scroll-up.)

/JJ
Avatar billede jokkejensen Novice
01. april 2008 - 11:54 #3
...men skal have begrundet hvorfor FF ikke forøger offsetHeight på elementer der bliver større vha tekstforstørrelse (ctrl+mouse scroll-up.)
Avatar billede olebole Juniormester
01. april 2008 - 16:16 #4
<ole>

Internet Explorer cannot display the webpage

/mvh
</bole>
Avatar billede w13 Novice
01. april 2008 - 16:17 #5
DK i stedet for Danmark, Ole. =)
Avatar billede olebole Juniormester
01. april 2008 - 16:18 #6
Nåphhh ... der skal fedtes med URL'en. Kan folk dog ikke snart bare lægge et link til den side, de vil have hjælp til?
Ingen arme - ingen mad!
Avatar billede jokkejensen Novice
01. april 2008 - 16:44 #7
ja, men jeg frygter bare et google indexeret domæne mere :).

Kunne godt løses med lidt robots regler, men frygter reglen ville komme i produktion (samme server)

Du gider altså godt sidde og debugge andre folks løsninger, men lige at ændre et bogstav i url adressen får bæret til at flyde over?

Men jeg tror også mere det er nogle erfaringer, eller bud på anden løsning jeg er ude efter, den virker ikke sikker.

/JJ
Avatar billede olebole Juniormester
01. april 2008 - 23:58 #8
Hvis det er et problem, at siden bliver indekseret, fortæller du bare søgemaskinen, siden ikke eksisterer. I PHP ville det se sådan ud (du kan nok oversætte til .net):

<?php
if (strpos($_SERVER["HTTP_REFERRER"], "eksperten.dk")===false && $_SERVER["REMOTE_ADDR"]!="DIN_EGEN_IP") {
    // Forespørgslen kommer ikke fra Eksperten - og heller ikke fra mig selv
    header("HTTP/1.1 410 Gone");
}
?>

Anyway, så fylder løftes float'ede og absolut positionerede elementer ud af sidens flow - og fylder derfor ikke noget 'fysisk'. Det kan fikses med et element med 'clear'. Prøv disse to eksempler:

<div onclick="alert(this.offsetHeight)">
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div></div>

<div onclick="alert(this.offsetHeight)">
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="width:100px;border:1px solid red;float:left">Bla<br>bla<br>bla</div>
    <div style="height:1px;overflow:hidden;clear:both">&nbsp;</div></div>

- og det er FF, der opfører sig korrekt her  =)
Avatar billede olebole Juniormester
01. april 2008 - 23:58 #9
- hmmmm  :)

"Anyway, så løftes float'ede og absolut positionerede elementer ud af sidens flow ..."
Avatar billede jokkejensen Novice
02. april 2008 - 10:23 #10
lige hvad jeg skulle bruge.. mange tak.

/J
Avatar billede jokkejensen Novice
03. april 2008 - 18:41 #11
kyl lige et svar ved lejlighed
Avatar billede jokkejensen Novice
03. februar 2012 - 11:23 #12
lukker, føler nogen sig forulempet, så sig til så får de points, men vil lige have lukket alle mine åbne spm, opretter bare et nyt hvis nogle vil have points, gider ikke til at gennemlæse posten, men gider ikke mere spam fra eksperten.dk, og de tvinger jo en til at lukke spørgsmål der ikke er besvaret - hvorfor de er ubrugelige for andre.
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