Válaszkész webhely létrehozása egy hét alatt: média lekérdezések (4. rész)

Szerző: Randy Alexander
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 16 Lehet 2024
Anonim
Válaszkész webhely létrehozása egy hét alatt: média lekérdezések (4. rész) - Kreatív
Válaszkész webhely létrehozása egy hét alatt: média lekérdezések (4. rész) - Kreatív

Tartalom

  • Szükséges tudás: Közbenső CSS és HTML
  • Igényel: Szövegszerkesztő, modern böngésző, grafikus szoftver
  • Projekt idő: 1 óra (összesen 5 óra)
  • Támogatási fájl

A CSS specifikáció viszonylag új része, a média lekérdezések kétségtelenül a legizgalmasabb szempontok a reszponzív web tervezésben, és a további kísérletezésre megérett terület.

Elfogadva az adaptív elrendezések szükségességét, néhányan a média lekérdezéseket tekintették eszköznek az adaptív elrendezések utólagos felszerelésére a meglévő rögzített szélességű helyeken. Azok között, akik alkalmazkodtak az érzékeny elrendezéshez, sokan tették ezt az asztal szempontjából, elrejtve a tartalmat és a szolgáltatásokat, ahogy a nézetablak szűkül.

A bemutató során alternatív, először mobil megközelítést választottunk. Most, amikor média lekérdezéseket szeretnénk bevonni, elgondolkodhatunk hozzátéve jellemzői a képernyőn megjelenő ingatlanok növekedésével, biztonságban abban a tudatban, hogy a webhelyünket alátámasztó jelölés és kialakítás tekintélyes kiindulópontot nyújt.


Ma túllépünk mintaportfóliónkon és elkészítjük a weboldalunkhoz szükséges egyedi oldalakat. Ennek során meglátjuk, hogyan épülnek fel a média lekérdezések, és azokat valóban reagálva valósítjuk meg.

01. Média lekérdezések hozzáadása

Miután a mintaportfóliónk összetevői teljesek és bármilyen elrendezés határain kívül dolgoznak, itt az ideje, hogy áthelyezzük őket a webhelyünket alkotó különböző oldalakra.

Kezdjük a honlapunkkal. Az asztalra orientált kialakításból láthatjuk, hogy szélesebb nézetablakokban az elrendezésnek a következőképpen kell megjelennie:

Tervezésünkből méréseket véve a következőképpen írhatjuk le a dokumentumterületet a CSS-ben:

.document {
párnázás: 0 5%;
}
.main {
szélesség: 74,242424242424%; / * 784/1056 * /
balra lebeg;
}
.kiegészítő {
szélesség: 22,727272727273%; / * 240/1056 * /
úszó: jobbra;
}


Amint az oktatóanyag második részében megtudtuk, a következő képletet használjuk az oszlopok százalékos szélességének kiszámításához:

(cél / kontextus) * 100 = eredmény

Amikor átméretezzük a böngészőnket, látni fogjuk, hogy az asztali elrendezésünk a legkisebb méretű képernyőtől a legnagyobbig terjed. Természetesen kis méretnél az oszlopok túl keskenyek és a vonalvezetés olyan rövid, hogy a tartalom nehezen olvasható. Csak akkor akarjuk ezt az elrendezést, ha elegendő hely áll rendelkezésre a működéséhez.

Ide érkeznek a média lekérdezések. Feltéve, hogy ennek az elrendezésnek csak akkor kell érvényesülnie, ha a böngésző szélesebb, mint 768 képpont, a következő CSS-t adhatjuk hozzá:

.document {
párnázás: 0 5%;
}
@media képernyő és (min-width: 768px) {
.main {
szélesség: 74,242424242424%; / * 784/1056 * /
balra lebeg;
}
.kiegészítő {
szélesség: 22,727272727273%; / * 240/1056 * /
úszó: jobbra;
}
}

Most, amikor a nézetablak keskenyebb, mint 768 képpont, a média lekérdezésen belül mindent figyelmen kívül hagynak. Minden olyan böngésző figyelmen kívül hagyja, amely nem támogatja a média lekérdezéseket is.


02. A média lekérdezésének anatómiája

Hogy megértsük, mi történik itt, nézzük meg, hogyan épül fel a média lekérdezés. Két részre oszthatjuk:

  • @media képernyő: A média lekérdezés első része a média típus. Akkor ismerheti fel ezt a szintaxist, ha valaha is felvett nyomtatási stílusokat a CSS-be. A típus nevét felismerheti a média attribútum a link> elem. Ennek oka, hogy mindkettő elfogadja a CSS 2.1 specifikációban található jóváhagyott médiatípus-készletet.
  • (min-szélesség: 768 képpont): A második rész a lekérdezés. Ide tartozik a funkció lekérdezendő (ebben az esetben a nézetablak minimális szélessége) és a megfelelő érték tesztelni (768px).

Amikor adaptív webdesignról beszélünk, hajlamosak vagyunk a szélességre összpontosítani, de vannak más funkciók is, amelyeket tesztelhetünk:

  • (min- | max-) szélesség és (min- | max) magasság: Ez lehetővé teszi számunkra, hogy lekérdezzük a nézet szélességét és magasságát (azaz a böngészőablakot).
  • (min- | max-) eszközszélesség és (min- | max) eszközmagasság: Ezek lehetővé teszik, hogy lekérdezzük a teljes kijelző szélességét. Tapasztalataim szerint általában ésszerűbb az elrendezéseket a nézetablakra alapozni, nem pedig a kijelzőre.
  • irányultság: Azonnal gondolkodhat itt a lehetőségeken; gondoljon olyan alkalmazásokra, amelyek a telefon tájolása alapján különböző tartalmat mutatnak - ugyanez lehetséges az interneten is.
  • (min- | max-) képarány: Ez lehetővé teszi számunkra, hogy az elrendezéseket a böngészőablak aránya alapján adaptáljuk ...
  • (min- | max) eszköz-képarány: … És ez lehetővé teszi számunkra, hogy ugyanezt tegyük az eszköz képaránya alapján is. Owen Gregory egy csodálatos cikket írt tavaly, amely azt vizsgálta, hogy miként használhatjuk ezt a lekérdezést arra, hogy a terveinket azokhoz az eszközökhöz kössük, amelyeken megjelennek.
  • (min- | max) monokróm: Azt is tesztelhetjük, hogy egy eszköz monokróm kijelzővel rendelkezik-e vagy sem. Képzelje el, mennyire hasznos lenne ez, ha az Amazon e-ink Kindle készülékei nem hazudnának, és a képernyőket színesnek jelentenék!

Lekérdezésünk utolsó része valószínűleg a leghasznosabb. Használva és, egy lekérdezésben több funkciót is tesztelhetünk. Például:

@media képernyő és (min-width: 768px) és (orientation: landscape) {
...
}

Mint látható, a média lekérdezések segíthetnek számunkra meglehetősen meggyőző tapasztalatok építésében - és csak a felszínt érintettem. Ha könnyű lefekvés előtt szeretne olvasni, akkor rosszabbul járhat, mint elolvasni a W3C média lekérdezés specifikációját, amely leírja az összes olyan tulajdonságot, amelyre tesztelhetjük.


03. Még egy dolog…

Annak ellenére, hogy a média lekérdezéseket belefoglaltuk a CSS-be, ha mobil eszközön tekintjük meg a webhelyünket, akkor észreveszi, hogy webhelyünket továbbra is úgy rendereljük, mintha a kijelző szélesebb lenne, mint 768 képpont.

Hogy megértsük, miért történik ez, egy rövid történelemórát kell tartanunk.

Amikor az eredeti iPhone-t 2007-ben bejelentették, az egyik legnagyobb eladási pontja az „igazi web” böngészésének képessége volt, még akkor is, ha ez fix szélességű, asztali orientált webhelyeket jelentett, amelyeket le kellett nyomni, hogy elférjenek a kis képernyőn. Az iPhone ezt úgy tudta megtenni, hogy a kijelzőjét 980 képpontos szélességűnek jelentette, mielőtt a weboldalakat kicsinyítette, hogy illeszkedjen a 320 képpontos képernyőhöz.

De az iPhone-t még a adaptív tervezés megjelenése előtt mutatták be. Most, hogy a szerzők mobilra tervezett webhelyeket terveznek, ez a funkció kevésbé hasznos. Szerencsére az Apple tartalmazott egy módszert ennek a viselkedésnek a megkerülésére, és mióta más gyártók átvették, szinte de facto alapértelmezett. Ez egyszerűen magában foglalja egy kislemez hozzáadását meta elem a jelölőnkhöz:



meta név = "nézetablak" content = "kezdeti méretarány = 1,0, szélesség = eszközszélesség" />

Ez azt mondja a nézetablakot ismerő böngészőknek, hogy egy webhelyet nem szabad kicsinyíteni, és hogy a böngészőablak szélességét ugyanúgy kell kezelni, mint az eszköz teljes szélességét. Miután hozzáadtuk ezt a sort, weboldalunk a tervezett elrendezéssel jelenik meg:

04. Töréspontok kiválasztása

Térjünk vissza média lekérdezésünkre:

@media képernyő és (min-width: 768px) {
...
}

Azokat az értékeket, amelyeknél az elrendezés alkalmazkodik, általában töréspontoknak nevezzük. Ha emlékszel, a második részben azt mondtam, hogy a pixelek használata a nem reagáló gondolkodás jelzését jelenti, mégis itt a 768 képpontot választottam, valószínűleg azért, mert egy ismert eszköz szélessége.

Ahelyett, hogy a népszerű eszközök jellemzői alapján választanánk a töréspontokat, hatékonyabb lehet a tartalmunkból származtatott értékeket megnézni, például az olvasás kényelmes vonalvezetését vagy a kép maximális méretét.



Mivel típusunkat ems használatával méretezzük, ésszerűnek tűnik, ha média lekérdezéseink ems-t is használnak. Valójában ennek további előnye van. Amikor a felhasználó átméretezi a szöveget a böngészőben, az oldalak alkalmazkodnak a kisebb töréspontok használatához. Weboldalunk nem csak a nézetablak, hanem a betűméret alapján is alkalmazkodni fog. Valójában csak akkor láttam meg, hogy Jeremy Keith bemutatja az em-alapú média lekérdezéseit, hogy ezek milyen hatalmasak lehetnek.

Noha a tervünk némi jelzést adhat a lehetséges töréspontokról, gyakran a kísérletezéssel lehet a legjobb választani. A böngészőablak szélességének beállításával úgy döntöttem, hogy a 800px jó szélesség, amelynél összetettebb elrendezésre lehet váltani.

Hogyan fejezzük ki mégis 800px-t az ems-ben? Ismét használhatjuk a képletünket, de mi a kontextus? A média lekérdezések ems kiszámításakor a kontextus mindig a böngésző alapértelmezett betűmérete függetlenül attól, hogy ezt az értéket felülírták-e a CSS-ben. Ez az alapértelmezés általában 16 képpont, amely a következőket adja meg:


800 / 16 = 50

Most már így frissíthetjük a média lekérdezésünket:

@media képernyő és (min-width: 50em) {/ * 800px * /
...
}

05. Miniatűrjeink beállítása

Emlékezhet arra, hogy a 2. részben a bélyegképeket reagálásra terveztük. Amint azonban ezeken a bélyegképeken lévő képek elérik teljes szélességüket, minden kép jobb oldalán megjelenik egy fehér terület. A média lekérdezések ismét lehetővé teszik, hogy ezt kijavítsuk.

Itt található az eredeti CSS:

ol.media li.media-item {
háttérszín: #fff;
margó: 0 4,16666666667% 4,166666666667% 0;
szélesség: 47,91666666667%;
balra lebeg;
}
ol.media li.media-item: n-dik gyermek (2n) {
jobb-jobb: 0;
}

Ez a szóköz akkor jelenik meg, amikor a böngésző szélesebbé válik, mint az 560 képpont.Kiválasztjuk ezt az értéket, amelyen felcserélhetjük a soronként három miniatűr megjelenítését. Ezt a következő CSS hozzáadásával tehetjük meg:

@media képernyő és (min-width: 35em) {
.media-item {
szélesség: 30,612244897959%; / * 240/784 * /
margó: 0 4,081632653061% 1,1429em 0; / * 0 32/784 16px 0 * /
}
.media-item: n -edik gyermek (3n) {
jobb-jobb: 0;
}
}

Ne feledje, hogy nem kell átírnunk a média lekérdezésen belül az indexképhez szükséges összes stílust, csak azokat a részeket, amelyeket adaptálni akarunk.

A böngészőben ezt a változást megtekintve észreveheti, hogy minden második indexkép jobb oldalán nincs margó. Ennek oka, hogy a következő CSS-szabály továbbra is aktív marad:

ol.media li.media-item: n-dik gyermek (2n) {
jobb-jobb: 0;
}

Módosítanunk kell a CSS-t a média lekérdezésünkön az érték visszaállításához:

@media képernyő és (min-width: 35em) {
.media-item {
szélesség: 30,612244897959%; / * 240/784 * /
margó: 0 4,081632653061% 1,1429em 0; / * 0 32/784 16px 0 * /
}
.media-item: n -edik gyermek (2n) {
jobb szél: 4,081632653061%;
}
.media-item: n -edik gyermek (3n) {
jobb-jobb: 0;
}
}

Média lekérdezések készítésekor mindig ügyeljen az ilyen öröklési kérdésekre.

06. Nem csak a szélesség

Fontos elgondolkodni a média lekérdezéseken nemcsak a szélesség, hanem más változók szempontjából is. Például a médiaelem oldalunkon lévő videó részben el van rejtve, ha a nézetablak magassága csökken. Megvan a technológia:

.media-object-wrapper {
aljzat: 56,25%;
szélesség: 100%;
magasság: 0;
pozíció: rokon;
}
@media képernyő és (max-magasság: 35em) és (tájolás: fekvő) {/ * 560px * /
.media-object-wrapper {
szélesség: 60%;
aljzat: 33,75%;
}
}

Még egy orientációs lekérdezést is felvettem, hogy tovább finomítsam ezt a viselkedést.

Hasonló megközelítést alkalmazhatunk a tervezés többi részében is, ha átcseréljük a fejléc nagyobb változatát, és ha a szabad terület rendelkezésre áll, a navigációs linkeket az oldal tetejére helyezzük.

  • Tekintse meg érzékeny honlapunkat
  • Tekintse meg érzékeny médiaoldalunkat

És itt van! Létrehoztunk egy érzékeny weboldalt - és egy napra van szükségünk! Nos, nem egészen. A rugalmas elrendezések, képek és média lekérdezések csak a kezdet az adaptív tervezési folyamatnak.

Holnap: A bemutató utolsó részében túllépünk az adaptív webtervezésen, és megvizsgáljuk, hogyan építhetünk valóban reagáló weboldalakat.

Paul az angliai Brightonban működő interakciótervező. A legboldogabb, ha egyszerű, mégis vonzó interfészeket készít, amelyek őshonosak az interneten.

Ajánljuk
Google Diák: Dokumentum megtervezése
Olvas

Google Diák: Dokumentum megtervezése

A Google Diák egyre nép zerűbb. Amint a világ egy lépé el eltávolodik az irodától é kiha ználja a távmunka előnyeit, egyre többen fordulnak ...
Minden idők 10 legjobb karácsonyi hirdetése
Olvas

Minden idők 10 legjobb karácsonyi hirdetése

Az ünnepi idő zak elérkezé ét zámo hagyomány kí éri, a lámpák felkapc olá ától az irodai partikig, de az évad reklámja tal...
Vintage pingvin stílusú borítók Tarantino filmekhez
Olvas

Vintage pingvin stílusú borítók Tarantino filmekhez

Mivel Quentin Tarantino zilárdan vi zatért a reflektorfénybe az O car-díja bo zú We tern Django Unchained-nek kö zönhetően, remek alkalom kiját zani a műfajt &#...