czemu mieszasz 3 języki naraz? A w drugim podanym fragmencie nawet 4? Czemu mieszasz język PHP, który działa po stronie serwera i kod JavaScript, który odpala się po stronie przeglądarki? Wiesz, że to nie prawa ci zadziałać?
Generalnie:
strony trzymane są na serwerach. Przeglądarka wysyła żądanie HTTP i czeka na odpowiedź serwera. Wtedy jest odpalany na serwerze kod PHP, który generuje odpowiedź. Wygenerowana odpowiedź (czyli kod HTML) leci do przeglądarki. Dalej przeglądarka odpala skrypty z pliku HTML, oraz dociąga pozostałe dołączane skrypty/style, mogą lecieć kolejne zapytania do serwera.
Teraz się zastanów i pomyśl to co napisałeś w drugim snippecie z kodem
$dupa = "<script>document.write(document.body.scrollHeight - 150)</script>";
......
Nie ma żadnego sensu. Możesz to zrobic na masę różnych sposobów, ale to nie jest jeden z nich. Przypuszczalnie mógłbyś do tego co chcesz zrobić użyć biblioteki jQuery i napisać w JavaScript coś w tym stylu:
$(function () {
$("#tu-wpisz-id-elementu").css("height", (document.body.scrollHeight - 150) + "px");
});
(powinno działać, ale nie sprawdzałem - natomiast jak chcesz się bawić w strony to sobie powinieneś doczytać już...).
poza tym style CSS trzyma się w osobnych plikach z rozszerzeniem .css, ewentualnie między tagami <style>....</style> w HTML, a nie (poza wyjątkowymi sytuacjami) wsadza je hurtem w diva jak napisałeś:
<div style="position:absolute;background:#CCCCCC;width:100px;height: