Avatar billede sofus.c Nybegynder
08. november 2002 - 11:52 Der er 2 kommentarer og
1 løsning

Positionering af billeder ind i en celle

Jeg har 3 billeder som skal placeres lidt oven på hinanden i en celle.

Jeg har forsøgt med layers men så bliver billederne vist forskelligt fra skærm til skærm.
Jeg har også prøvet at lave en style sheet hvor jeg prøver at sætte relativ Positionering på billederne.
Kan man indsætte værdier for billederne i forhold til cellen men ikke skærmen så at de altid bliver vist på det samme sted i cellen?

Jeg håber at der er nogen som forstår spørgsmålet og kan hjælpe mig ud af den her krise.

<div id="Layer1" style="position:absolute; left:314px; top:392px; width:90px; height:85px; z-index:1"></div>
<div id="Layer2" style="position:absolute; left:400; top:420; width:102px; height:89px; z-index:2"></div>
<div id="Layer3" style="position:absolute; left:350; top:480; width:78px; height:88px; z-index:3"></div>

<table width="100%" border="0" cellspacing="1" cellpadding="1" height="100%">

<td align="center" valign="middle">

<table width="760" border="0" cellspacing="0" cellpadding="0" height="472" align="center">
 
  <tr>
   
    <td align="center" valign="middle" height="472" width="792">
     
      <table width="760" border="1" cellspacing="0" cellpadding="0" height="420" bordercolor="#333366" align="center">
        <tr>
          <td height="49">
            <table width="761" border="0" cellspacing="0" cellpadding="0" height="40">
              <tr>
                <td height="34">
                  <div align="center"></div>
                </td>
              </tr>
            </table>

vh Sofus C
Avatar billede Slettet bruger
08. november 2002 - 16:40 #1
Sættes i body EFTER koden til tabellen:

<script>
function findPosX(obj)
{

    var curleft = 0;
    if (document.getElementById || document.all)
    {
        while (obj.offsetParent)
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if (document.getElementById || document.all)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (document.layers)
        curtop += obj.y;
    return curtop;
}

function obj() {
return (document.getElementById) ? document.getElementById("celle") : document.all.celle;
}

tdl = findPosX(obj());
tdt = findPosY(obj());

document.write('<div id="Layer1" style="position:absolute; left:' + (tdl + 20) + 'px; top:' + (tdt + 20) + 'px; width:90px; height:85px; z-index:1"></div>');
document.write('<div id="Layer2" style="position:absolute; left:' + (tdl + 40) + 'px; top:' + (tdt + 40) + 'px; width:102px; height:89px; z-index:2"></div>');
document.write('<div id="Layer3" style="position:absolute; left:' + (tdl + 60) + 'px; top:' + (tdt + 60) + 'px; width:78px; height:88px; z-index:3"></div>');
</script>

Derudover skal cellen have en id:

<td ... id="celle">

Prøv at arbejde videre med det!
Avatar billede sofus.c Nybegynder
11. november 2002 - 13:04 #2
Hej phoenixv og tak for svar har prøvet at sætte koden ind men jeg kan ikke få den til at virke.
Der måske noget jeg gør forkert har givet cellen et id men skal jeg slette positionen af layers ind i selve tabellen

<div id="Layer1" style="position:absolute; left:314px; top:392px; width:90px; height:85px; z-index:1"></div>
<div id="Layer2" style="position:absolute; left:400; top:420; width:102px; height:89px; z-index:2"></div>
<div id="Layer3" style="position:absolute; left:350; top:480; width:78px; height:88px; z-index:3"></div>

og erstatte med

document.write('<div id="Layer1" style="position:absolute; left:' + (tdl + 20) + 'px; top:' + (tdt + 20) + 'px; width:90px; height:85px; z-index:1"></div>');
document.write('<div id="Layer2" style="position:absolute; left:' + (tdl + 40) + 'px; top:' + (tdt + 40) + 'px; width:102px; height:89px; z-index:2"></div>');
document.write('<div id="Layer3" style="position:absolute; left:' + (tdl + 60) + 'px; top:' + (tdt + 60) + 'px; width:78px; height:88px; z-index:3"></div>');

vh sofus
Avatar billede Slettet bruger
11. november 2002 - 14:39 #3
Du skal slette hele layer-koden og indsætte mit script i stedet!

Sæt det til sidst i dokumentet.
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