Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] DIVy nachodzą na siebie pod FF i operą
Forum PHP.pl > Forum > Przedszkole
AboutMe
Witam,

Co jest nie tak z tą stroną

http://img337.imageshack.us/i/div.gif/


pod IE6 jest ok http://img641.imageshack.us/i/divm.gif/


  1. #content {
  2. width: 630px;
  3. margin-left: 240px;
  4. padding: 10px 10px 10px 10px;
  5. font: 8pt Verdana, Arial, sans-serif;
  6. color: white;
  7. }
  8.  
  9. #post {
  10. width: 623px;
  11. margin-top: 23px;
  12. padding: 10px 10px 10px 10px;
  13. border: 1px solid white;
  14. background: black;
  15. text-align: justify;
  16. }
  17.  
  18. #text {
  19. width: 500px;
  20. border: 1px solid white;
  21. float: left;
  22. }
  23.  
  24. #info {
  25. width: 100px;
  26. float: top;
  27. float: right;
  28. border: 1px solid white;
  29. }



  1. <div id="content">
  2.  
  3.  
  4. <div id="post">
  5.  
  6. <div id="text">
  7. Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
  8. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis,
  9. id lacinia libero. Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada.
  10. Proin egestas urna ac lectus pellentesque congue. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus,
  11. quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh. Sed luctus lobortis porttitor. Maecenas a quam
  12. lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus, elementum sagittis viverra eu,
  13. venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet. Proin tempus sapien orci.
  14. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum velit.
  15. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi
  16. pharetra euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  17. </div><!--text-->
  18.  
  19.  
  20. <div id="info">
  21. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  22. </div><!--info-->
  23.  
  24.  
  25. </div><!--post-->
  26.  
  27. <div id="post">Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
  28. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero.
  29. Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
  30. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
  31. Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
  32. elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
  33. Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
  34. velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
  35. euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  36. </div><!--post-->
  37.  
  38. <div id="post">Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus. Vestibulum
  39. ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero. Pellentesque
  40. eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
  41. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
  42. Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
  43. elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
  44. Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
  45. velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
  46. euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  47. </div><!--post-->
  48.  
  49.  
  50. </div><!--content ends-->
blooregard
Możesz nadać wątkowi jakiś bardziej sensowny tytuł?
Dziękuję.
mortus
Po pierwsze w dokumencie może istnieć tylko jeden element o danym identyfikatorze, czyli nie możesz mieć trzech elementów <div id="post">. Twoje elementy <div> raczej powinny posiadać klasy, aniżeli identyfikatory <div class="post">, a w css-ie .post. Po drugie sprawdź, czy zadeklarowałeś dobrze typ dokumentu (DOCTYPE).
emtiej
dla ścisłości, najpierw składasz theme dla nowszych przeglądarek, potem sprawdzasz ją pod starszymi, jeżeli pod starszymi coś jest nie tak to próbujesz naprawić, jeżeli nie da rady no to zostają Ci komentarze warunkowe
krzysztof_kf
Miałem trochę czasu to zrobiłem ci gotowy szablon działa włącznie z ie6 tylko szerokość sobie dopasuj jak chcesz itp itd ...
Kod
<!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<http equiv="Content-Type" content="text/html" charset=iso-8859-2" />
<http equiv="Content-Language" content="pl" />
</head>
<body>
<style>

body {
background: #000;
}

#content {
width: 800px;
margin: 0 auto;
}

#post {
width: 800px;
padding: 10px 10px 10px 10px;
float: left;
border: 1px solid #fff;
}

#text {
width: 600px;
float: left;
color: #fff;
border: 1px solid #fff;
padding: 10px 10px 10px 10px;
}

#text-info {
width: 100px;
float: left;
color: #fff;
margin: 0 0 0 10px;
padding: 3px 3px 3px 3px;
border: 1px solid #fff;
}

.post {
width: 800px;
float: left;
color: #fff;
border: 1px solid #fff;
margin-top: 10px;
padding: 10px 10px 10px 10px;
}

p {
margin: 0;
font-family: verdana;
font-size: 0.8em;
}
</style>
<div id="content">
<div id="post">
<div id="text">
<p>
Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis,
id lacinia libero. Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada.
Proin egestas urna ac lectus pellentesque congue. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus,
quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh. Sed luctus lobortis porttitor. Maecenas a quam
lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus, elementum sagittis viverra eu,
venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet. Proin tempus sapien orci.
Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum velit.
Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi
pharetra euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.</p>
</div><!--text-->

<div id="text-info">
<p>Nulla risus lacus, viverra vel euismod at, lobortis eu leo.</p>
</div></div><!--info-->


<!--post-->

<div class="post"><p>Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero.
Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.</p>
</div><!--post-->

<div class="post"><p>Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus. Vestibulum
ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero. Pellentesque
eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.</p>
</div><!--post-->


</div><!--content ends-->

</body>
   </html>
mortus
@krzysztof_kf A po co robić klasę .post i jednocześnie identyfikator #post, skoro różnią się one tylko jednym parametrem? Przyjrzyj się takiemu rozwiązniu:
  1. <style type="text/css">
  2. .post {
  3. width: 800px;
  4. padding: 10px 10px 10px 10px;
  5. border: 1px solid #fff;
  6. margin-top: 10px;
  7. }
  8. .first-post {
  9. margin-top: 0;
  10. }
  11.  
  12. <div class="post first-post">Treść posta</div>
  13. <div class="post">Treść posta</div>
  14. <div class="post">Treść posta</div>
Po drugie po co elementom klasy .post styl float: left;, skoro mają one zajmować całą szerokość content-u? Zresztą źle policzyłeś szerokość elementów .post, bo uwzględniając dopełnienia (padding) width powinna wynosić 780px. Nie wiem, jak z pozostałymi elementami, ale nie chce mi się sprawdzać. Nie podawaj złych rozwiązań, bo zdaje się, że specjalistą nie jesteś. Ja też nie jestem, ale widziałem już setki tak zakodowanych stron, kiedyś nawet sam tak pisałem, a nawet teraz zdarza mi się coś przeoczyć czy zepsuć. Różnica pomiędzy nami jest taka, że ja staram się pomóc podając dobre rozwiązanie, a Ty podajesz jakiekolwiek, które może działać, ale niekoniecznie musi.
krzysztof_kf
mortus ? a widziałeś w czym jest problem widziałeś screena co z tego że dałeś 3 klasy jedna pod drugą ? które jeszcze nie trzymają się ładu a po za tym na szybkiego robiłem ale efekt jest pozdrawiam smile.gif
mortus
Cytat(krzysztof_kf @ 31.03.2010, 08:38:45 ) *
mortus ? a widziałeś w czym jest problem widziałeś screena co z tego że dałeś 3 klasy jedna pod drugą ? które jeszcze nie trzymają się ładu a po za tym na szybkiego robiłem ale efekt jest pozdrawiam smile.gif
@krzystof_kf Widziałem screena, ale kolega jeszcze nie odpowiedział. Możliwe, że po prostu nie ma doctype zadeklarowanego i stąd te błędy. Podejrzewam, że floatowane elementy przybierają styl display: inline;, a to dlatego, że właśnie doctype-a brakuje, albo jest on niewłaściwy.
EDIT:
U mnie w treści posta wpisujesz co chcesz, co oznacza, że możesz sobie dwa div-y wstawić jeden obok drugiego.
Kod kolegi AboutMe wygląda dobrze, choć pomylił on się w jednym miejscu (nie ma czegoś takiego jak float: top;) i zamiast klas używa identyfikatorów.
piotrooo89
@krzysztof_kf czy będziesz dawał w końcu swoje listingi w odpowiednich bbcode? w przeciwnym wypadku będę zamykał tematy w których bierzesz udział. przez barak odpowiedniego bbcode zaciemniasz swoje rozwiązania i stają się nieczytelne.
AboutMe
Weźcie zerknijcie na ten kod bo ja już nie mam zielonego pojęcia co jest źle:


  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">
  3.  
  4.  
  5.  
  6. <title>Blogger</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  8.  
  9. </head>
  10.  
  11.  
  12. body {
  13. margin:0;
  14. padding:0;
  15. background: black;
  16. }
  17.  
  18.  
  19.  
  20. #content {
  21. width: 630px;
  22. margin-left: 240px;
  23. padding: 10px 10px 10px 10px;
  24. font: 8pt Verdana, Arial, sans-serif;
  25. color: white;
  26. }
  27.  
  28. .post {
  29. width: 623px;
  30. margin-top: 23px;
  31. padding: 10px 10px 10px 10px;
  32. border: 1px solid white;
  33. background: black;
  34. text-align: justify;
  35. }
  36.  
  37. .text {
  38. width: 500px;
  39. border: 1px solid white;
  40. float: left;
  41. }
  42.  
  43. .info {
  44. width: 100px;
  45. float: right;
  46. border: 1px solid white;
  47. }
  48.  
  49.  
  50.  
  51. <div id="content">
  52.  
  53.  
  54. <div class="post">
  55.  
  56. <div class="text">
  57. Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
  58. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis,
  59. id lacinia libero. Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada.
  60. Proin egestas urna ac lectus pellentesque congue. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus,
  61. quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh. Sed luctus lobortis porttitor. Maecenas a quam
  62. lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus, elementum sagittis viverra eu,
  63. venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet. Proin tempus sapien orci.
  64. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum velit.
  65. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi
  66. pharetra euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  67. </div><!--text-->
  68.  
  69.  
  70. <div class="info">
  71. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  72. </div><!--info-->
  73.  
  74.  
  75. </div><!--post-->
  76.  
  77. <div class="post">Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus.
  78. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero.
  79. Pellentesque eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
  80. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
  81. Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
  82. elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
  83. Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
  84. velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
  85. euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  86. </div><!--post-->
  87.  
  88. <div class="post">Aenean tempor varius felis, id hendrerit mi eleifend eget. Morbi placerat fermentum lectus vitae faucibus. Vestibulum
  89. ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam eu elit turpis, id lacinia libero. Pellentesque
  90. eu ante non urna rutrum facilisis. Curabitur porta dapibus risus ac malesuada. Proin egestas urna ac lectus pellentesque congue.
  91. Praesent ut velit ipsum. Fusce volutpat, orci at commodo tempus, quam nulla commodo tellus, eget sollicitudin dolor tortor ut nibh.
  92. Sed luctus lobortis porttitor. Maecenas a quam lectus, vel sodales lectus. Phasellus vulputate sagittis ultrices. Maecenas est tellus,
  93. elementum sagittis viverra eu, venenatis sit amet arcu. Mauris suscipit fermentum justo, facilisis elementum diam accumsan sit amet.
  94. Proin tempus sapien orci. Sed diam erat, fermentum et ultrices in, lacinia quis nulla. In ut ligula eu urna pharetra rutrum in dictum
  95. velit. Maecenas vehicula sem sit amet sapien facilisis sit amet bibendum augue iaculis. Fusce sit amet velit pulvinar nisi pharetra
  96. euismod vitae eu turpis. Nulla risus lacus, viverra vel euismod at, lobortis eu leo.
  97. </div><!--post-->
  98.  
  99.  
  100. </div><!--content-->
  101.  
  102. </body>
  103. </html>
mortus
Przede wszystkim style powinny być w sekcji head, więc je przekopiuj. Jako, że nadajesz elementom w klasie .post atrybuty float, to aby się wszystko dobrze wyświetlało musisz to opływanie wyczyścić. Przykład:
  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">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <style type="text/css">
  6. body {
  7. margin: 0;
  8. padding: 0;
  9. text-align: center;
  10. }
  11.  
  12. .content {
  13. margin: 0 auto;
  14. border: 1px dotted #ccc;
  15. width: 500px;
  16. text-align: left;
  17. }
  18.  
  19. .left {
  20. margin: 10px;
  21. border: 1px solid #ccc;
  22. width: 275px;
  23. min-height: 200px;
  24. float: left;
  25. }
  26.  
  27. .right {
  28. margin: 10px;
  29. border: 1px solid #ccc;
  30. width: 180px;
  31. min-height: 200px;
  32. float: right;
  33. }
  34.  
  35. .clear {
  36. clear: both;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="content">
  42. <div class="left">
  43. </div>
  44. <div class="right">
  45. </div>
  46. <div class="clear">
  47. </div>
  48. </div>
  49. </body>
  50. </html>
Za wyczyszczenie float-ów odpowiada div o klasie .clear
AboutMe
No zaraz ale ten min-height nic nie daje bo raz potrzebuję żeby div miał wysokość 200px a raz 1000px.
Rysh
Zobacz czym jest min-height: http://algorytmy.pl/doc/xhtml/?id=3080
AboutMe
Ja wiem co znaczy min-height, problem jest taki że div nie zwiększa swojej długości jeśli potrzebuję więcej niż 200px.

EDIT:
Źle wstawiłem

<div class="clear">
</div>

teraz jest ok
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.