Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS]Rociąganie nadrzędnego diva w zależności od podrzędnego
punoljoe
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 2
Dołączył: 4.07.2008

Ostrzeżenie: (30%)
XX---


Wiem , że temat jest odgrzewany , ale po kilkuuuu dobrych godzinach rozkminiania tego banalnego problemu mam dość. Chciałem rozciągnąć div#c1 i potem w ten sam sposób div#d1. Zróbmy jeden , a drugi będzie analogicznie rozwiązany.

  1.  
  2.  
  3. <div id="x">
  4. <div id="y"><br />PL | GB | D | FR | S &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /></div>
  5.  
  6. <div id="z" ><br /> </div>
  7. <div id="a" > <br /></div>
  8. <div id="b" ><br /><br /> </div>
  9. <div id="c" >
  10. <div id="c1" >
  11. <br /><br /><br /><br /><br /><br />
  12. </div>
  13. </div>
  14.  
  15. <div id="d" >
  16. <div id="d1" >
  17. <br /><br /><br /><br /><br /><br /><br /><br />
  18. </div>
  19. </div>
  20.  
  21. <div id="e" > <br /></div>
  22. <div id="f" > <br /><br /><br /><br /></div>
  23.  




  1. html,body {
  2. background-color:orange;
  3. margin:auto;
  4. width: 100%;
  5. height:100%;
  6. text-decoration:none;
  7. font-family: Verdana;
  8. line-height: 10px;
  9. }
  10.  
  11. div {
  12. margin: auto;
  13. border : none;
  14. padding : auto;
  15.  
  16. }
  17.  
  18. #x {
  19. width:100%;
  20. }
  21.  
  22. #y {
  23. background-color:#000;
  24. width: 100%;
  25. text-align: right;
  26. clear: left;
  27. float: left;
  28. }
  29.  
  30. #z {
  31. width: 100%;
  32. background-color:#FFF;
  33. clear: left;
  34. float: left;
  35. }
  36.  
  37. #a {
  38. width: 100%;
  39. background-color:#04B486;
  40. clear: left;
  41. float: left;
  42. }
  43.  
  44. #b {
  45. width: 100%;
  46. background-color:#007777;
  47. clear: left;
  48. float: left;
  49. }
  50.  
  51. #c {
  52. overflow: hidden;
  53. width: 100%;
  54. clear: left;
  55. float: left;
  56. background-color:#FFF;
  57. }
  58. #c1 {
  59. width: 1000px;
  60. background-color: red;
  61. position:absolute;
  62. left:50%;
  63. margin-left:-500px;
  64. }
  65.  
  66.  
  67. #d {
  68. width: 100%;
  69. background-color:brown;
  70.  
  71. margin: auto;
  72. float : none;
  73. display: block;
  74. margin: auto;
  75. padding:auto;
  76.  
  77.  
  78. }
  79.  
  80.  
  81.  
  82. #e {
  83. width: 100%;
  84. background-color:#FFF;
  85. clear: left;
  86. float: left;
  87. }
  88.  
  89. #f {
  90. clear: both;
  91. width: 100%;
  92. background-color:#FFF;
  93. }




próbowałem rozwiązania polegającego na wstawieniu clear:both;

  1. <div id="c" >
  2. <div id="c1" >
  3. <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  4. </div>
  5. <div style="clear: both;"></div>
  6. </div>


a nawet wynalazek typu :

[JAVASCRIPT] pobierz, plaintext
  1. function setheight() {
  2. if(document.getElementById('c1').offsetHeight > document.getElementById('c').offsetHeight) {
  3. document.getElementById('c').style.height = document.getElementById('c1').offsetHeight+'px';
  4. }}
[JAVASCRIPT] pobierz, plaintext


jednak wciąż nie działa...
ktoś potrafi pomóc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
punoljoe
post
Post #2





Grupa: Zarejestrowani
Postów: 52
Pomógł: 2
Dołączył: 4.07.2008

Ostrzeżenie: (30%)
XX---


poważnie? ! (IMG:style_emoticons/default/ohmy.gif) Jeszcze raz przeanalizuję , uproszczę i wrzucę, bo mnie to umęczyło. DZIĘKUJĘ DROSLAW. Bardzo mi pomogłeś.

style.css

  1. html,body {
  2. margin:0;
  3. padding:0;
  4. text-decoration:none;
  5. font-family: Verdana;
  6. line-height: 10px;
  7. }
  8.  
  9. div {
  10. margin: auto;
  11. border :0;
  12. padding:0;
  13. }
  14.  
  15. #x {
  16. width:100%;
  17. }
  18.  
  19. #y {
  20. margin:0;
  21. background-color:#000;
  22. width: 100%;
  23. text-align: right;
  24. clear: left;
  25. float: left;
  26. }
  27.  
  28. #z {
  29. margin:0;
  30. width: 100%;
  31. background-color:#FFF;
  32. clear: left;
  33. float: left;
  34. }
  35.  
  36. #a {
  37. margin:0;
  38. width: 100%;
  39. background-color:#04B486;
  40.  
  41. }
  42.  
  43. #b {
  44. margin:0;
  45. width: 100%;
  46. background-color:#007777;
  47.  
  48. }
  49.  
  50. #c {
  51. margin:0;
  52. overflow: hidden;
  53. width: 100%;
  54. background-color:#FFF;
  55. }
  56. #c1 {
  57. margin:auto;
  58. width: 1000px;
  59. background-color: red;
  60. }
  61.  
  62.  
  63. #d {
  64. margin:0;
  65. width: 100%;
  66. background-color:brown;
  67. overflow: hidden;
  68. }
  69. #d1 {
  70. margin:auto;
  71. width: 1000px;
  72. background-color:green;
  73.  
  74. }
  75.  
  76.  
  77. #e {
  78. margin:0;
  79. width: 100%;
  80. background-color:#bbb;
  81. }
  82.  
  83. #f {
  84. margin:0;
  85. clear: both;
  86. width: 100%;
  87. background-color:#ddd;
  88. bottom: 0;
  89. position:fixed;
  90.  
  91. }



index.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=iso-8859-2" />
  4. <META HTTP-EQUIV="Creation-date" CONTENT="2012.06.03">
  5. <META NAME="Description" CONTENT="">
  6. <META NAME="Author" CONTENT="punoljoe">
  7. <META NAME="Generator" CONTENT="">
  8. <link rel="shortcut icon" href="img/ikona.ico">
  9.  
  10. <link rel='stylesheet' type='text/css' id='styl' href='style.css'/>
  11.  
  12. </HEAD>
  13.  
  14. <div id="x">
  15. <div id="y"><br />PL | GB | D | FR | S        <br /><br /></div>
  16.  
  17. <div id="z" ><br /> </div>
  18. <div id="a" > <br /></div>
  19. <div id="b" ><br /><br /><br /><br /><br /><br /><br /><br /><br /> </div>
  20. <div id="c" >
  21. <div id="c1" >
  22. <br /><br /><br /><br />
  23. </div>
  24. </div>
  25.  
  26. <div id="d" >
  27. <div id="d1" >
  28. <br /><br /><br /><br /><br /><br />
  29. </div>
  30. </div>
  31.  
  32. <div id="e" > <br /><br /></div>
  33. <div id="f" > <br /><br /><br /><br /><br /><br /></div>
  34.  
  35. </div>
  36.  
  37. </BODY>
  38. </HTML>


Szkielet stronki , gdzie:
div#x - główny kontener
div#y - kontener językowy (tak ładnie sobie go nazywam (IMG:style_emoticons/default/smile.gif) )
div#z,a,b,c,d,e,f- divy będące kolejno pod sobą na 100% strony;
div#c1 i div#d1 - są to divy wypośrodkowane, o szerokości 1000px. Wraz z zawartością w nich rozwijają się rodzice , czyli div#c i div#d.

dodam tutaj kilka uwag (dla większości zapewne oczywistych), które mogą się przydać ludziom przechodzącym z tabelek na divy (tak jak ja się z tym męczyłem,męczę). Tak więc jeśli chcecie wypośrodkować div, są conajmniej dwie metody. Pierwsza sprawdza się przy rozwijaniu rodzica, druga nie ( z racji position:absolute;). 1) ramka wypośrodkowane ma mieć margin:auto; ,reszta margin:0; 2) position:absolute; left:50%; margin-left:-500px; (gdy pole wypośrodkowane ma 1000px).

Czy klauzury
clear: left;
float: left;

są konieczne? raczej nie, ale tak działa i nie szkodzi (IMG:style_emoticons/default/smile.gif)

Szkoląc się z css w kontekście divów napotkałem informację, że divy nie reagują na procentowe odniesienia, jeśli w nadrzędnym kontenerze nie ma podanego wymiaru. Tak więc prawdopodobnie przy określeniach np. 29% ... nie będzie działało. Chyba...

za laicki post wybaczcie, ale dziś przeszukałem duży kawałek internetu... licząc właśnie po cichu, że coś takiego znajdę... nie znalazłem. Tak więc sam go teraz dumnie dodam (IMG:style_emoticons/default/biggrin.gif) Pozdrawiam i jeszcze raz dzięki za pomoc dla Droslawa ... i innym za chęci.

Ten post edytował punoljoe 10.07.2012, 22:47:52
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:02