Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IMG w DIV nie chce się wyśrodkować
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
ikem
Problem polega na tym że wrzucam obrazek do DIVa który ma zadeklarowany rozmiar i chce go wyśrodkować w pionie ale nie bardzo jestem w stanie to zrobić:
  1. <div id="elemnet">
  2. <div id="logo">
  3. <img src="loga/wycieraczki/log-alca.gif" class="logo_img" />
  4. </div>
  5. <div id="opis">tu bedzie opis
  6. </div>
  7. </div>

a teraz css do tego
  1. #elemnet {
  2. position:relative;
  3. margin-top: 10px;
  4. margin-right:auto;
  5. margin-bottom:0px;
  6. margin-left:auto;
  7. width: 500px;
  8. height: 120px;
  9. background-color:#EEEEEE;
  10. }
  11. #logo {
  12. position: absolute;
  13. left: 20px;
  14. top: 10px;
  15. background-color:#E1E1E1;
  16. width: 100px;
  17. height: 100px;
  18. }
  19. #logo img {
  20. clear:both;
  21. border: none;
  22. padding: 0px;
  23. margin: 0px;
  24. }
  25. #opis{
  26. position: absolute;
  27. top: 10px;
  28. left: 150px;
  29. background-color:#E1E1E1;
  30. width: 290px;
  31. height: 90px;
  32. padding: 5px;
  33. }

i gdzie ja robie błąd w myśleniu??
joshrob
witam,

jedna linie tekstu, a plik logo tak bedzie sie zachowywal, najlatwiej, bez dodatkowych kontenetow i akrobacji zeby dzialalo w IE, w pionie srodkuje sie ze pomoca line-height na kontener o wartosci rownej wysokosci tego kontenera oraz dodatkowo obrazkowi nalezy dac vertical-align: middle, aby wyrownac go do srodka tej "wirtualnej" linii tekstu ktora srodkujemy.

co do bledu w mysleniu, "clear: both" na pewno jest bledne, z racji ze nie korzystasz z elementow "plywajacych", nie ma ono tutaj niz do rzeczy.

pozdrawiam,
ikem
no i przerobiłem CSSa zgodnie z ty co mówisz
wygląda on teraz tak:

  1. #elemnet {
  2. position:relative;
  3. margin-top: 10px;
  4. margin-right:auto;
  5. margin-bottom:0px;
  6. margin-left:auto;
  7. width: 500px;
  8. height: 120px;
  9. background-color:#EEEEEE;
  10. }
  11. #logo {
  12. position: absolute;
  13. left: 20px;
  14. top: 10px;
  15. background-color:#E1E1E1;
  16. width: 100px;
  17. height: 100px;
  18. line-height: 100px;
  19. }
  20. #logo img {
  21. border: none;
  22. vertical-align:middle;
  23. }
  24. #opis{
  25. position: absolute;
  26. top: 10px;
  27. left: 150px;
  28. background-color:#E1E1E1;
  29. width: 290px;
  30. height: 90px;
  31. padding: 5px
  32. }

ale niestety nic nie pomogło sad.gifsad.gif
joshrob
widac przecenilem ponownie ie; trzeba dodac jeden boks w html pobawic sie cssem
ponizszy kod dziala na pewno w ie6/ff2.0.0.3/op9.20
jesli w ie7 jest zle, zmien komentarz warunkowy

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <title>css center</title>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  4. <style type="text/css">
  5. #elemnet {
  6. position:relative;
  7. margin-top: 10px;
  8. margin-right:auto;
  9. margin-bottom:0px;
  10. margin-left:auto;
  11. width: 500px;
  12. height: 120px;
  13. background-color:#EEEEEE;
  14. }
  15. #logo {
  16. position: relative;
  17. left: 20px;
  18. top: 10px;
  19. background-color:#E1E1E1;
  20. width: 100px;
  21. height: 100px;
  22. line-height: 100px;
  23. }
  24. #box{
  25. text-align: center;
  26. }
  27. #logo img {
  28. vertical-align: middle;
  29. }
  30.  
  31. #opis{
  32. position: absolute;
  33. top: 10px;
  34. left: 150px;
  35. background-color:#E1E1E1;
  36. width: 290px;
  37. height: 90px;
  38. padding: 5px
  39. }
  40.  
  41.  
  42. <!--[if lte IE 6]><style type="text/css">
  43. #box{
  44. position: absolute;
  45. top: 50%;
  46. left: 50%;
  47. }
  48. #logo img {
  49. border: none;
  50. position: relative;
  51. top: -50%;
  52. left: -50%;
  53. }
  54. </style><![endif]-->
  55.  
  56. </head>
  57.  
  58. <div id="elemnet">
  59. <div id="logo">
  60. <div id="box">
  61. <img src="file.jpg" class="logo_img" />
  62. </div>
  63. </div>
  64. <div id="opis">tu bedzie opis </div>
  65. </div>
  66.  
  67. </body>
  68. </html>


pozdrawiam,

/dopisane/

lub prosciej ze stylem in-line

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <title>center css 2</title>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  4. <style type="text/css">
  5. #elemnet {
  6. position:relative;
  7. margin-top: 10px;
  8. margin-right:auto;
  9. margin-bottom:0px;
  10. margin-left:auto;
  11. width: 500px;
  12. height: 120px;
  13. background-color:#EEEEEE;
  14. }
  15. #logo {
  16. position: relative;
  17. left: 20px;
  18. top: 10px;
  19. width: 100px;
  20. height: 100px;
  21. line-height: 100px;
  22. }
  23. #opis{
  24. position: absolute;
  25. top: 10px;
  26. left: 150px;
  27. background-color:#E1E1E1;
  28. width: 290px;
  29. height: 90px;
  30. padding: 5px
  31. }
  32. </head>
  33.  
  34. <div id="elemnet">
  35. <div id="logo" style="background: #E1E1E1 url(lifloat.jpg) 50% 50% no-repeat;"></div>
  36. <div id="opis">tu bedzie opis </div>
  37. </div>
  38.  
  39. </body>
  40. </html>



pozdrawiam,
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.