Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[CSS] Rozciąganie i przesuwanie elementów strony pod wpływem zawartości

Ostatnio zmodyfikowano 2014-04-26 20:54
Autor Wiadomość
MrPoxipol
» 2014-04-25 23:54:12
Tak, ale trzeba jeszcze zrobić jakąś sztuczkę, do której wymyślenia nie mam dziś głowy ;) Zawsze możesz ustawić wysokość używając JavaScriptu (przy czym dobrze wykorzystane CSSowe calc() też się może przydać ;p).
P-108700
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-04-26 18:31:13
Nie mam pomysłu na użycie calc(). Udałoby mi się to zrobić w javascripcie, ale gdy próbuję wpłynąć na wygląd menu nic się nie dzieje:
<div id= "x">
           <div id = "menu">
           menu
           </div>
          
           <div id = "pg">
                Lorem ipsum dolor sit amet, consectetur adipiscing elit.
           </div>

           <script type="text/javascript">
              document.getElementsById("menu").setAttribute("color","red");
           </script>
      </div>

Jakby to zaczęło działać problem będzie rozwiązany:
document.getElementsById("menu").setAttribute("height", document.getElementById("pg").offsetHeight);
P-108757
xevuel
» 2014-04-26 18:39:56
Jakby to zaczęło działać problem będzie rozwiązany:
document.getElementsById("menu").setAttribute("height", document.getElementById("pg").offsetHeight);
Literówka getElementsById.
P-108758
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-04-26 18:53:44
Dalej nie działa, zauważyłem, że setAttribute jest napisane innym kolorem, jakby edytor nie rozpoznawał funkcji.
document.getElementById("menu").setAttribute("color","red");

Próbowłem też
document.getElementById("menu").color = "red";
color jest rozpoznane, ale na strone nic się nie zmienia  :/
P-108761
xevuel
» 2014-04-26 19:07:48
To że edytor nie rozpoznaje funkcji to nie znaczy że przeglądarka nie rozpozna. Skoro na stronie nic się nie zmienia, to sprawdź konsolę błędów - być może np. wywołujesz to przed onload.

PS. nie
.color
 tylko
.style.color
. setAttribute też złe - ustawiasz atrybut color, a powinienes style.
P-108762
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-04-26 19:27:17
PS. nie .color tylko .style.color
Działa pięknie!
document.getElementById("menu").style.height = document.getElementById("pg").offsetHeight;

setAttribute też złe - ustawiasz atrybut color, a powinienes style.
Czyli jak powinno być?
P-108764
xevuel
» 2014-04-26 19:31:17
setAttribute("style", "color: red;")
. Ale przy takim użyciu to nadpisze wszystkie pozostałe style tego elementu.
P-108766
czosnek17
Temat założony przez niniejszego użytkownika
» 2014-04-26 19:54:36
Dziwna sprawa, na mojej nie testowej stronie
document.getElementById("menu").style.height = document.getElementById("cont").offsetHeight;
nie działa, więc użyłem
document.getElementById("menu").setAttribute("style", "height:"+document.getElementById("cont").offsetHeight+"px;");
(cont == pg w poprzednich przykładach)
a style się nie resetują :P Dzięki za pomoc.
P-108769
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona