Diskuze: Base64 image
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 29 zpráv z 29.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
stačí 1x1px ?
data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
A jak v mediaQuery vyřešíš toto?
<img src="small.png"
srcset="small.png 600w, medium.png 1024w, large.png 1600w"
alt="Obrázek" >
Když do 600w nechci obrázek žádný.
vzhledem k tvému nicku bych nečekal, že budeš hledat ten nejmenší možný obrázek...
tak když ho chceš skrýt je nejlepší ho skutečně skrýt (display: none) a to udělat přes media query většinou jde.
Tak nevím co dělám špatně ale ten obrázek to nezobrazí.
<img alt="obr" srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 600w, img.jpg 800w ,img2.jpg 1200w, img3.jpg 4000w" />
Vlastně ani jiný, není problém to používat v srcset?
To dělám samozřejmě, teď mi ale jde o rychlost načítání.
display: none se nerenderuje, takže by se žádný obrázek neměl stáhnout.
Já celý život žiju v tom, že obrázky skryté css se stahují. Podívám se na to
Nestahuje se nejdříve HTML a až poté CSS? Obrázky se stahují všechny nezávisle na stylu viz Chrome dev tools nebo jak se to jmenuje
Nerenderuje, ale vetsinou stahuje (minimalne posledni Chrome/FF/IE11 ho
stahujou)
http://jsfiddle.net/dk3TA/
stahování - získávání dat ze serveru do tvého počítače
renderování - využití stažených dat v tvém počítači prohlížečem,
který je zobrazí
Díky, no a když už jsme tedy u toho jak by jste to řešili? Mám obrázek který chci využít až od nějaké velikosti. Tak mě napadlo použít responzivní obrázky s tím, že do určité šířky tam stahuji 1px png a skývám pomocí display: none. Ale pořád je tam request no tak jsem se ho chtěl zbavit tím 1px obrákem v base64 ale vypadá to, že to prohlížeč nějak nepobere a nebo to špatně zapisuji nevím.
<picture>
<source media="(min-width: 1024px)" srcset="large.jpg">
<source media="(min-width: 600px)" srcset="medium.jpg">
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="…">
</picture>
Toto ale už funguje
Obrázek je pokaždé jiný nebo se stahuje z CSS stejný?
Jde o to, že můžeš mít pozici kde se ti bude náhodně zobrazovat 1
obrázek z 10 (například) a nebo je jeden, který je definovaný v CSS a
tudíž by šlo udělat následující
<div class="obrazek"></div>
zapis do CSS
@media only screen and (max-width: 940px - toto si nastavíš dle libosti ale tento rozměr je tak nějak běžný) {
.obrazek {
display: none;
}
}
když nebude fungovat tak zkusit přidat !important, takže výsledný zápis by byl
@media only screen and (max-width: 940px - toto si nastavíš dle libosti ale tento rozměr je tak nějak běžný) {
.obrazek {
display: none !important;
}
A vzhledem k tomu, že tablety mají rozlišení přijatelné tak se stránka
na tabletu zobrazí pomalu jak v PC.
Například iPad mini 2 má rozlišení 2048 × 1536
Promiň ale asi jsi úplně nepochopil co řeším. Já to právě nechtěl dělat pomocí display: none, abych zbytečně nestahoval obrázek a zároveň nevytvářel request.
Jestli ten obrázek není nějak závratně velký tak bych to asi moc
neřešil. Faktem je, že nepochopil
Nicméně pokud to je obrázek, který má pár kb (doslova pár) tak bych to
neřešil. Tohle je jednoduché, rychlé a funguje vždy.
Nicméně pokud nevyhovuje tak se omlouvám.
Jen jsem chtěl poskytnout řešení.
Já třeba používám jen mediaquery a nikdy nebyl problém s
načítáním/rychlost
Jo to jo. Ale to tam nemáš skoro nic
Nicméně teď mě napadlo, že to co jsem ti napsal se může klidně použít
i tak. Stačí nahrát ještě jeden obrázek (třeba 1x1px a dát ho jako
background v mediaquery. Tím se ti nebude načítat nic tak velkého a
nemusíš se obávat o velkou datovou zátěž.
Nicméně problém je, že pod vteřinu to načteš ty ale co ostatní? Slabší
internet atd
Je moc věcí které to mohou ovlivnit.
Ale jak by ten bg zabránil načtení toho obrázku? Nijak. Jak říkáš ještě jeden, takže se budou stahovat rovnou 2. Já už to vyřešil, přečti si předchozí diskusi. Pod vteřinu beru pouze na desktopu s normálním připojením.
Nebudou se načítat 2. Mobilní verze si bere to co je za mediaquery. Pokud
je tam k tomu nějaká informace.
Pokud ano tak si bere hodnotu z mediaquery.
Ale chápu už co myslíš. Prostě chceš načíst web po 1 vteřinu. Nicméně
je tu hodně věcí, které nelze bohužel ovlivnit.
Každopádně už mlčím raději
Mobilní verze sice zobrazí jeden obrázek, ale stáhnou se oba.
Řekl bych, že prohlížeč stahuje vše, co vidí. A to vcětně odkazů v css.
Zobrazeno 29 zpráv z 29.