Avatar billede ulrik-nielsen Nybegynder
11. januar 2008 - 13:07 Der er 7 kommentarer og
1 løsning

vertikal = bottom, horisontal = center af img i div, hvordan??

Jeg har et div med en fast størrelse, hvori jeg ønsker et img placeret.
Jeg ønsker at img skal vertikalt justeres til bottom og horisontalt centreres.
Dimensionerne på img er mindre end størrelsen på div, men kan variere på et lukket interval.
Løsningen skulle gerne virke på diverse browsers, IE5+, firefox osv.

Jeg hat halvt løst problemet i IE7 og firefox via css hacks jeg fandt på google.
Der er dog problemer med img som blok element der tvinger en newline, og derved forhindre img ligger sig helt i bunden af div.
Dette kan løses vha. float:left, men så mister jeg jo min centrering.
I IE5 er img ikke centreret.

Problemet kan ses på:
http://www.student.dtu.dk/~s052972/eksperten/div_img.html
Øverste box viser den newline under img jeg ikke ønsker.
Nederste box er med float:left hvor der ikke er nogen newline, men hvor min centrering altså er ødelagt.

Min nuværende kildekode er som følger:
<div style="background-color:blue;display: table;width:400px; height: 400px;  #position: relative; overflow: hidden;">
  <div style=" #position: absolute; #top: 100%;display: table-cell; vertical-align: bottom;">
    <div style=" #position: relative; #top: -100%;text-align:center;">
      <div style="margin:0 auto;min-width:1px;">
        <img style="" src="TestAlbum.jpg" alt="Testgfx" />
      </div>
    </div>
  </div>
</div>
Avatar billede w13 Novice
11. januar 2008 - 19:20 #1
Kan dette ikke gøre det?:

<div style="text-align:center">
  <img style="position:absolute;bottom:0" src="TestAlbum.jpg" alt="Testgfx" />
</div>
Avatar billede ulrik-nielsen Nybegynder
15. januar 2008 - 14:36 #2
ikke hvis jeg har width:400px; height: 400px; på div. ==> position:absolute; har ref. til body, og ligger herved ikke i boksen.
Avatar billede roenving Novice
17. januar 2008 - 01:14 #3
Hvad laver nummer-tegnene ?-)

    <div style=" position: relative; top: -100%;text-align:center;">
      <div style="margin:0 auto;min-width:1px;position:relative;">
        <img style="position:absolute;top:50%;left:50%;width:400px;height:400px;margin:-200px 0 0 -200px;" src="TestAlbum.jpg" alt="Testgfx" />
      </div>
    </div>
Avatar billede ulrik-nielsen Nybegynder
07. april 2008 - 16:32 #4
Ooops.. Jeg troede jeg fik mails når der kom nye indlæg... sry

roenving:
Nummer-tegnene er en hack der gør at siden også vises korrekt i ændre versioner af IE. Elementer med # ignoreres af fx Firefox, men fortolkes af ældre versioner af IE (der ikke overholder CSS standarden).

Dit forslag giver desværre ikke den ønskede effekt. Billedets dimmensioner bliver sat til 400x400, hvilket ikke er ønsket. Dimmensionerne på billedet kan variere, da det skal bruges i forbindelse med et album, og kan derfor ikke sættes fast.
Avatar billede roenving Novice
07. april 2008 - 16:43 #5
Hvad så med at sætte det som baggrundsbillede i diven ?-)

<div style="background:url(TestAlbum.jpg) center bottom blue;width:400px; height: 400px; position: relative; overflow: hidden;">
Avatar billede ulrik-nielsen Nybegynder
07. april 2008 - 20:50 #6
Perfekt! Super ide - det virker på alle browsers! =)
Mange tak - smid et svar.
Avatar billede roenving Novice
08. april 2008 - 16:53 #7
Velbekomme '-)
Avatar billede roenving Novice
10. april 2008 - 02:40 #8
-- og tak for point ;~}
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