Avatar billede tipsen Nybegynder
27. juli 2003 - 12:37 Der er 25 kommentarer

Placering af grafikstump

Jeg har følgende kodestump:

<a href="..."><img src="..."></a>

Som jeg gerne vil placere nederst til højre i browservinduet uafhængigt af alt andet indhold på websiden!

Dvs. grafikstumpen skal placere sig i nederste højre hjørne i browseren og det skal være uanset om den resterende del af websiden fylder hele siden eller ej og uanset om brugeren scroller længere ned på siden - grafikstumpen skal stå statisk i nederste højre hjørne!

Derudover skal det være en standardløsning der ikke blot fungerer i IE, men så vidt muligt også i Mozilla, Netscape, Opera osv.

Håber det kan lade sig gøre i CSS!

Mvh

tipsen
Avatar billede tipsen Nybegynder
27. juli 2003 - 12:39 #1
Hvis grafikken overlapper noget af det andet indhold på websiden, må den helst placere sig nedenunder og ikke ovenover!
Avatar billede ahv Nybegynder
27. juli 2003 - 12:39 #2
Mon dette kan løse det?

<style type="text/css">
<!--
body {
background: url(bg.jpg) right bottom no-repeat fixed;
}
-->
</style>
Avatar billede tipsen Nybegynder
27. juli 2003 - 12:55 #3
ahv: Det er den løsning jeg selv har nu, problemet er bare, at så er det ikke klikbart (mangler link)!

Det skal bruges til at reklamere lidt for "mig" på en webside jeg har programmeret for nogle andre - en lille diskret reklame nede i hjørnet!
Avatar billede ahv Nybegynder
27. juli 2003 - 13:05 #4
I see, den bliver ikke nem.
Avatar billede tipsen Nybegynder
27. juli 2003 - 13:14 #5
I know :-)

Ved ikke om det overhovedet kan løses, men hvis ikke får jeg sikkert også de næstbedste løsninger i dette spørgsmål - og så må det jo være fint!
Avatar billede mik789 Nybegynder
27. juli 2003 - 14:49 #6
hvis elementet skal stå fikseret i forhold til browservinduet (og ikke i forhold til siden) er det position: fixed, du skal have fat i. "fixed" vil sige at elementet bliver fastlåst i forhold til browservinduet uanset hvordan du scroller, dvs. elementet står stille mens alt andet scroller. men for at placere det i vinduets bottom/right hjørne er du nødt til at vide hvor stort brugerens vindue er i situationen. dertil skal du bruge værdierne "innerWidth" og "innerHeight" for Netscape, men "clientWidth" og "clientHeight" for IE. De to sæt mål, måler desværre ikke helt det samme. Du kan se en oversigt på en side, jeg har lavet: www.dahr.dk/Web/vinduesdimensioner.html Som du kan se forudsætter clientHeight også at du i forvejen har givet dit dokument en højde er udnytter hele vinduet og ikke bare strækker sig så langt ned som dokumentet nu er. Det kan du gøre med flg. style:

html, body {
  100%
}

Derefter skal selve placeringen af elementet jo bare være vinduets bredde / højde minus dimensionerne af dit element.

Det må da vist nogen lunde være princippet....

//mik
Avatar billede mik789 Nybegynder
27. juli 2003 - 14:51 #7
og til slut selvfølgelig:

#ditElement {
  postition: fixed;
  top: [vindueshøjde minus elementets højde];
  left [vinduesbredde minus elementets bredde];
}
Avatar billede mik789 Nybegynder
27. juli 2003 - 14:53 #8
ups - den sidste går jo ikke, det skal skrives i javascript, men det kan godt lade sig gøre...
Avatar billede mik789 Nybegynder
27. juli 2003 - 14:57 #9
og så jo selvfølgelig:

html, body {
  height: 100%;
}
Avatar billede tipsen Nybegynder
27. juli 2003 - 15:04 #10
Det med at ændre egenskaber for html og body er desværre ikke en mulighed :-/
Avatar billede mik789 Nybegynder
27. juli 2003 - 15:11 #11
jo det er ;-). hvis f.eks. du vil sikre dig højde på dine tabeller gør du det netop sådan. for alt hvad der angives på den vertikale axe skal have en højde at blive angivet i forholdt til. hvis html og body er 100% betyder det at dokumentet fylder hele vinduets højde. derefter kan andre elementer angives i forhold til body og så fremdeles. men derudover er der vist noget rod med det jeg skrev til dig. IE's clientHeight måler jo netop kun dokumentets (og ikke vinduets højde). Skal lige finde ud af hvad det så er for en værdi vi skal have fat i
Avatar billede tipsen Nybegynder
27. juli 2003 - 15:32 #12
Hmmm - det lyder da muligt at det kan løses pænt alligevel...
Avatar billede mik789 Nybegynder
27. juli 2003 - 15:51 #13
jeg har nu rettet i det dokument jeg nævnte før: www.dahr.dk/Web/vinduesdimensioner.html Det viser sig at hvis html og body angives til 100% så måler clientHeight den korrekte VINDUEShøjde fra øverst i dokumentet, men hvis scriptet er placeret nederst viser den højden fra dette punkt, dvs. fra DOKUMENTETS slutpunkt. Så hvis det er vinduets højde vi skal have skal målingen placeres øverst i dokumentet og i en eller anden variabel så vi kan få fat i tallet igen nederst i højre hjørne.
Avatar billede mik789 Nybegynder
27. juli 2003 - 16:13 #14
det enkleste er vel så at undlade at angive top og left for dit element i selve dit stylesheet, men først angive disse i tag'et. I stylesheetet kan du f.eks. have:

#mitLogo {
  postition: fixed;
  width: hvad-det-nu-er;
  height: hvad-det-nu-er;
}

Og så kan du skrive tag'et ud dynamisk med java script:

<script type="text/javascript"><!--
var IE = (document.all)?true:false;
var Gecko = (document.getElementById&&!document.all)?true:false;
if(IE){
document.write('<div id="mitLogo" style="top: '+([indsæt navnet på den variabel der måler højden fra toppen]-[indsæt højden af dit logo])+'; left: '+(document.body.clientWidth-[indsæt bredden af dit logo])+';"><img osv.></div>');
} else if(Gecko){
document.write('<div id="mitLogo" style="top: '+(innerHeight-[indsæt højden af dit logo])+'; left: '+(innerWidth[indsæt bredden af dit logo])+';"><img osv.></div>');
}
//--></script>

Sådan noget i den stil...

//mik
Avatar billede pixeldude Nybegynder
27. juli 2003 - 18:08 #15
Det er slet ikke nødvendigt med java script:

<html>
<head>
    <title>Untitled</title>
</head>
<style type="text/css">
    html, body {
        height: 100%;
        width: 100%;
        border: none;
        margin: 0px;
    }

    #corner_link {
        position: absolute;
        top: 100%;
        left: 100%;
        width: 100px;
        height: 100px;
        border: 1px solid black;
        margin-left: -100px;
        margin-top: -100px;
    }
</style>
<body>
    <div id="corner_link"><a href="..."><img src="..."></a></div>
</body>
</html>

Og husk lige en doctype, det har jeg glemt!!
Avatar billede mik789 Nybegynder
27. juli 2003 - 18:48 #16
pixeldude> ja, du har ret hvis det er meningen at elementet skal være i bottom/right hjørnet af DOKUMENTET, men hvis det skal var af vinduet dur det da ikke. hvis nu dokumentet fylder mere i højden en vinduet, vil ikke kunne se elementet før man har scrollet ned til enden. jeg forstod tipsen på den måde at han ville have det til at være i nederste højre hjørne af VINDUET, også selv om dokumentet fylder mere.

tipsen> hvad mener du så?
Avatar billede tipsen Nybegynder
27. juli 2003 - 18:50 #17
mik789: Din fortolkning er den korrekte!
Avatar billede pixeldude Nybegynder
27. juli 2003 - 19:54 #18
Ok, så er den jo fjong
Avatar billede mik789 Nybegynder
28. juli 2003 - 17:29 #19
jeg har flyttet den side med mål for vinduets dimensioner til:

www.e-tidsskrift.dk/dev/vinduesdimensioner.html

//mik
Avatar billede Slettet bruger
31. juli 2003 - 10:36 #20
Er der nogen der har afprøvet flg.:

(Går ud fra at billedet er 80 x 32 pixels, og at det skal sidde 5px fra kanten i nederste højre hjørne af "VINDUET")

HTML:
<a id="pagemadeby" href="http://blablabl.dk"><img src="..." width="80" height="32" alt="Made by [logo]" title="Web page made by blablabla" border="0" /></a>

CSS:
#pagemadeby {
  display: block;
  width: 80px;
  height: 32px;
  bottom: 5px;
  right: 5px;
}

/CS
Avatar billede Slettet bruger
31. juli 2003 - 10:37 #21
Ups - glemte position" - den er vigtig :-)

CSS:
#pagemadeby {
  display: block;
  position: absolute;
  width: 80px;
  height: 32px;
  bottom: 5px;
  right: 5px;
}

/CS
Avatar billede mik789 Nybegynder
31. juli 2003 - 15:00 #22
greystate> position vil være i forhold til den omgivende box hvad enten det er body (dvs. dokumentet) eller en anden div. det vil ikke være i forhold til vinduet. Vinduet er ikke repræsenteret i css som et element for sig da css jo ikke kan vide hvor stort det er hos brugeren i den aktuelle situation. derfor kræver alt der refererer til vinduet noget serverside script.

sådan må det da vist være rent logisk. eller hvad?
Avatar billede mik789 Nybegynder
31. juli 2003 - 15:01 #23
sludder - clientside script selvfølgelig!
Avatar billede nak-m Nybegynder
04. august 2003 - 18:17 #24
mik789:
dette synes da at virke for mig ligemeget hvor det er placeret:

<style type="text/css">
.pic {
position: absolute;
right: 5px;
bottom: 5px;
width: 100px;
height: 100px;
}
</style>

og

<div class="pic"><a href="#"><img src="pic.jpg" style="width: 100px; height: 100px;" alt="" /></a></div>

i hvert fald ifølge mine tests :)
Avatar billede nak-m Nybegynder
04. august 2003 - 18:22 #25
ups havde ikke læst det med at den skulle være statisk :)
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