Avatar billede Slettet bruger
18. juli 2004 - 21:02 Der er 6 kommentarer og
1 løsning

Height="100%" med <div class="shadeHolder">

Hey

Jeg bruger nederstående kode til skygger. Men det giver mig et problem med at lave height="100%".
Laver jeg en enkelt tabel med height="100%" er der ingen problem, men er der flere tabeller går det helt galt.

Hvad skal ændres ?? - Eller hvordan skal jeg lave height="100%" i nederste tabel ??

(Der var ingen problemer før jeg begyndte at bruge "skygge-kodningen"!)


<html>
<head>
    <title> TITLE </title>
   
<style type="text/css">
.shadeHolder {
    position: relative;
}
.shadeTBL {
    position: relative;
    left: 0px;
    top: 0px;
    z-index: 5;
    background-color: #ffffff;
}
.shader {
    position: absolute;
    background-color: #000080;
}
</style>
<script type="text/JavaScript">
var startOpacity = 25; // Sæt selv start-opaciteten
var d=document;
function gA(o,tN){return o.getElementsByTagName(tN)}
function pI(s){return parseInt(s)}
function doShade(tbl) {
    var w, h, a, offset, opac, cont = (d.all)? tbl.parentElement : tbl.parentNode;
    w=pI(tbl.offsetWidth); h=pI(tbl.offsetHeight);
    a = new Array();
    var steps = (d.all && !window.createPopup)? 1 : 4; // Antal skygge-steps
    for (var i=1; i<steps+1; i++) {
        offset = i + "px";
        opac = startOpacity / i;
        a[a.length] = '<img class="shader" src="test_img/t.gif" ';
        a[a.length] = 'style="width:'+w+'px;height:'+h+'px;left:'+offset+';top:'+offset+';z-index:'+i+';';
        if (d.all) a[a.length] = 'filter:alpha(opacity='+opac+')">';
        else a[a.length] = '-moz-opacity:'+(opac/100)+'">';
    }
    cont.innerHTML += a.join("");
}

function initShadeTBLs() {
    if (d.layers) return;
    var aTbl = gA(d,"TABLE");
    for (var i=0; i<aTbl.length; i++) {
        if ( aTbl[i].className=="shadeTBL" ) doShade( aTbl[i] );
    }
}
window.onload = initShadeTBLs;
</script>
</head>
<body>

<div class="shadeHolder">
    <table class="shadeTBL" cellspacing="0" cellpadding="0" border="3">
    <tr>
        <td>Lorem ipsum dolor sit amet, consectetur<br>
            adipisicing elit, sed do eiusmod tempor incididunt<br>
            ut labore et dolore magna aliqua.</td>
    </tr>
    </table>
</div>
</body>
</html>
Avatar billede roenving Novice
18. juli 2004 - 21:39 #1
Hvaffen tabel ?-)
Avatar billede Slettet bruger
18. juli 2004 - 21:50 #2
Jeg bruger alm. tabeller i opbygninge og så med <div class="shadeHolder"> udenom. - Den viste kode er jo bare så vi ved hvad vi snakker om! :-)

Fx har jeg en alm. tabel i venstre side, med diverse tabeller inden i. Så plejer jeg at give hoved-tabellen + den nederste af de indeholdte tabeller height="100%". Men efter jeg nu bruger class="shadeTBL" i tabellerne, ja så går det galt ?!
- Jeg har aldrig brugt <div> el.lign før, så jeg er lidt på herrens mark ;-) Men fjerner jeg class="shadeTBL" fra tabellen, er der ingen problemer med height="100%" !!
Avatar billede roenving Novice
18. juli 2004 - 21:54 #3
Der findes slet ikke et height-attribut til et table-element !-)

Men jeg ved godt at nogle browsere reagerer på dem ...

Hvordan går det galt ?-)
Avatar billede Slettet bruger
18. juli 2004 - 21:59 #4
Ved height="100%" fortsætter tabellen ned gennem hele siden - selvom den burde stoppes af hoved-tabellen. Fjerner jeg class="shadeTBL" fra tabellen stopper den som den skal - ved "100%" ! (Ved width="100%" er der ingen problemer!)
Avatar billede roenving Novice
18. juli 2004 - 22:04 #5
Da height kun er lovlig som style-property på et table-element kan jeg forestille mig, at browseren pludselig opdager det, når den får sådan en fætter udenom ...

For som style-property er en %-angivelse afhængig af det nærmest omgivende (positionerede ?-) objekts definerede højde, så hvis der ikke eksisterer en sådan defineret højde, bruger den den højde som body har !-)
Avatar billede Slettet bruger
18. juli 2004 - 22:18 #6
Der eksistere en defineret højde ! Nemlig på den yderst hoved-tabel som indeholder alt andet, og den er uden noget class="shadeTBL" - bare ganske alm.

Kan man ikke ændre noget i head koden så ?? - Så den kan "fatte" det!
Avatar billede Slettet bruger
19. juli 2004 - 13:19 #7
Lukker....
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
Kurser inden for grundlæggende programmering

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