![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hej
Chcę umieścić obok siebie trzy elementy blokowe, ale tak, że środkowy (img) będzie miał stałą szerokość i będzie dokładnie na środku, a dwa div po bokach uzupełnią szerokość do 100%. Zależy mi na tym, żeby w samych div nic nie było. Chcę po prostu osiągnąć taki efekt, że na środku jest obrazek, a tło z lewej i prawej kurczy się i rozszerza wraz z rozdzielczością/szerokością przeglądarki. Może ktoś wie jak to zrobić? Od razu napiszę, że zależy mi na dokładnym ustaleniu pozycji eee1.png i eee2.png względem obrazek.png, więc odpada wpisanie do img background-image i margines auto. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
tak na szybko, przyszło mi na myśl coś takiego: robisz dwa divy po 50% width i 100% height, img pozycjonujesz np. przez fixed na środek i tym divom nadajesz tło. Z tym że tym sposobem strona nie może być ze zcrollem (dłuższa niż okno przeglądarki). Może napisz co to konkretnie ma być?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
To ma być pasek o wysokości 200px na samej górze strony.
Stworzyłem obrazek o szerokości 400px i wysokości 200px (eee.png) w ten sposób, że jego prawy koniec pasuje do lewego - czyli będzie się powtarzał jako tło dla obrazka z tytułem strony. Wziąłem takie dwa "tła" - wtedy razem mają 800px x 200px i na nich zrobiłem tytuł - nazwałem ten plik obrazek.png. i teraz chcę, żeby obrazek.png był zawsze pośrodku szerokości strony, a eee.png z lewej i prawej przylegały odpowiednio do jego początku i końca. Mógłbym zrobić jeden div z szerokością 100%, tłem, i dać w nim img, ale ten img ma rzucać cień, a starsze IE nie radzą sobie z tym (poza tym nie umiem robić półprzezroczystości - cień zrobiłem w gd php - nie znam się na programach graficznych :/). |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
czyli w czym konkretnie problem? ^^
co do przezroczystości, można w css, sprawdź http://www.w3schools.com/Css/css_image_transparency.asp, z tym że nie wiem jak stare przeglądarki to obsługują. a w programach graficznych z reguły się to robi przez zmniejszenie krycia (w gimpie masz tą opcje nad warstwami, jak się nie mylę to w photoshopie też). Ten post edytował krzywy36 5.03.2011, 22:56:43 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Programy graficzne nie są mi już potrzebne, bo sobie poradziłem z cieniem, ale chodzi o sam układ.
Może uproszczę sytuację, nie odnosząc się do grafiki. Mam pustą stronę i chcę zrobić na samej górze poziomy pasek o szerokości łącznej 100% i wysokości 200px z trzech div-ów w taki sposób, że lewy ma background-color czerwony, środkowy zielony, a prawy niebieski. Oprócz tego środkowy ma zawsze szerokość 400px i zawsze jest w samym środku, a lewy i prawy div przylegają do środkowego i "rozciągają się" do końca w zależności od rozdzielczości. Wychodzę z takiego kodu: Wiem, że to poprawna sytuacja, że nie widać czerwonego i niebieskiego div-a, ale jak je rozciągnąć, żeby otrzymać zielony w samym środku i o szerokości 400px, a czerwony i niebieski wypełniające kolejno lewą i prawą stronę? edit: Efekt, jaki chcę otrzymać ma być podobny do tego jaki daje poniższy kod, z tym, że, tak jak pisałem zielony ma mieć zawsze 400px (a nie 34%) i być pośrodku. Ten post edytował aeaeae 5.03.2011, 23:32:35 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
wymyśliłem coś takiego:
w chrome działa. Edit: z #left można usunąć float: left, bez tego też działa Ten post edytował krzywy36 5.03.2011, 23:50:19 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Powinno być ok, ale sprawdź jeszcze. Ten post edytował Damonsson 6.03.2011, 00:05:58 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za obie odpowiedzi. Pod firefoxem i chrome wszystko działa tak jak chciałem, tylko że dla przykładu od krzywy36 nie będę mógł ustawić obrazkowego tła prawej strony (tego zielonego paska) tak, żeby w odpowiednim miejscu stykało się z środkowym.
Poza tym oba przykłady sypią się pod IE6: -w przykładzie od krzywy36 środkowy pasek chowa się pod prawy div (ten 100%) i w efekcie widać z niego tylko 200px -w przykładzie od Damonsson bloki są przesuwane na dół Ogólnie to miałem nadzieję, że będzie się dało załatwić problem za pomocą float i width - w końcu to tylko trzy bloki obok siebie. (IMG:style_emoticons/default/sad.gif) Mogę prosić jeszcze o jakieś rozwiązania, tak żeby śmigały pod IE6? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
po co wspierać trupa, odpuść sobie IE6, co do tła - zaraz coś wymyśle (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Liczba osób korzystających z IE6 mieści się w granicach błędu statystycznego, olej to. Po za tym powinieneś zrobić coś dla dobra ludzkości i tym bardziej wgrać stronę która rozjeżdża się pod IE6. Chyba, że masz nad sobą kata, który od Ciebie wymaga zgodności z IE6 wtedy masz problem.
Swoją drogą nie wiem co @krzywy36 pali, ale musi być dobre, w życiu bym nie wpadł na taki pomysł, ale jeśli działa to w porząsiu (IMG:style_emoticons/default/wink.gif) Rozwiązałbym pewnie Twój problem dla IE6, ale nie mam do niego żadnego dostępu, nawet nie ruszy na 64bit, a nie chcę mi się kombinować, żeby działało. Więc musisz czekać na jakiegoś dobrego samarytanina. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pomysłu jak z tym tłem zrobić oO, konkretnie jak zrobić, żeby zawsze stykało się w odpowiednim miejscu z środkowym divem.
Bo o ile nawet w przykładzie Damonsson'a dla prawego diva nie będzie problemu (przesunie się tło o 200 px w prawo) to dla lewego diva nie wiem jak to zrobić (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
http://www.kurshtml.boo.pl/css/pozycja,tlo.html
Wystarczy w lewym bloku ustawić żeby tło powtarzało się od prawej strony. (IMG:style_emoticons/default/wink.gif) edit: O! Teraz widzę, że mogę zastosować background-position: repeat-x; center top. Tylko czy uda mi się dopasować dokładnie pixele? Lecę sprawdzić. (IMG:style_emoticons/default/tongue.gif) Ten post edytował aeaeae 6.03.2011, 15:09:14 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
ale tak czy siak musisz jakoś przesunąc tło 200 px w prawo albo w lewo żeby pasowało (IMG:style_emoticons/default/haha.gif)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na szczęście środkowy obrazek stworzyłem z dwóch teł. Tło ma 422px na 200px, a środkowy obrazek 844px na 200px. (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 12:21 |