CSS height problem

poruka: 5
|
čitano: 2.024
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
CSS height problem
pitanje

Želio bih postaviti visinu elementa pomoću CSS-a na način da mi visna elementa bude jednaka visini ekrana minus vertikalna pozicija (top) elementa, npr, ako je element udaljen 300px od vrha, a kod prikaza stranica je visoka npr. 700px da visina bude 400px, ali je ne želim hardkodirati jer netko drugi će imati drugu visinu stranice. Postoji li neki elegantni način da to postavim?

Moj PC  
0 0 hvala 0
16 godina
moderator
offline
RE: CSS height problem
prihvaćeno rješenje

Javascriptom - onload izračunati poziciju elementa na stranici, oduzeti od ukupne visine i aplicirati kao visinu na element.

Za poziciju elementa i ukupnu visinu ima dosta primjera po netu, guglaj za funkciju ili koristi neki gotov library :-)


Domagoj
16 godina
neaktivan
offline
RE: CSS height problem

<!-- Ubaci ovaj kod u head dio stranice -->

<script type="text/javascript">

    window.onload = function () {

        // promjeni id na ID elementa kojeg želiš povećat/smanjit.

        var e = document.getElementById('id');

 

        var page = document.body.clientHeight;
        var elem = e.offsetHeight;

 

        e.style.height = page - elem;  

    }

</script>

16 godina
moderator
offline
RE: CSS height problem
Jazzfan kaže...


        var elem = e.offsetHeight;

 

Pretpostavljam da si mislio na offsetTop, jer mu treba pozicija, a ne visina elementa, a on daje vrijednost u odnosu na svoj parent element, a ne na samu stranicu. Ako hoćeš samu stranicu, treba ti funkcija za računanje pozicije.

function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
    do { curleft += obj.offsetLeft;
          curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    return [curleft,curtop];
}

(Preuzeto s ove stranice.)

Dakle, tvoj primjer bi radio ako promjeniš problematičan red u ovo (i dodaš ovu funkciju):

var elem = findPos(e)[1];
Pišem napamet, nisam testirao, ako sam nešto previdio, javite... :-)

Domagoj
16 godina
neaktivan
offline
RE: CSS height problem

Da, krivo sam skužio šta se traži..... sry

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice