Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS]Tło strony zależne od rozdzielczości
alex19
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Potrzebuję zrobić na stronie tło, które będzie się automatycznie dobudowywało w zależności od rozdzielczości ekranu.
Założenie jest takie, że domyślnie mamy jakiś rozmiar ekranu, a właściwie DIV'a, który jest wycentrowany na stronie.
Teraz powiedzmy, że DIV ma szerokość 600px. Na niego jest nałożone tło obrazkowe i wszystko gra. Na całą stronę jest ustawione czarne tło. Jeśli przeglądarka będzie miała okienko szerokości 600px, to zobaczymy dokładnie tego DIVa na środku.
Problem pojawia się jak okno będzie szersze, bo to "tło" z DIVa ma się poszerzać częściowo w prawą stronę do końca okna. Powiedzmy że chodzi o rozciąganie belki menu.
Zrobienie tego na całe okno to nie problem, bo wystarczy podłożyć tło na BODY i jest, ale jak sprawić żeby wypełniało się tylko w prawo od DIVa na środku?

Z tego co wyczytałem, to ustawienie powtarzania tła w poziomie od zadanego miejsca nie jest możliwe. Myślałem o upchnięciu po prawej jeszcze jednego DIVa, który by wypełniał pustą przestrzeń z prawej strony, ale szczerze mówiąc nie mam pojęcia jak to zrobić, żeby główny DIV był dalej na środku i czy w ogóle da się to tak zrobić.

Czy ktoś ma jakiś pomysł jak rozwiązać ten problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Kod
@media (min-width: 768px) {
    .container {
        background-image: url("../images/bg-above-768.png");
    }
}


Kod
@media (max-width: 767px) {
    .container {
        background-image: url("../images/bg-to-do-767.png");
    }
}
Go to the top of the page
+Quote Post
alex19
post
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


To jest jakaś opcja, ale nie do końca mi o to chodzi.
Główny kontener ma swoje tło i ono zostaje zawsze takie samo. Chodzi o bok na prawo od niego.
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


ja ten container podałem jako przykład. ja nie wiem co ty tam masz za kod, generalnie podałem ci przykład jak możesz użyć media, do stworzenia responsywnego layoutu. Bo w @media możesz wstawić co tylko chcesz, dzięki czemu na praktycznie każdej rozdzielczości możesz zmienić stronę całkowicie.

Ten post edytował by_ikar 4.06.2014, 17:03:31
Go to the top of the page
+Quote Post
alex19
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Tak, ale to nie rozwiązuje problemu w żaden sposób.

Pytanie jest jak po prawej stronie, i tylko po prawej, podłożyć jakieś tło (inne niż po lewej), które wypełni resztę (o ile jest) wolnej przestrzeni, która wynika z centrowania elementu DIV na stronie.
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Ta prawa część ma mieć wysokość równą omawianemu DIVowi?
Go to the top of the page
+Quote Post
alex19
post
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Może ale nie musi. Musi się zaczynać od samej góry i być co najmniej do 1/3 wysokości tego DIVa.

Może wstawię rysunek co chcę uzyskać, bo tak będzie łatwiej chyba....
(IMG:http://i58.tinypic.com/2hx94r4.jpg)

Na biało mamy DIVa. On ma ustawione jakieś tam tło na którym występuje sobie ten piękny pomarańczowy paseczek. Jak już wspomniałem DIV jest wyśrodkowany. Ja bym chciał, żeby ten pomarańczowy paseczek był dociągnięty zawsze do końca prawej strony, niezależnie od tego jak duże będzie okno przeglądarki, oczywiście bez zmiany położenia oraz szerokości naszego DIVa, który ma ją ustawioną na stałe.
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Może tak: http://jsfiddle.net/DJ7Wh/
A na kontenerze zawierającym DIV ustawić overflow-x:hidden; dla szerokości większych niż 600px, a dla mniejszych: .a div{display:none;}

Ten post edytował trueblue 4.06.2014, 18:55:42
Go to the top of the page
+Quote Post
alex19
post
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Taką opcję już rozważałem, ale nie wiem czy zauważyłeś, że zrobienie czegoś takiego powoduje przewijanie okna w poziomie, ale chodzi tylko i wyłącznie o wypełnienie marginesu - jak będzie miał 0px, to nic nie będzie, a jak 100px to wypełniamy tylko to 100px.

Chcę uzyskać taki efekt jakbym dla body dał background, ale tylko na prawą stronę połowy całości (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A nie wiem czy zauważyłeś, że zaproponowałem overflow-x:hidden na kontenerze zawierającym tego diva (np. na body).
Go to the top of the page
+Quote Post
alex19
post
Post #11





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


No to jest opcja.
Dla większych niż 600px? Jak to zapisać dla BODY?
Go to the top of the page
+Quote Post
trueblue
post
Post #12





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Zwykły css:
  1. .a div{
  2. display:none;
  3. }


Dla>600
  1. @media screen and (min-width: 601px){
  2. body{
  3. overflow:hidden;
  4. }
  5. .a div{
  6. display:block;
  7. }
  8. }


Obydwa oczywiście jednocześnie na stronie.

Ten post edytował trueblue 4.06.2014, 19:09:55
Go to the top of the page
+Quote Post
alex19
post
Post #13





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


OK. Potem sprawdzę czy to zadziałało (IMG:style_emoticons/default/smile.gif)

Działa wyśmienicie!
Go to the top of the page
+Quote Post

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: 22.08.2025 - 21:02