• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Element stały względem obrazka

Aruba Cloud - Virtual Private Server VPS
0 głosów
177 wizyt
pytanie zadane 14 grudnia 2019 w HTML i CSS przez viGor Użytkownik (740 p.)
Cześć mam pytanie odnośnie umieszczenia elementu w stałym miejscu względem obrazka. Widziałem kilka ciekawych stron w internecie, które wyglądały tak że np. na zdjęciu na stronie głównej widzimy stolik(widok z góry), na którym stoi kubek z kawą, i rzecz w tym że niezależnie od rozmiaru okna przeglądarki  nagłówek strony jest zawsze po lewej stronie wspomnianego wcześniej kubka, a obrazek cały czas jest wyśrodkowany(mam na myśli że ten kubek jest cały czas na środku okna przeglądarki).

Jak uzyskać taki efekt?
komentarz 14 grudnia 2019 przez Tomek Sochacki Ekspert (227,490 p.)
najlepiej wejdź na tą stronę, potem w narzędzia developerskie i po prostu przeanalizuj css :)

1 odpowiedź

+1 głos
odpowiedź 21 grudnia 2019 przez pirouetti Mądrala (6,490 p.)
wybrane 21 grudnia 2019 przez viGor
 
Najlepsza

Można to zrobić na przykład tak:

Stworzyć div o powiedzmy nazwie hero.

Dla niego w css nadać:

.hero {
    display: flex;
    justify-content: center;
    align-items: center
}

Powyższy kod wyśrodkuje wszytko wewnątrz hero, pod warunkiem, że dodamy wysokość:

.hero {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh
}

100vh oznacza 100 procent wysokości okna przeglądarki.

Wewnątrz diva hero wstawiamy nasze zdjęcie, które zostanie wyśrodkowane.

Jeżeli jest to duże zdjęcie na cały ekran, i stolik jest zawsze na środku, a reszta zdjęcia zostaje ucięte dla urządzeń mobilnych, można dla hero wstawić to zdjęcie w background o tak:

.hero {
    background: url(zdjęcie) center/cover;
    height: 100vh
}

center/cover nieco może zmniejszyć i wyśrodkowuje zdjęcie nieco ucinając boki tła.

Samo center jednak twardo ucina tło zostawiając tą samą wielkość tego co jest w centrum zdjęcia w tle, więc chyba o to ci chodzi.

Sam tekst prawdopodobnie ma nadane takie wartości:

.text {
    position: absolute;
    top: 20rem;
    left: calc(50% - 10rem)
}

Wysokość w top musi być ustalona adekwatnie dla danego przykładu, tutaj wpisałem randomowo 20 rem.

Podobnie 10 rem randomowo, im więcej tym bardziej będzie od centrum się oddalać dany tekst. Jednak po ustaleniu, jak tutaj np 10 rem, wciąż przy resizowaniu przeglądarki będzie się wyświetlał w tej samej odległości od centrum.

Więc jeśli chcesz by tekst przesunąć 10rem od centrum, a sam tekst ma szerokość powiedzmy 12 rem, to należy nadać mu:

left: calc(50% - 16rem)

Dlaczego 16 rem?

Bo, dla tekstu o szerokości 12 rem, by go wyśrodkować (przy position absolute oczywiście) trzeba nadać:

left: calc(50% - 6rem)

50 procent minus połowa naszego elementu, a żeby o 10 rem przesunąć w lewo to 6 rem + 10 rem.

Podobne pytania

0 głosów
2 odpowiedzi 493 wizyt
pytanie zadane 7 stycznia 2023 w HTML i CSS przez Cypika Początkujący (290 p.)
0 głosów
1 odpowiedź 109 wizyt
pytanie zadane 9 czerwca 2020 w HTML i CSS przez rob Bywalec (2,440 p.)
0 głosów
3 odpowiedzi 1,998 wizyt
pytanie zadane 11 lutego 2020 w HTML i CSS przez Loveuso Nowicjusz (190 p.)

93,335 zapytań

142,331 odpowiedzi

322,415 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...