Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP]Zastąpienie ramek i stale menu
Forum PHP.pl > Forum > Przedszkole
123tomek
Witam!
Potrzebuje szablonu który nie używa ramek ale pozwoli na to aby zarówno góra strony jak i panele boczne nie uciekały do góry podczas przewijania zawartości strony.
Czyli mniej więcej układ tradycyjny z górnym banerem strony, lewym panelem menu, prawym panelem dodatkowym i w środku zawartość strony ale tak wykonana że przy dużej ilości treści przewijał się tylko środek, natomiast boczne panele i górny baner pozostał na stałe na swoim miejscu.
Najlepiej gdyby to był czysty html, php i css.

Pozdrawiam
pedro84
Gotowiec? Nie to forum.
123tomek
Może źle się wyraziłem. Bardziej niż gotowe rozwiązanie problemu potrzebna mi wskazówka jak taki efekt uzyskać. Gotowy szablon tylko ewentualnie jako przykładowe rozwiązanie.

Trochę testuje positon: fixed; ale rozwala mi się cały układ strony.

Strona ma być wyśrodkowana, o stalej szerokosci i składać się z elementów:
- warper jako głowna "kartka" z margin: 0 auto;
- header, navigation_left i navigation_right, footer - jako elementy z position: fixed czyli te elementy na stale na stronie
- wnetrze tej strony to content ktory ma sie przewijac

Obecnie ma efekt taki ze content przewija mi się ale wchodzi "pod" nagłowek (header) i wychodzi nad nim

Próbowałem dodać dodatkowy element blokowy jako tło dla content który także miałby position: fixed i dopiero w nim umieścić content ale cały układ mi się rozsypuje, content dalej wchodzi pod header i sam nie wiem już co od czego zależy.
cniak
Po 1) PHP nie służy do modyfikacji wygladu strony (nie patrz na edycji css za pomoca php)
Po 2) Jezeli chcesz pomocy to pokaz kod zrodlowy strony
123tomek
Kod css:

  1. body { /*glowne okno przegladarki*/
  2. font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  3. font-size: medium; /*small;*/
  4. background-color: #d2d3d5; /*#71bdef; /*glowny kolor tla - czyli cale okno przegladarki*/
  5. margin: 0px;
  6. padding: 0px;
  7. margin-top: 15px;
  8. text-align: justify;
  9. }
  10.  
  11. #warper { /* RAMKA OTACZAJACA (cos jak cala kartka papieru osadzona w oknie przegladarki) */
  12. width: 785px;
  13. margin: 0 auto;
  14. background-color: #d2d3d5;
  15. border: 0px solid white
  16. }
  17.  
  18. #header {
  19. background: url("images/naglowek.jpg") no-repeat;
  20. background-color: #d2d3d5;
  21. width: 775px;
  22. height: 136px;
  23. border: 0px solid white;
  24. margin: 0 auto;
  25. }
  26.  
  27. .menugora{
  28. text-align:right;
  29. }
  30. .menugora a{
  31. color: #606060;
  32. font-size: 14px;
  33. font-family:Arial;
  34. font-style: italic;
  35. text-decoration:none;
  36. padding-left:34px;
  37. padding-right:18px;
  38. }
  39.  
  40. .menugora a:hover {
  41. color: #ec008c;
  42.  
  43. }
  44.  
  45. #header h1 {
  46. color: #e7e7e9;
  47. font-size: 0px;
  48. font-family: Arial, Helvetica, sans-serif;
  49. margin-left: 75px;
  50. margin-top: 0px;
  51. }
  52.  
  53.  
  54. #content { /* TRESC STRONY */
  55. width: 570px;
  56. background-color: #d2d3d5;
  57. padding-bottom: 0px;
  58. float: left;
  59. }
  60.  
  61. #content p {
  62. padding-left: 20px;
  63. padding-right: 30px;
  64. }
  65.  
  66. #content h2 {
  67. padding-top: 45px;
  68. padding-left: 20px;
  69. font-size: x-large;
  70. font-family: Arial, Helvetica, san-serif;
  71. font-weight: normal;
  72. }
  73.  
  74. #content p:first-letter {
  75. color: #ec008c;
  76. font-family: 'Comic Sans MS', 'Times New Roman', Arial, Veranda, Helvetica;
  77. font-size: 200%;
  78. vertical-align: text-bottom;
  79. }
  80.  
  81. #content h2 {
  82. color: #ec008c;
  83. font-size: x-large;
  84. font-family: Arial, Helvetica, sans-serif;
  85. margin-left: 0px;
  86. margin-top: 0em;
  87. margin: 0;
  88. padding: 0;
  89. }
  90.  
  91. #navigation {
  92. width: 256px
  93. height: 460px;
  94. margin-left: 5px;
  95. background-color: #d2d3d5;
  96. float: left;
  97. font-style: italic;
  98. font-family: Arial, Verdana, Geneva, Helvetica, sans-serif;
  99. font-size: medium;
  100. }
  101.  
  102. #navigation p {
  103. margin-top: 15px;
  104. margin-left: 20px;
  105. font-size: small;
  106. font-weight: bold;
  107. font-style: italic;
  108. font-family: Arial, Helvetica, Sans-serif;
  109. text-align:center;
  110. width: 155px;
  111. padding-top: 5px;
  112. padding-bottom: 5px;
  113. padding-left: 71px;
  114.  
  115. }
  116.  
  117. #navigation ul, #navigation ul li {
  118. display: block;
  119. list-style: none;
  120. margin: 0;
  121. padding: 0;
  122. }
  123.  
  124. #navigation ul li {
  125. width: 200px; /* szerokosc klocka menu*/
  126. height: 38px; /* wysokosc klocka menu*/
  127. padding-left: 10px; /* odleglosc od lewej krawedzi do poczatku klocka menu */
  128. background: url("images/menu_linia.png") no-repeat right top;
  129. }
  130.  
  131. #navigation ul a:link, #navigation ul a:visited {
  132. display: block;
  133. width: 170px;
  134. height: 16px;
  135. text-decoration: none;
  136. text-align:left;
  137. color: #606060;
  138. padding: 3px 22px 7px 10px;
  139. font-weight: bold;
  140. }
  141.  
  142. #navigation ul a:hover {
  143. color: #ec008c ;
  144. }
  145.  
  146. #blockquote { /*"Ramka w ramce"*/
  147. width: 330px;
  148. margin-left: 10px;
  149. margin-right: 20px;
  150. background-color: #55bedf;
  151. font-size: small;
  152. font-family: Verdana, Arial, Helvetica, Sans-serif;
  153. font-weight: bold;
  154. padding-bottom: 20px;
  155. float: right;
  156. margin: 0 auto;
  157. }
  158.  
  159. #footer { /* STOPKA */
  160. width: 775px; /*990px*/
  161. height: 25px;
  162. border: 4px solid #d2d3d5;
  163. margin: 0 auto;
  164. background-image: url(images/dol.png);
  165. text-align: left;
  166. font-size: x-small;
  167. background-color: #d2d3d5;
  168. clear: both;
  169. }
  170.  
  171. #footer span {
  172. font-weight: bold;
  173. color: white;
  174. }
  175.  
  176. #footer a:link, #footer a:visited {
  177.  
  178. margin-left: 15px;
  179. color: #606060;
  180. font-size: 8px;
  181. font-family: Arial, Helvetica, Sans-serif;
  182. font-style: italic;
  183. font-weight: bold;
  184. vertical-align: top;
  185. }
  186.  
  187. #footer a:hover {
  188. color: #ec008c;
  189. font-size: 8px;
  190. font-family: Arial, Helvetica, Sans-serif;
  191. font-weight: bold;
  192. padding-bottom: 20px;
  193. }
  194.  
  195. /* Poczatek tabel */
  196. TABLE {
  197. border: solid 0px black;
  198. border-collapse: separate;
  199. margin: 0 auto;
  200. }
  201.  
  202. THEAD {
  203. background-color:#C0C0C0;
  204. }
  205.  
  206. TBODY {
  207. background-color:#9bcff4;
  208. }
  209.  
  210. TFOOT {
  211. background-color:#FFFFC0;
  212. }
  213.  
  214. TFOOT TD {
  215. font-size:xx-small;
  216. text-align:right;
  217. }
  218.  
  219. TD {
  220. font-style:italic;
  221. text-align:left;
  222. }
  223.  
  224. CAPTION {
  225. font-style:italic;
  226. text-align:center;
  227. }
  228.  
  229. CAPTION SPAN {
  230. font-weight:bold;
  231. }
  232.  
  233. [scope="cena"] {
  234. color:black;
  235. font-style:italic;
  236. font-weight:bold;
  237. text-align:right;
  238. }
  239.  
  240. [scope="row"] {
  241. color:black;
  242. padding: 10px 5px 10px 5px;
  243. text-align:center;
  244. }
  245.  
  246. [scope="col"] {
  247. color:navy;
  248. background-color:#C0C0C0;
  249. padding:5px;
  250. text-align:center;
  251. }
  252. /* Koniec tabel */
  253.  





Część kodu php:

  1.  
  2. <div id="warper"> <!-- warper - stopka (podklad, kartka) -->
  3. <div id="header"><!-- header - naglowek -->
  4. <div class="menugora">
  5. <a alt="firma" href="index.php?id=firma"> o firmie </a>
  6. <a alt="kontakt" href="index.php?id=kontakt"> kontakt </a>
  7. <a alt="dojazd" href="index.php?id=dojazd"> dojazd </a></div>
  8. <div><img src="images/logo0.gif" style="padding-left: 259px; padding-top: 0px;" alt="logo" />
  9. </div>
  10.  
  11. </div> <!-- header - naglowek -->
  12.  
  13. <div id="navigation"> <!-- navigation - sekcjia nawigacyjna (lewa czesc gdzie menu) -->
  14. <ul class="menu">
  15. <li><a href="index.php?id=glowna">Główna</a></li>
  16. <li><a href="index.php?id=firma">O Firmie</a></li>
  17. <li><a href="index.php?id=kontakt">Kontakt</a></li>
  18. <li><a href="index.php?id=dojazd">Dojazd</a></li>
  19. </ul>
  20. <a><img src="images/bannerek_firmy.gif" style="display: block; margin-left: 110px;" alt="banerek" /></a>-->
  21.  
  22. </div> <!-- navigation - sekcjia nawigacyjna (lewa czesc gdzie menu) -->
  23.  
  24. <div id="content"><!-- content - tresc strony -->
  25. <!-- Tutaj jest wstawiana treść z plików zewnętrznych -->
  26. <?php
  27. if(empty($_GET['id']) or $_GET['id']=="glowna"){include("glowna.html");}
  28. if($_GET['id']=="firma"){include("firma.html");}
  29. if($_GET['id']=="kontakt"){include("kontakt.html");}
  30. if($_GET['id']=="dojazd"){include("dojazd.html");}
  31. ?>
  32. </div><!-- content - tresc strony -->
  33.  
  34. <div id="footer"><!-- footer - stopka -->
  35. </div> <!-- footer - stopka -->
  36. </div> <!-- warper - stopka (podklad, kartka) -->
  37.  
  38. <map name="menu" id="menu">
  39. <area alt="firma" shape="rect" coords="454,2,570,28" href="#firma" alt="" />
  40. <area alt="kontakt" shape="rect" coords="625,2,696,28" href="#kontakt" alt="" />
  41. <area alt="dojazd" shape="rect" coords="697,2,764,28" href="#dojazd" alt="" />
  42. </map>
  43. </body>
  44.  



Po dodaniu do #navigation oraz #header position: fixed; cały układ się rozsypuje, content przesuwa się pod menu oraz pod nagłówek.
Próbowałem dodać dodatkowy blok z position: fixed; w którym zawierałaby się treść strony (content) ale dalej treść ucieka pod baner.
Nie bardzo potrafię poukładać bloki tak by menu oraz nagłówek były na stałe na stronie a przewijanie działało tylko na treść (content) ale w taki sposób by nie przewijało się pod nagłówek i nie wychodziło nad nim.
cniak
doctype, head?
123tomek
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  3.  
  4.  
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <title>strona x</title>
  7. <link rel="stylesheet" href="style.css" type="text/css" />
  8. </head>
cniak
Na przyklad:
#content {
position:absolute;
left:100px;
top:100px;
width:100px;
height:100px;
overflow:auto;
}
123tomek
Niestety wciąż nie mogę uzyskać tego o co mi chodzi.

Może łatwiej będzie na żywym przykładzie. Mam taki układ strony http://89.25.186.53/stos/index2.html (zresztą zrobiony wg tego kursu http://www.kurshtml.boo.pl/css/staly_szablon,szablon.html układ trzykolumnowy)
Potrzebuje aby nagłówek szablonu, menu nawigacyjne, dodatkowe informacje i stopka zostały umieszczone na stronie na stałe tak by podczas przewijania zawartości strony przesuwała się tylko sama treść strony. Całość umieszczona jest w kontenerze nadzrędnym o nazwie "top". Strona musi być wyśrodkowana niezależnie od rozdzielczości oraz od wielkości okna (wielkość strony dopasowywana jest do rozdzielczości 1024x768 i większych)

Jak zaczynam się bawić w position: fixed oraz absolute to wychodzą mi same problemy co widać tu http://89.25.186.53/stos/index3.html. Po pierwsze problem z pozycjonowaniem bloku "dodatkowe informacje" w stosunku do konteneru "top" - za chiny nie potrafię uzyskać efektu aby prawy blok był w odległości 800px od początku kontenera top tylko wciąż pozycjonuje mi względem całej strony i w momencie kiedy zmienia się rozdzielczość bądź zmniejszam same okno przeglądarki to ten element mi się źle ustawia (800px względem lewej krawędzi przeglądarki a nie kontenera top.
Pewnie wynika to z prostej przyczyny - position:fixed/absolute wyklucza używanie float: right/left.
Po drugie stopka (która powinna być doklejona do dolnej części menu) i blok z treścią ale póki nie poradzę sobie z prawym blokiem "dodatkowe informacje" to nie mam co kombinować z resztą.

Wrzucam kod który robię od nowa i jest dużo czytelniejszy niż tamten poprzedni:

CSS:
  1. /* CSS Document */
  2.  
  3. html, body {
  4. background-color: #aff; /* ustalannie koloru tla, koloru fontu, usuwanie marginesow dla glownej strony */
  5. color: #000;
  6. margin: 0;
  7. padding: 0;
  8. }
  9.  
  10. #top { /*blok obejmujacy - containing block*/
  11. width: 960px; /*calosc 780px;*/
  12. margin: 0 auto; /*powoduje ze blok glowny strony jest wysrodkowany*/
  13. margin-top: 25px; /*25px odsetpu od gory wyglada lepiej niz 0 :) */
  14. }
  15.  
  16. #NAGLOWEK {
  17. background-color: #888;
  18. }
  19.  
  20. #MENU {
  21. width: 200px; /*150px;*/
  22. float: left;
  23. overflow: hidden; /*w przypadku gdy zawartosc jest zbyt szeroka nastapi obciecie poprzez ukrycie za duzego elementu*/
  24. background-color: #ccc;
  25. }
  26.  
  27. #REKLAMA {
  28. width: 160px;
  29. float: right;
  30. overflow: hidden;
  31. background-color: #ccc;
  32. }
  33.  
  34. #TRESC {
  35. width: 600px; /* zawartosc, tresc 480px; */
  36. float: left;
  37. overflow: hidden;
  38. background-color: #fff;
  39. }
  40.  
  41. #STOPKA {
  42. clear: both; /*powoduje ze stopka nie wskakuje obok menu gdy jest malo tresci*/
  43. width: 100%; /*eliminacja bledu IE6 w pozniejszych zbedne*/
  44. background-color: #888;
  45. }


HTML:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>STOS</title>
  6. <link rel="stylesheet" href="style2.css" type="text/css" />
  7. </head>
  8.  
  9. <body>
  10.  
  11. <div id="top">
  12. <div id="NAGLOWEK">Nagłówek szablonu</div>
  13. <div id="MENU">Menu nawigacyjne</div>
  14. <div id="REKLAMA">Dodatkowe informacje</div>
  15. <div id="TRESC">Treść strony Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent feugiat pretium nibh ac hendrerit. Etiam eleifend ipsum eu velit cursus tincidunt. Aenean metus justo, ullamcorper tempor porta non, consectetur vitae lorem. Aliquam sed est arcu. Fusce vitae sapien facilisis odio varius euismod et ut mi. In vitae nibh at nisi gravida dapibus. Nullam ultricies bibendum dapibus. Proin aliquet nisi id enim iaculis feugiat. Nullam vulputate ligula ac tellus ornare tristique. Maecenas ac turpis nulla. In orci nunc, adipiscing sit amet semper nec, consectetur nec velit. Fusce dictum leo ullamcorper ante ornare iaculis. Curabiuam aliquam velit a tortor dignissim sed dictum nunc ornare. Praesent vehicula, nunc a convallis varius, lorem diam vulputate turpis, vitae placerat nibh diam in urna. Praesent nec justo magna. Sed velit ipsum, scelerisque et posuere tempus, porttitor vitae turpis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin scelerisque gravida felis, et tincidunt quam rutrum sit amet. Nam malesuada consequat sem, ut molestie urna feugiat vel. Maecenas accumsan tincidunt nisl, non fringilla elit malesuada adipiscing. Nulla ac purus ut ligula imperdiet dignissim nec id massa. Aenean imperdiet fringilla vehicula. Sed commodo libero a lectus imperdiet nec fermentum metus fermentum. Ut eu magna in ante euismod accumsan. Integer quis dolor quis libero condimentum tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut facilisis, neque ac venenatis eleifend, orci velit tristique nibh, sit amet pellentesque lectus velit malesuada urna. Nunc lectus neque, placerat id pretium ut, tincidunt at libero. Donec aliquet dapibus ultricies. Praesent sollicitudin mauris et purus elementum placerat. Duis laoreet tortor nec nunc tincidunt volutpat. Nullam scelerisque neque est. Duis dapibus dui at metus iaculis quis elementum lorem accumsan. Etiam quis eros non nunc vehicula fermentum et id tellus. Nulla iaculis mauris varius felis tempor at tincidunt libero adipiscing.
  16. </div>
  17. <div id="STOPKA">Stopka serwisu</div>
  18. </div>
  19.  
  20. </body>
  21. </html>
norbis
Może po prostu zasłoń ten kawałek u góry z drugiego przykładu? Coś w ten deseń:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>STOS</title>
  6. <link rel="stylesheet" href="style2.css" type="text/css" />
  7. </head>
  8.  
  9. <body>
  10. <div id="main">
  11. <div id="top">
  12. <div id="fixer"></div>
  13. <div id="NAGLOWEK">Nagłówek szablonu</div>
  14. <div id="MENU">Menu nawigacyjne</div>
  15. <div id="REKLAMA">Dodatkowe informacje</div>
  16. </div>
  17. <div id="TRESC">Treść strony Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent feugiat pretium nibh ac hendrerit. Etiam eleifend ipsum eu velit cursus tincidunt. Aenean metus justo, ullamcorper tempor porta non, consectetur vitae lorem. Aliquam sed est arcu. Fusce vitae sapien facilisis odio varius euismod et ut mi. In vitae nibh at nisi gravida dapibus. Nullam ultricies bibendum dapibus. Proin aliquet nisi id enim iaculis feugiat. Nullam vulputate ligula ac tellus ornare tristique. Maecenas ac turpis nulla. In orci nunc, adipiscing sit amet semper nec, consectetur nec velit. Fusce dictum leo ullamcorper ante ornare iaculis. Curabiuam aliquam velit a tortor dignissim sed dictum nunc ornare. Praesent vehicula, nunc a convallis varius, lorem diam vulputate turpis, vitae placerat nibh diam in urna. Praesent nec justo magna. Sed velit ipsum, scelerisque et posuere tempus, porttitor vitae turpis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin scelerisque gravida felis, et tincidunt quam rutrum sit amet. Nam malesuada consequat sem, ut molestie urna feugiat vel. Maecenas accumsan tincidunt nisl, non fringilla elit malesuada adipiscing. Nulla ac purus ut ligula imperdiet dignissim nec id massa. Aenean imperdiet fringilla vehicula. Sed commodo libero a lectus imperdiet nec fermentum metus fermentum. Ut eu magna in ante euismod accumsan. Integer quis dolor quis libero condimentum tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut facilisis, neque ac venenatis eleifend, orci velit tristique nibh, sit amet pellentesque lectus velit malesuada urna. Nunc lectus neque, placerat id pretium ut, tincidunt at libero. Donec aliquet dapibus ultricies. Praesent sollicitudin mauris et purus elementum placerat. Duis laoreet tortor nec nunc tincidunt volutpat. Nullam scelerisque neque est. Duis dapibus dui at metus iaculis quis elementum lorem accumsan. Etiam quis eros non nunc vehicula fermentum et id tellus. Nulla iaculis mauris varius felis tempor at tincidunt libero adipiscing. </div>
  18. <div id="STOPKA">Stopka serwisu</div>
  19. </div>
  20.  
  21. </body>
  22. </html>


  1. /* CSS Document */
  2.  
  3. html, body {
  4. background-color: #aff; /* ustalannie koloru tla, koloru fontu, usuwanie marginesow dla glownej strony */
  5. color: #000;
  6. margin: 0;
  7. padding: 0;
  8. }
  9.  
  10. #main {
  11. width: 960px;
  12. margin: 0 auto;
  13. }
  14.  
  15. #fixer {
  16. width: 960px;
  17. height: 25px;
  18. background: #aff;
  19. }
  20.  
  21. #top { /*blok obejmujacy - containing block*/
  22. width: 960px; /*calosc 780px;*/
  23. margin: 0 auto; /*powoduje ze blok glowny strony jest wysrodkowany*/
  24. top: 0px;
  25. position: fixed;
  26. }
  27.  
  28. #NAGLOWEK {
  29. background-color: #888;
  30. height: 20px;
  31. }
  32.  
  33. #MENU {
  34. width: 200px; /*150px;*/
  35. float: left;
  36. overflow: hidden; /*w przypadku gdy zawartosc jest zbyt szeroka nastapi obciecie poprzez ukrycie za duzego elementu*/
  37. background-color: #ccc;
  38. }
  39.  
  40. #REKLAMA {
  41. width: 160px;
  42. float: right;
  43. overflow: hidden;
  44. background-color: #ccc;
  45. }
  46.  
  47. #TRESC {
  48. width: 600px; /* zawartosc, tresc 480px; */
  49. overflow: hidden;
  50. background-color: #fff;
  51. margin: 45px auto 0px 200px;
  52. }
  53.  
  54. #STOPKA {
  55. clear: both; /*powoduje ze stopka nie wskakuje obok menu gdy jest malo tresci*/
  56. width: 100%; /*eliminacja bledu IE6 w pozniejszych zbedne*/
  57. background-color: #888;
  58. }
  59.  
cniak
Norbis, podawanie gotowców to nie jest dobry przyklad, zeby on zrozumial o co chodzi...
Topic: Jezeli sie uczyles z kurshtml.boo.pl to poczytaj o overflow. To na pewno Ci pomoze
123tomek
Dzięki za pomoc.
Jeszcze jednej rzeczy do końca nie kumam. W przykładzie NORBISA gdy nadam boxowi MENU position: fixed oraz określę top: i bottom: to blok ten ładnie mi się rozciąga w pionie i dalej jego pozycja zaczyna się od krawędzi MAIN (TOP) a nie od krawędzi przeglądarki (podczas zwężania okna przeglądarki MENU przesuwa się w prawo). Natomiast dla boxa REKLAMA taki sam zabieg (z racji tego ze ma być z prawej dodatkowo nadana jest wartość left) powoduje ze pozycja od lewej liczona jest nie od MAIN (TOP) ale od lewej krawędzi okna przeglądarki co powoduje ze przy zmianie rozmiaru okna box ten ciągle wyświetlany jest o stałą, określoną liczbę pixeli od lewej krawędzi.
Wiem ze problem tkwi w tym ze MENU nie ma określanego atrybutu left a REKLAMA ma i to to powoduje inne przeliczanie odległości (dla boxa MENU od boxa MAIN (TOP) a w drugim przypadku od krawędzi przeglądarki).

Pytanie jak to prawidłowo obejść?



EDIT:
Problem wreszcie rozwiązany, podaję dla potomnych:

Wymyśliłem 2 sposoby:
1. nadać REKLAMIE szerokość 960px czyli tyle ile ma obszar MAIN, usunąć całkowicie left, następnie użyć z-index: dla tej warstwy i innych tak by REKLAMA była nad MAINem ale pod całą resztą warstw. Minus jest taki że trzeba dodatkowo pozycjonować całą zawartość boxa REKLAMA o te zbędne 800px w prawo.

2. jak już wymęczyłem pkt.1 wpadłem na genialny pomysł by użyć najzwyklejszego polecenia margin-left: 800px; co oczywiście załatwiło sprawę tym jednym poleceniem smile.gif. Aż mi głupio.


EDIT II:
Wszystko fajnie ale Chrome i Safari inaczej interpretują css i niestety bloki MENU oraz REKLAMA są ustawione na stale wg PRAWEJ krawędzi przeglądarki. Może znacie jakiś hack na takie zachowanie?

Cytat(cniak @ 10.11.2010, 19:40:54 ) *
Norbis, podawanie gotowców to nie jest dobry przyklad, zeby on zrozumial o co chodzi...
Topic: Jezeli sie uczyles z kurshtml.boo.pl to poczytaj o overflow. To na pewno Ci pomoze


A co do overflow to wydaje mi się ze nie zrozumiałeś sedna problemu. Akurat zakrywanie czy obcinanie bloków to u mnie nie stanowiło głównego problemu. Ja pytałem o to jak uzyskać efekt zawieszonych na stale menu, nagłówka i miejsca na reklamy w taki sposób by były wycentrowane i dociągane do krawędzi MAINa a nie okna przeglądarki.

W sumie Norbis naprowadził mnie na prawidłowe rozwiązanie (przy okazji stosujac fixera i overflow) i po dodaniu kilku linijek do jego kodu uzyskałem efekt który zamierzałem. Niestety w najnowszych wersjach przeglądarek tylko Firefox, IE oraz Opera wyświetlają stronę tak jak powinna wyglądać natomiast Safari i Chrome nie.
Dodałem tylko 7 istotnych linijek kodu

Dla MENU oraz REKLAMA:
top: 200px;
bottom: 25px; /* te 4 linijki rozciągają w pionie ale liczą od lewej krawędzi PRZEGLĄDARKI a nie TOPu czy MAINa*/
position: fixed;

i dodatkowo dla REKLAMA:
margin-left: 800px;

Efekt widac tu: http://89.25.186.53/stos/index5.html

Niestety na Chromie i Safari obie kolumny są jakby przyklejone na stała odległość od PRAWEJ krawędzi i podczas zmiany rozmiaru okna są nieprawidłowo przesuwane.

I akurat w tym przypadku jak najbardziej wskazana jest pomoc w postaci gotowego rozwiązania problemu bo jak przypuszczam problem nie tkwi w nieznajomości CSSa a w błędach jego interpretacji przez przeglądarki. A nie wierze ze ja pierwszy tworze taki szablon strony i ze to ja pierwszy napotkałem na taki problem - w końcu to najbardziej standardowy układ trzykolumnowy.


Cytat(cniak @ 10.11.2010, 19:40:54 ) *
Norbis, podawanie gotowców to nie jest dobry przyklad, zeby on zrozumial o co chodzi...
Topic: Jezeli sie uczyles z kurshtml.boo.pl to poczytaj o overflow. To na pewno Ci pomoze


A co do overflow to wydaje mi się ze nie zrozumiałeś sedna problemu. Akurat zakrywanie czy obcinanie bloków to u mnie nie stanowiło głównego problemu. Ja pytałem o to jak uzyskać efekt zawieszonych na stale menu, nagłówka i miejsca na reklamy w taki sposób by były wycentrowane i dociągane do krawędzi MAINa a nie okna przeglądarki.

W sumie Norbis naprowadził mnie na prawidłowe rozwiązanie (przy okazji stosujac fixera i overflow) i po dodaniu kilku linijek do jego kodu uzyskałem efekt który zamierzałem. Niestety w najnowszych wersjach przeglądarek tylko Firefox, IE oraz Opera wyświetlają stronę tak jak powinna wyglądać natomiast Safari i Chrome nie.
Dodałem tylko 7 istotnych linijek kodu

Dla MENU oraz REKLAMA:
top: 200px;
bottom: 25px; /* te 4 linijki rozciągają w pionie ale liczą od lewej krawędzi PRZEGLĄDARKI a nie TOPu czy MAINa*/
position: fixed;

i dodatkowo dla REKLAMA:
margin-left: 800px;

Efekt widac tu: http://89.25.186.53/stos/index5.html

Niestety na Chromie i Safari obie kolumny są jakby przyklejone na stała odległość od PRAWEJ krawędzi i podczas zmiany rozmiaru okna są nieprawidłowo przesuwane.

I akurat w tym przypadku jak najbardziej wskazana jest pomoc w postaci gotowego rozwiązania problemu bo jak przypuszczam problem nie tkwi w nieznajomości CSSa a w błędach jego interpretacji przez przeglądarki. A nie wierze ze ja pierwszy tworze taki szablon strony i ze to ja pierwszy napotkałem na taki problem - w końcu to najbardziej standardowy układ trzykolumnowy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.