kiepski96
29.03.2014, 12:33:34
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
29.03.2014, 13:03:31
Na bannerze:
text-align:center;
Na elemencie:
display:inline-block lub inline (ewentualnie, zależy jakiego typu jest element).
kiepski96
29.03.2014, 13:10:50
A jeśli na banner miałbym wstawić obrazek ?
trueblue
29.03.2014, 13:14:06
Tylko: text-align: center; dla bannera.
kiepski96
29.03.2014, 13:31:14
no ok, a jak będę chciał na tym responsywnym bannerze o szerokości 100% umieścić jakiś tekst bez wyśrodkowywania ?
trueblue
29.03.2014, 13:37:55
position: absolute lub position:relative;
left i top w %, px, cm, itp.
kiepski96
29.03.2014, 13:41:53
tylko że wtedy będę ustalał pozycję względem 0 0 strony, a nie elementu?
Wtedy podając tą absolutną pozycję podawać w % ?
norbi666
29.03.2014, 15:48:26
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
29.03.2014, 16:30:31
Zawsze tak robiłem, ale teraz nadając width 100% niestety wszystko się sypie...
trueblue
29.03.2014, 16:39:52
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
29.03.2014, 16:47:53
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
29.03.2014, 16:48:49
Jaki styl ma #banner i jaki H1?
kiepski96
29.03.2014, 16:54:35
#banner img{
margin-top: 2%;
}
#banner h1{
position:absolute;
top: 10px;
}
a sekcja #banner nie ma żadnego.
trueblue
29.03.2014, 16:57:57
Pisałem wyżej jaki będzie efekt jeśli nie nadasz bannerowi pozycji, a będziesz elementy wewnątrz pozycjonował absolutnie.
kiepski96
29.03.2014, 17:00:17
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..
trueblue
29.03.2014, 17:03:48
Nadaj #banner position:relative;
Podstawy:
http://kurs.browsehappy.pl/CSS/Position
kiepski96
29.03.2014, 17:05:29
Nadałem, ale nadal element nie ustawia się wewnątrz bannera..
#banner{
position: relative;
}
#banner h1{
position:absolute;
top: 10px;
}
<section id="banner">
<img src="images/header.png" width="100%"> </section>
trueblue
29.03.2014, 17:11:13
kiepski96
29.03.2014, 18:41:40
Czyli w czym może być problem, że w moim kodzie to nie działa ?
trueblue
29.03.2014, 18:44:32
Pod jaką przeglądarką testujesz?
kiepski96
29.03.2014, 18:52:59
Pod chrome...
Jeszcze raz wrzucę kod:
<section id="banner">
<img src="images/header.png" width="100%"> </section>
#banner{
position: relative;
}
#banner h1{
position: absolute;
top: 100px;
left: 100px;
}
trueblue
29.03.2014, 18:55:21
<section id="banner">
<img src="images/header.png" width="100%"/> </section>
kiepski96
29.03.2014, 19:01:01
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
29.03.2014, 22:26:23
Jaka wersja Chrome?
#banner{
position: relative;
width: 100%;
}
#baner img { width: 100%; }
#banner h1{
position: absolute;
top: 40%;
left: 40%;
}
<section id="banner">
<img src="https://www.google.pl/images/srpr/logo11w.png" width="100%"/> </section>
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.