---
title: "height:expression"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/125449-height-expression"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Web-Tor"
published: "2005-03-31T08:05:56.000Z"
updated: "2005-04-01T07:45:39.000Z"
replies: 16
views: 754
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/125449-height-expression"
---

# height:expression

## #1 — Web-Tor, 2005-03-31T08:05Z

Jag försöker att sätta höjden på ett element genom att använda *expression*.
Det jag vill göra är att tilldela elementet samma höjd som ett annat element + 30px.

```
style="height:expression(document.getElementById('search_2').scrollHeight+30);
```

Problemet är att IE hänger sig så fort jag laddar sidan. Tar jag bort **\+30** så funkar det. :q

Permalänk: https://www.webforum.nu/p/125449

## #2 — martin, 2005-03-31T08:46Z

Funkar det om du lägger till px?

```
style="height:expression((document.getElementById('search_2').scrollHeight+30)+'px');"
```

/ m a r t i n

Permalänk: https://www.webforum.nu/p/1582316

## #3 — Web-Tor, 2005-03-31T10:07Z

Det spelade inte någon roll om jag lade till px.

Detta är smått sjukt! Om jag tar -30 istället så hänger sig inte IE?! Fast resultatet blir ju fel. :(

Permalänk: https://www.webforum.nu/p/1582351

## #4 — martin, 2005-03-31T11:41Z

konstigt. kan det hjälpa med margin-bottom:-30px i stället?
...eller kanske inte förresten. Vad vill du uppnå? Det verkar som du försöker göra skrollhöjden större än den är. Det kan vara det som är problem, för om den puttar ut scrollhöjden så den blir 30px större, försöker expression antagligen göra den 30 px större igen och det blir en oändlig loop av det hela. Kan det vara så?

/ m a r t i n

Permalänk: https://www.webforum.nu/p/1582387

## #5 — Web-Tor, 2005-03-31T12:51Z

> **martin skrev:**
>
> Vad vill du uppnå?

Jag vill helt enkelt kolla höjden på ett element och sedan sätt ett annat element till den höjden (+30px).

Permalänk: https://www.webforum.nu/p/1582428

## #6 — martin, 2005-03-31T12:58Z

OK, då tror jag att ett vanligt javascript blir bättre än en css-expression, eftersom expression körs hela tiden, vilket gör att det loopar oändligt (i det här fallet) verkar det som - och krashar explorer.

/ m a r t i n

Permalänk: https://www.webforum.nu/p/1582431

## #7 — Web-Tor, 2005-03-31T13:04Z

Det märkliga är att kör jag +1 så funkar det...
Om det vore en loop så skulle det ju också hänga sig efter en stund.

Permalänk: https://www.webforum.nu/p/1582435

## #8 — Cheguelin, 2005-03-31T15:49Z

Kör alert(document.getElementById('search_2').scrollHeight). Kanske är det så att den alertar typ "26px" eller något så att du sätter höjden till "26px30". Annars så kan du väl testa document.getElementById('search_2').offsetHeight.

Permalänk: https://www.webforum.nu/p/1582496

## #9 — Web-Tor, 2005-03-31T16:02Z

Den alertar "178" och tar jag -30 så blir den 147 pixlar hög. Tar jag +30 så hänger den sig.
Jag använder liknande expressions på andra ställen och där funkar det att plussa på pixlar. offsetHeight funkar inte eftersom det är just scrollHeight som jag är ute efter.

Permalänk: https://www.webforum.nu/p/1582504

## #10 — Cheguelin, 2005-03-31T16:09Z

alerta document.getElementById('search_2').scrollHeight + 30 och kolla om du får något konstigt svar :-) Det låter ganska konstigt alltså.

Permalänk: https://www.webforum.nu/p/1582507

## #11 — Web-Tor, 2005-03-31T16:13Z

Jag har hinnit hem och lämnat koden på jobbet så jag får återkomma med svar på den frågan imorgon. ;)

Permalänk: https://www.webforum.nu/p/1582510

## #12 — dectgap, 2005-03-31T17:25Z

Om du försöker dig på

```
<div id="search_2">

	<div style="height:expression((document.getElementById('search_2').scrollHeight+30)+'px');">
	</div>

</div>
```

är det, som martin påpekade, ganska naturligt att det blir något galet, eftersom du konstruerar en oändlig loop, där höjden av det inre div-elementet försöker bli minst 30px högre än sin egen höjd.

Om du däremot skriver

```
<div id="search_2">
</div>

<div style="height:expression((document.getElementById('search_2').scrollHeight+30)+'px');">
</div>
```

är det konstigt om det inte fungerar, eftersom elementen är oberoende av varandra. När jag prövar detta själv fungerar det utan problem.

Vilket av sätten använder du dig av?

Permalänk: https://www.webforum.nu/p/1582553

## #13 — Flashes, 2005-03-31T17:38Z

För en som har tittat och tittat, vad är skillnaden på koderna?

Permalänk: https://www.webforum.nu/p/1582558

## #14 — Cheguelin, 2005-03-31T18:02Z

Den yttre divens höjd beror på den inre divens höjd och den inre divens höjd beror på den yttre divens höjd.

a = b + 30
b = a, ger att

a = a + 30
b = b + 30

Eller vad man ska säga :-)

Permalänk: https://www.webforum.nu/p/1582573

## #15 — Flashes, 2005-03-31T19:32Z

Ahhh,
nu såg jag, tack så mycket.

Permalänk: https://www.webforum.nu/p/1582624

## #16 — Web-Tor, 2005-04-01T07:25Z

> **dectgap skrev:**
>
> Vilket av sätten använder du dig av?

Jag använder en variant av det första exemplet. :(
Men varför funkar det om jag kör +1?

Permalänk: https://www.webforum.nu/p/1582757

## #17 — martin, 2005-04-01T07:45Z

> **Web-Tor skrev:**
>
> Men varför funkar det om jag kör +1?

Det kanske hamnar innanför någon marginal eller nåt. Eller så är det då IE gör fel (sånt **kan** hända).

/ m a r t i n

Permalänk: https://www.webforum.nu/p/1582763

---

Tråden på webben: https://www.webforum.nu/amne/html-css/125449-height-expression
