Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z responsywnym bannerem
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
kiepski96
Witam,

Na stronie umieściłem banner, któremu nadałem width 100%, aby był responsywny.
Chcę teraz umieścić na niego obrazek, który ma być na jego środku, jak to zrobić ? Jak powinna wyglądać struktura i jaką pozycję nadać temu elementowi w css ?

http://prntscr.com/354k1x
trueblue
Na bannerze:
text-align:center;

Na elemencie:
display:inline-block lub inline (ewentualnie, zależy jakiego typu jest element).
kiepski96
A jeśli na banner miałbym wstawić obrazek ?
trueblue
Tylko: text-align: center; dla bannera.
kiepski96
no ok, a jak będę chciał na tym responsywnym bannerze o szerokości 100% umieścić jakiś tekst bez wyśrodkowywania ?
trueblue
position: absolute lub position:relative;
left i top w %, px, cm, itp.
kiepski96
tylko że wtedy będę ustalał pozycję względem 0 0 strony, a nie elementu?
Wtedy podając tą absolutną pozycję podawać w % ?
norbi666
Musisz odpowiednio przemyśleć strukturę strony, zawsze możesz użyć margin:auto; co też wyśrodkuje Ci element. Osobiście wykonał bym to w sposób taki że ustalił bym diva dla którego baner bym wrzucał jako tło i jakiś element na środku wycentrował. Pisząc odpowiednio CSSa i strukturę HTMLa da się to uzyskać w ten sposób bez większego problem.
kiepski96
Zawsze tak robiłem, ale teraz nadając width 100% niestety wszystko się sypie...
trueblue
Cytat(kiepski96 @ 29.03.2014, 13:41:53 ) *
tylko że wtedy będę ustalał pozycję względem 0 0 strony, a nie elementu?

Jeśli nie nadasz banerowi position, a element będziesz pozycjonował absolutnie, to wtedy względem rodzica bannera.

Cytat(kiepski96 @ 29.03.2014, 13:41:53 ) *
Wtedy podając tą absolutną pozycję podawać w % ?

Zależy co chcesz osiągnąć. Piszesz o responsywności, więc raczej w procentach, chyba, że będziesz robił skalowanie i pozycjonowanie elementów w JS.
kiepski96
Zrobiłem strukturę:

<section id="banner">
<img src="images/header.png" width="100%">
<h1>ALALA</h1>
</img>
</section>

I niestety H1 nie chce pozycjonować się względem bannera ;(
trueblue
Jaki styl ma #banner i jaki H1?
kiepski96
#banner img{
margin-top: 2%;
}

#banner h1{
position:absolute;
top: 10px;
}


a sekcja #banner nie ma żadnego.
trueblue
Pisałem wyżej jaki będzie efekt jeśli nie nadasz bannerowi pozycji, a będziesz elementy wewnątrz pozycjonował absolutnie.
kiepski96
Troche Cię nie rozumiem.. przecież nie pozycjonuję bannera( usunałem to margin-top).
A elementowi nadaję absolute i nadal nie działa, bo pozycjonuje się względem strony, a nie bannera.. sad.gif
trueblue
Nadaj #banner position:relative;

Podstawy:
http://kurs.browsehappy.pl/CSS/Position
kiepski96
Nadałem, ale nadal element nie ustawia się wewnątrz bannera..

  1. #banner{
  2. position: relative;
  3. }
  4.  
  5. #banner h1{
  6. position:absolute;
  7. top: 10px;
  8. }


  1. <section id="banner">
  2. <img src="images/header.png" width="100%">
  3. <h1>ZMIEŃ SIEBIE</h1>
  4. </img>
  5. </section>
trueblue
http://prntscr.com/356mfy
kiepski96
Czyli w czym może być problem, że w moim kodzie to nie działa ? haha.gif
trueblue
Pod jaką przeglądarką testujesz?
kiepski96
Pod chrome...

Jeszcze raz wrzucę kod:

  1. <section id="banner">
  2. <img src="images/header.png" width="100%">
  3. <h1>ZMIEŃ SIEBIE</h1>
  4. </img>
  5. </section>
  6.  
  7. #banner{
  8. position: relative;
  9. }
  10.  
  11. #banner h1{
  12. position: absolute;
  13. top: 100px;
  14. left: 100px;
  15. }
trueblue
  1. <section id="banner">
  2. <img src="images/header.png" width="100%"/>
  3. <h1>ZMIEŃ SIEBIE</h1>
  4. </section>
  5.  
kiepski96
Niestety nadal pozycjonuje względem punktu 0,0 przeglądarki...
Tego nie mogę dopuścićw responsywnej stronie.

Nie ma jakichś innych sposobów aby umieścić na bannerze różnych rzeczy ?
Tak, aby to banner był tłem dla tych elementów, przy czym miał width 100% ?
norbi666
Jaka wersja Chrome?


  1. #banner{
  2. position: relative;
  3. width: 100%;
  4.  
  5. }
  6. #baner img { width: 100%; }
  7.  
  8. #banner h1{
  9. position: absolute;
  10. top: 40%;
  11. left: 40%;
  12. }
  13. <section id="banner">
  14. <img src="https://www.google.pl/images/srpr/logo11w.png" width="100%"/>
  15. <h1>ZMIEŃ SIEBIE</h1>
  16. </section>
  17.  
  18.  
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.