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

Zmniejszanie tła wraz ze zmniejszaniem okna przeglądarki

VPS Starter Arubacloud
0 głosów
272 wizyt
pytanie zadane 28 czerwca 2022 w HTML i CSS przez zbiku25 Gaduła (3,000 p.)

Hej,

Zrobiłem taką stronkę: https://www.akordeonista-wodzirej.pl/ .

W momencie gdy na komputerze zmniejszam rozmiar okna przeglądarki również stopniowo zmniejsza mi się zdjęcie tła pierwszego diva i zamiast tego powstaje biały obszar. 

Chciałbym aby po otworzeniu strony rozmiar zdjęcia tła automatycznie dopasował się do strony jednak w momencie zmniejszania okna przeglądarki pozostał bez zmian...

Czy da się to jakość zrobić?

Pozdrawiam,

body
{
	width: 100%;
	color: white;
	font-family: 'Mukta', sans-serif;
	margin: 0;
	background-image: url('../img/back.jpg'); 
 	background-repeat: no-repeat;
 	background-size: 100%;
}

 

3 odpowiedzi

0 głosów
odpowiedź 29 czerwca 2022 przez zerakot Obywatel (1,870 p.)
Ja bym opakował to, co ma się wyświetlać na 100vh ekranu początkowego w jakiś div i mu nadał background-image z background-size na cover i background-position odpowiednie dla Ciebie. Dodatkowo czas ładowania tej strony boli. Właśnie te zdjęcie go spowalnia (nie wiem jak inne, nie sprawdzałem). Zmniejsz jego rozmiar, usuń EXIF, ewentualnie dodaj lazy-loading. Użyj jakiś testów wydajności i sprawdzaj co jest problemem.
0 głosów
odpowiedź 2 lipca 2022 przez VBService Ekspert (255,800 p.)
edycja 3 lipca 2022 przez VBService

Spróbuj może np. tak:

body {
    width: 100%;
    color: white;
    font-family: 'Mukta', sans-serif;
    margin: 0;
    background-color: #191816;
}

#intro {
    height: 645px;
    background-image: url(../img/back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

lub tak

body {
    width: 100%;
    color: white;
    font-family: 'Mukta', sans-serif;
    margin: 0;
    background-image: url(../img/back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}

 

tu masz błąd

#foto {
	width: 50%;
	height: 80%;
	float: left;
	text align-content: right;
}

i tu masz błąd element <br> nie posiada "domknięcia" (usuń tego </br> lub zapisz po prostu <br>)

<div id="contact">
  <h1>Kontakt</h1>
  <hr>
  </br>
  <div id="foto">
    <img src="img/kontakt.jpg" width="571" height="493">
  </div>

 

 

może rozważ, też:

dodanie

/* dodaj do swojego pliku css */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth; /* płynne przewijanie strony */
    }
}

 

dodanie do

nav {
	position: sticky;
	top: 0;
	display: block;
	background-color: rgba(0,0,0,0.85);
}

 

zamianę

<div id="video">
  <h1>Wideo</h1>
  <hr>
  <h3><span class="blue">Na początek zapraszam do obejrzenia krótkiego filmiku.</span></h3>
  <iframe width="1120" height="630" src="https://www.youtube.com/embed/ecN4gheWA9o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
</div>

na

<div id="video">
  <h1>Wideo</h1>
  <hr>
  <h3><span class="blue">Na początek zapraszam do obejrzenia krótkiego filmiku.</span></h3>
  <div class="yt-iframe-wrapper">
    <iframe width="1120" height="630" src="https://www.youtube.com/embed/ecN4gheWA9o" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>      
  </div>
</div>
/* dodaj do swojego pliku css */
.yt-iframe-wrapper {
    position: relative;
    padding-bottom: 56.10%;
    height: 0;
    overflow: hidden;
}
.yt-iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

 

zamianę

.foto2 {
	display: inline-block;
	width: 20%;
	margin: 0 20px 0 20px;
	border: 10px solid white;
}

.foto2:hover {
	transform: scale(2);
}

na

.foto2 {
	display: inline-block;
	width: 20%;
	margin: 0 20px 0 20px;
	border: 10px solid white;
	transition: transform 200ms;
}

.foto2:hover {
	transform: scale(2);
}

 

lub

<div>
  <img class="foto2 left" src="img/1.jpg">
  <img class="foto2" src="img/2.jpg">
  <img class="foto2 right" src="img/3.jpg">
</div>
.foto2 {
	display: inline-block;
	width: 20%;
	margin: 0 20px 0 20px;
	border: 10px solid white;
	transition: transform 200ms;
}

.foto2:hover {
	transform: translateY(+70%) scale(2.5);
}
.foto2.left:hover {
	transform: translate(+70%,+70%) scale(2.5);
}
.foto2.right:hover {
	transform: translate(-70%,+70%) scale(2.5);
}

 

 

P.S.

Przy "zmniejszeniu" okna masz taki

 

proponuję

<article>
  <div class="details">
    <h2><span class="blue">GDZIE GRAM?</span></h2>	
    <ul>
      <li>Wesela</li>
      <li>Poprawiny</li>
      <li>Urodziny</li>
      <li>Imprezy firmowe</li>
      <li>Wszędzie gdzie oczekiwana jest dobra zabawa ;)</li>
    </ul>
  </div>
  <div class="details blue">
    <h2><span class="blue">CO GRAM?</span></h2>
    <ul>
      <li>Biesiada</li>
      <li>Utwory żołnierskie</li>
      <li>Utwory francuskie i rosyjskie</li>
      <li>Marsze weselne i wojskowe</li>
      <li>Wszystko czego klienci oczekują :)</li>
    </ul>
  </div>
  <div class="details">
    <h2><span class="blue">DLACZEGO WARTO?</span></h2>
    Mogę zagwarantować, że Twoja inwestycja zwróci się z nawiązką. Posiadam ogromne doświadczenie w obsłudze różnego typu uroczystości i eventów. Jeżeli zależy Państwu aby Wasi goście świetnie się bawili i długo wspominali Waszą imprezę to zadzwońcie - wspólnie uzgodnimy scenariusz.
  </div>
</article>
#offer {
	padding: 20px 0 20px 0px;
	background-color: #000C25;
	text-align: center;
	font-size: 18px;
}
#offer article {
	display: flex;
	flex-direction: row;
}
#offer article .details {
	width: 33%;
	margin: 20px;
	padding: 20px;
	border: 10px solid #C92F89;
	vertical-align: middle;
	color: white;
}
#offer article .blue {
	border-color: #3CBFAE;
}
@media screen and (max-width: 900px) {
	#offer article {
		flex-direction: column;
		align-items: center;
	}
	#offer article .details {
		width: 50%;
		min-width: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 750px) {
	#offer article .details {
		width: 60%;
		min-width: 60%;
		max-width: 60%;
	}
}

 

przy 900px lub mniej

0 głosów
odpowiedź 2 lipca 2022 przez spamator12 Nałogowiec (28,230 p.)
background-size: cover;
komentarz 2 lipca 2022 przez VBService Ekspert (255,800 p.)

W tym kontekście samo dodanie

background-size: cover;

nie wiele pomoże.

body {
    width: 100%;
    color: white;
    font-family: 'Mukta', sans-serif;
    margin: 0;
    background-image: url(../img/back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

 

komentarz 2 lipca 2022 przez spamator12 Nałogowiec (28,230 p.)
napisalem tylko sposob na regulowanie tla wraz z oknem - daj jakis link do jsfiddle czy tam codepen to zerkne.
komentarz 2 lipca 2022 przez VBService Ekspert (255,800 p.)

Użyj linku podanego przez OP-a,  https://www.akordeonista-wodzirej.pl/
 i devtools-a w przeglądarce  wink

komentarz 2 lipca 2022 przez spamator12 Nałogowiec (28,230 p.)
edycja 2 lipca 2022 przez spamator12
back.jpg w body normalnie sie powieksza/zmniejsza. A co dokaldnie chodzi?

 

edit: sorry nei doczytalem, zalatany jestem  - "Chciałbym aby po otworzeniu strony rozmiar zdjęcia tła automatycznie dopasował się do strony jednak w momencie zmniejszania okna przeglądarki pozostał bez zmian..."

 
edit2:
Mysle, ze najprosciej bedzie w JS ustawic bg width na dana szerokosc strony.

 

edit3:

 

ew mozesz dodac diva z position absolute oraz tym co podalem wczesniej:

background-size: cover;

oraz

background-attachment: fixed;

 

edit4:

sorry jestem chwilowo zawalony jak nie chcesz tego body/diva z:

 

background-image: url('../img/back.jpg');
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;

 

to pozno wieczorem napisze ci skrypt JS.
komentarz 2 lipca 2022 przez VBService Ekspert (255,800 p.)

@spamator12, obiecałeś  smiley

pozno wieczorem napisze ci skrypt JS

jestem szczerze zaciekawiony Twojej koncepcji.

Podobne pytania

0 głosów
1 odpowiedź 160 wizyt
0 głosów
2 odpowiedzi 217 wizyt
0 głosów
1 odpowiedź 157 wizyt

92,964 zapytań

141,930 odpowiedzi

321,163 komentarzy

62,298 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 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...