Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS] top strony problem w ie
Forum PHP.pl > Forum > Przedszkole
Lejto
Mam problem z css i obrazkami w topie strony.
FF

IE

Jak widać pod ie się rozwala.
Oto kod css i html, co tu jest nie tak? Myślę że winni tu między innymi input.
  1. <div id="img"></div>
  2. <div id="img2"></div>
  3. <span style="float:left;"><form action="szukaj" method="post"><input type="text" size="22" name="user" /><input value="" type="submit" id="img3" /></form></span>
  4. <div id="img4"></div>
  5. <div id="img5"></div>
  6. <div id="img6"></div>

i css
  1. #img{
  2. background-image : url('../images/bl_01.gif');
  3. background-repeat: no-repeat;
  4. width:900px;
  5. height:69px;
  6. float: left;
  7. }
  8. #img2{
  9. background-image : url('../images/bl_02.gif');
  10. width:16px;
  11. height:24px;
  12. float: left;
  13. }
  14. #img3{
  15. background-image : url('../images/bl_05.gif');
  16. width:53px;
  17. height:24px;
  18. float: right;
  19. }
  20. #img4{
  21. background-image : url('../images/bl_06.gif');
  22. width:465px;
  23. height:24px;
  24. float: left;
  25. margin-left:3px;
  26. }
  27. #img5{
  28. background-image : url('../images/bl_09.gif');
  29. width:30px;
  30. height:24px;
  31. float: left;
  32. }
  33. #img6{
  34. background-image : url('../images/bl_12.gif');
  35. width:900px;
  36. height:50px;
  37. float: left;
  38. }
  39.  
pedro84
Chłopie, na co Ci tyle tych divów? Przecież to bez sensu. W ogóle to ten <span> problematycznie wygląda.
Lejto
no bo musiałem jakoś te obrazki umieścić dlatego musiałem tyle napisać? jak to inaczej zrobić
no span wygląda problematycznie, przez ten input no ale jak to poprawić?
pedro84
Cytat(Lejto @ 25.01.2010, 13:24:15 ) *
no bo musiałem jakoś te obrazki umieścić dlatego musiałem tyle napisać? jak to inaczej zrobić
no span wygląda problematycznie, przez ten input no ale jak to poprawić?

Można było to zrobić o wiele lepiej, moim zdaniem.

Jak naprawić? Position:absolute i relative (dla elementu nadrzędnego).
Lejto
Cytat(pedro84 @ 25.01.2010, 13:46:06 ) *
Można było to zrobić o wiele lepiej, moim zdaniem.

Jak naprawić? Position:absolute i relative (dla elementu nadrzędnego).

ok, jak byś to zrobił?
pedro84
To jest element topu strony tak? Zarzuć jakimś większym screenem, a najlepiej to linkiem, to wtedy Ci mogę powiedzieć.
Lejto
http://lukasz-code.nspace.pl/blogi
cook
Może stwórz osobny arkusz dla IE i tam rób tak żeby tylko wszystko wyglądało dobrze pod IE: http://leksykot.top.hell.pl/notatki/www/ie-hacks.shtml
Lejto
no z drugiej strony też racja
pedro84
Wiesz...najpierw to popraw kod, bo w FF też Ci nie wyświetla poprawnie...

Moje propozycje:
Tworzysz div główny, #header
Kod
#header {
width:900px;
margin:0 auto;
height://tutaj wysokość obrazka
}


Nadajesz mu atrybut background:url(obrazek) top left; Jako obrazek podajesz, cały obrazek, bez cięcia. Zapisałbym go jako jpg z kolorem tła.

Nadajesz #header attrubyt position:relative;

Input, bez span, pozycjonujesz w nim relatywnie. To jest najlepsze rozwiązanie, masz jeden div i wszystko Ci będzie działać, bez hacków.

Lejto
ok, ale jakie błędy widzisz pod ff?
u mnie wszystko ok widać chyba
zrób screena
czyli w <div id="header"> wrzucić resztę tak?
pedro84
Cytat(Lejto @ 25.01.2010, 17:02:29 ) *
ok, ale jakie błędy widzisz pod ff?
u mnie wszystko ok widać chyba
zrób screena
czyli w <div id="header"> wrzucić resztę tak?

Tak, i tylko jeden obrazek, bez ensu tak ciąć i tworzyć n divów.

Jaki błąd? img4 przesunięty w prawo o 2px smile.gif
Lejto
ok, zobaczę jak to będzie
może nie dopatrzyłem tego
używasz najnowszego firefoxa?

posklejałem ten header w całość wrzuciłem w diva potem 2 div dla input postion absolute marginesy i gra ale tylko pod ff w ie spada na dół input
pedro84
Cytat(Lejto @ 26.01.2010, 11:29:16 ) *
ok, zobaczę jak to będzie
może nie dopatrzyłem tego
używasz najnowszego firefoxa?

posklejałem ten header w całość wrzuciłem w diva potem 2 div dla input postion absolute marginesy i gra ale tylko pod ff w ie spada na dół input

Ja tam widzę dalej trzy, bez sensu trochę rozwiązanie smile.gif Firefox 3.5.7, pod dwójką nie sprwdzałem smile.gif
Lejto
bo nie aktualizowałem na serwerze ;p
pedro84
Cytat(Lejto @ 26.01.2010, 11:29:16 ) *
posklejałem ten header w całość wrzuciłem w diva potem 2 div dla input postion absolute marginesy i gra ale tylko pod ff w ie spada na dół input

To jak chcesz pomocy to zaktualizuj smile.gif
Lejto
już zaktualizowane ; p
pedro84
Cytat(Lejto @ 27.01.2010, 10:23:36 ) *
już zaktualizowane ; p

No i teraz git. W FF 3.5.7 jest wszystko ok.
bmL
Zauważ że takich rzeczy jak loga nie wrzuca się jako tło divów z prostej przyczyny: dla tła diva nie ustawisz atrybutu alt. Takie zastosowanie eliminuje przeglądarki które nie obsługują obrazków, boty które indeksują twoją stronę itp. Nie wspominam już o osobach niepełnosprawnych.
Tak orientacyjnie:
  1. <div id="top">
  2. <div class="left">
  3. <form action="szukaj" method="post"><input type="text" size="22" name="user" /><input value="" type="submit" id="img3" /></form>
  4. </div>
  5. <div class="center">
  6. <img src="...logo.gif" alt="Blog-Video Blog.oferta.com">
  7. </div>
  8. <div class="right"></div>
  9. </div>

css
  1. div#top {
  2. margin:0 auto;
  3. width: 900px; // nie wiem ile tam powinno być
  4. height: 300px; // nie wiem ile powinno byc
  5. }
  6. div#top div {
  7. float: left; // zeby byly w poziomie
  8. height: inherit; // wysokość taka sama jak w divie top
  9. }
  10. dv#top div.left form {
  11. margin: 100px 0 0 100px;
  12. }
  13. div#top div.left {
  14. background: url('...');
  15. width: xxPX;
  16. }
  17. div#top div.cnt {
  18. background: url('...');
  19. width: xxPX;
  20. }
  21. div#top div.right {
  22. background: url('...');
  23. width: xxPX;
  24. }


No i taki kod powinien się sprawować tak samo we wszystkich przeglądarkach. Upewnij się też że masz ustawione na stronie odpowiedni doctype.
pedro84
@bmL Nie mieszaj chłopakowi z tym kodem, przecież to masakra. Więcej divów nie mogłeś zrobić? Poza tym, tło ustawia się, ustawia. Jak najbardziej. Dajesz wtedyu <h1> w nim tytuł strony, slogan i nadajesz mu atrybut text-indent:-999em;. Ta metoda działa zdecydowanie lepiej niż alt dla <img>. Poczytaj trochę zanim kogoś wprowadzisz w błąd.
bmL
Ta a google indexuje to co jest przesunięte poza obszar strony... Właśnie do tego dąży albo już tak jest że ignoruje takie rzeczy BA! nawet usuwa strony ze swojej bazy danych za tworzenie niewidocznych dla użytkownika tagów. Więc życzę powodzenia z takim podejściem. A nie liczy się to ile jest divów tylko żeby rozwiązanie było praktyczne i czytelne teraz jeżeli będzie coś chciał w przyszłości wstawić np. po prawej strone reklamę (na przykład) to nie ma z tym problemu. Dodatkowo miłym rozwiązaniem jest ustawienia dla loga strony link przekierowujący na stronę główną ciekawe jak ustawisz to dla diva... javascriptem?... Najlepiej w ogóle wyeliminować ze swojej strony tag img bo po co on nam skoro można wstawić diva z tłem...
pedro84
Cytat(bmL @ 27.01.2010, 16:40:08 ) *
Ta a google indexuje to co jest przesunięte poza obszar strony... Właśnie do tego dąży albo już tak jest że ignoruje takie rzeczy BA! nawet usuwa strony ze swojej bazy danych za tworzenie niewidocznych dla użytkownika tagów. Więc życzę powodzenia z takim podejściem. A nie liczy się to ile jest divów tylko żeby rozwiązanie było praktyczne i czytelne teraz jeżeli będzie coś chciał w przyszłości wstawić np. po prawej strone reklamę (na przykład) to nie ma z tym problemu. Dodatkowo miłym rozwiązaniem jest ustawienia dla loga strony link przekierowujący na stronę główną ciekawe jak ustawisz to dla diva... javascriptem?... Najlepiej w ogóle wyeliminować ze swojej strony tag img bo po co on nam skoro można wstawić diva z tłem...

Oj Kolego, chcesz mi powiedzieć, że alt img jest bardziej atrakcyjny dla Google niżeli
  1. <h1><a href="strona.com">Strona.com - slogan strony</a></h1>
? Powodzenia życzę w takim razie zamykając radząc poczytać o poprawnych praktykach. A poprawność kodu ma znaczenie, jeśli o tym nie wiesz, poczytaj. EOT. Pozdrawiam.
bmL
Kolego czy ty przeczytałeś co napisałem (ze zrozumieniem)? Próbuję Ci powiedzieć że twoje ukrywanie tekstu poprzez text-indent:-999em jest łamaniem regulaminu, czy niewyraźnie jest to napisane?
Cytat
A poprawność kodu ma znaczenie, jeśli o tym nie wiesz, poczytaj.
A co ma piernik do wiatraka? Mój kod jest poprawny to twoje ukrywanie tekstu jest dziwnym wymysłem daleko oddalonym od standardów w3c.
Lejto
heh, dzięki chłopaki za rady smile.gif
jak już wspomniałem ten input źle działa pod IE wyświetla się na dole strony, jak temu zaradzić?
pedro84
Cytat(bmL @ 27.01.2010, 18:25:29 ) *
Kolego czy ty przeczytałeś co napisałem (ze zrozumieniem)? Próbuję Ci powiedzieć że twoje ukrywanie tekstu poprzez text-indent:-999em jest łamaniem regulaminu, czy niewyraźnie jest to napisane?
A co ma piernik do wiatraka? Mój kod jest poprawny to twoje ukrywanie tekstu jest dziwnym wymysłem daleko oddalonym od standardów w3c.

Chłopie, przecież Ty mówisz o czymś zupełnie innym. Ukrywanie tekstu za pomocą display:none; jest zabronione. Z resztą, poczytaj.
bmL
Odgrzeję naleśnika ale wcześniej nie zauważyłem odpowiedzi, oryginalny problem pewnie już jest rozwiązany ale w sprawie ukrywania tekstu zapraszam tutaj:
http://www.456bereastreet.com/archive/2005...s_to_hide_text/
Radzę dobrze się wczytać. Wpis co prawda sprzed 5 lat ale skoro wtedy ostrzegali że to może się zmienić to teraz pewnie nadal tak jest.
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.