Kuvakartan luominen HTML:ssä. Kuvakartan luominen HTML-grafiikkatiedostomuodoissa
HTML - Oppitunti 15. Navigointikartat - kartta
Monet HTML-sivut käyttävät niin kutsuttuja kuvakarttoja linkkien järjestämiseen. Tällä lähestymistavalla otat kuvan ja liität linkit sen eri osiin. Yleisin esimerkki on maailman turistikartat, kun napsautat sen osaa, jossa on maa, ja sinut ohjataan kyseiselle maalle omistetulle sivulle.Tällaiset kuvakartat voivat olla asiakas- tai palvelinpuolen. Asiakaskartan linkit tallentuvat itse dokumenttiin, ja hiirellä hiirellä selain määrittää itse, mille alueelle tämän pisteen koordinaatit kuuluvat ja navigoi haluttuun linkkiin.
Palvelinversiossa nämä koordinaatit välitetään ensin palvelimelle, käsitellään siellä erikoisohjelmalla ja vasta sen jälkeen seurataan linkkiä. On selvää, että asiakasnavigointikartat ovat parempia. Otamme ne huomioon.
Oletetaan esimerkiksi, että olemme kodinkoneliike ja sivustomme otsikossa on seuraava kuva:
Tehdään siitä navigointikartta, ts. kun napsautat jääkaappia, sinut ohjataan jääkaapeille omistetulle sivulle (jossa on mallit, kuvaukset ja hinnat), kun napsautat pölynimuria ja pesukonetta, siirryt niitä vastaaville sivuille.
Tätä varten meidän on kuvattava tämän kuvan alueet, jotka ovat linkkejä. Tunnisteita käytetään kuvaamaan tällaisia alueita vain yhdellä parametrilla nimi, joka määrittää linkkikartan nimen ja jota käytetään sitten linkittämiseen tähän karttaan.
Karttamme on yhdistettävä kuvaamme, tätä varten tagissa täytyy lisätä parametri käyttökartta, jonka arvo on korttimme nimi # (hash) -kuvakkeen jälkeen:
Kuvaa tiettyjä alueita tunnisteiden sisällä tunnisteita käytetään . Tällä tunnisteella on seuraavat parametrit:
- muoto- määrittää alueen muodon, voi saada seuraavat arvot:
- rect- suorakulmion muotoinen alue,
- ympyrä- ympyrän muotoinen alue,
- poly- monikulmion muotoinen alue,
- oletuksena- koko alue.
- cootds- asettaa erillisen alueen koordinaatit:
- varten rect suorakulmion vasemman yläkulman ja oikean alakulman koordinaatit on määritetty,
- varten ympyrä ympyrän keskipisteen ja säteen koordinaatit on määritelty,
- varten poly monikulmion kärkien koordinaatit määritetään vaaditussa järjestyksessä.
- href- määrittää linkin osoitteen.
- tavoite- käytetään kehyksiä käytettäessä ja ilmaisee kehyksen, johon sivu tulee ladata.
- alt- asettaa vaihtoehtoisen tekstin alueelle.
Nyt meidän on päätettävä näiden alueiden koordinaateista. Itse asiassa tämä on aikaa vievin prosessi. Esimerkissämme päätimme, että alueet olisivat suorakaiteen muotoisia, ja helpotimme tehtäväämme huomattavasti. Meidän on kuitenkin määritettävä kolmen suorakulmion vasemman yläkulman ja oikean alakulman koordinaatit.
Näihin tarkoituksiin käytetään yleensä jotain ohjelmaa, esimerkiksi Image Ready, jossa on erityinen työkalu alueiden hahmottamiseen ja joka rakentaa automaattisesti kuvaukset näistä alueista. Näiden ohjelmien toiminnan huomioiminen ei sisälly HTML-kurssiin, joten tässä asetetaan koordinaatit "silmällä". Katsopa kuvaamme uudelleen:
Kuvamme leveys on 738 pikseliä ja korkeus 192 pikseliä. Piirretään viivoja alueidemme rajoja pitkin ja määritetään karkeasti koordinaatit. Nyt olemme valmiita lisäämään nämä parametrit tunnisteihimme .
Tulos:
Nyt alueistamme on tullut linkkejä (jos liikutat hiiren osoitinta, siitä tulee kämmen). Tällä sivustolla ei ole jääkaapeille omistettuja sivuja, joten linkit vievät sinut samalle sivulle, mutta jos luot haluamasi sivut, aluetta klikkaamalla pääset sivulle.
Tämä päättää oppituntimme. Olet tutustunut kaikkiin HTML-kielen ominaisuuksiin. Vahvistaaksesi taitojasi katso kaksi oppituntia Verkkosivuston tekeminen – taulukkoasettelu.
Lopuksi minun on sanottava, että HTML-tunnisteissa on vielä kaksi upeaa elementtiä
Tag
Säiliön sisällä
- yksi tai useampi elementti< >. Näillä elementeillä ei ole sisältöä, mutta ne määrittelevät kuvakartan geometriset alueet ja kuhunkin alueeseen liittyvät hyperlinkit
- lohkotason sisältöä. Tämän sisällön tulee sisältää< >, jotka määrittelevät kartan geometriset alueet ja kuhunkin alueeseen liittyvät linkit
Jos tag
Jos alueet menevät päällekkäin, asiakirjassa aiemmin näkyvän alueen määrittelevä elementti on etusijalla.
HTML: 3.2 | 4 / XHTML: 1.0 | 1.1
Syntaksi
Attribuutit
luokkaa | määrittää käytettävän luokan nimen |
---|---|
ohj | määrittää merkkien suunnan:
|
id | yksilöllinen tunniste |
lang | määrittää näytettävän asiakirjan kielen |
nimi | kuvakortin nimi. Käytetään tunnisteen usemap-parametrin arvona |
onblur | elementti menettää tarkennuksen |
onclick | napsauta elementtiä |
ondblclick | kaksoisnapsauta elementtiä |
keskittyä | elementti keskittyy |
onkeydown | painamalla näppäintä, kun elementti on tarkennettu |
näppäinpainalluksella | näppäimen painaminen ja vapauttaminen, kun elementti on tarkennettu |
onkeyup | aiemmin painetun näppäimen vapauttaminen, kun elementti on tarkennettu |
hiiri alas | napsauttamalla hiiren painiketta, kun elementti on kohdistettu |
onmousemovessa | hiiren osoittimen liike, kun elementissä on kohdistus |
on hiiri ulos | hiiren osoittimen siirtäminen pois elementistä |
hiiren päällä | asettamalla hiiren osoittimen elementin päälle |
hiirellä | aiemmin painetun hiiren painikkeen vapauttaminen, kun elementti on kohdistettu |
tyyli | määrittää rivin sisäisen tyylisivun |
otsikko | työkaluvihje |
Esimerkki
- sulkeva tagi vaaditaan ()
- id-attribuutti vaaditaan
- On suositeltavaa tarjota näytönohjainkortille tekstivaihtoehto tapauksiin, joissa grafiikkaa ei ole saatavilla tai käyttäjä ei voi saada niitä
- Kuvakartan käyttämistä päänavigointina ei suositella, koska vanhojen ja puheselaimien tuki on heikko
Tag — lohkotason elementti, ts. tunnisteen sisältö alkaa aina uudelta riviltä. Tagin perään lisätään myös rivinvaihto.
Hei. Äskettäin minulla oli mahdollisuus käsitellä niin erityistä html-ominaisuutta kuin kuvakartta. Rehellisesti sanottuna minulla ei ole ollut mahdollisuutta käyttää sitä usein, ja sitten yleensä kaikki tehtiin suorakaiteen muotoisilla vyöhykkeillä. Mutta tämä ei ollut sama tapaus. Tehtävänä oli lähettää linkit yksittäisiin kuvan alueisiin, joka oli maan kartta, ja valitettavasti kankaista tai svg: stä ei ollut kysymys. Vain html vain hardcore! Joten tehtävä on asetettu, Google on aktivoitu ja voimme aloittaa.
Teoria
Aloitetaan teoriasta, missä olisimme ilman sitä? Kuvakartta sisältää kaksi tunnistetta: kartta- korttipakkaus ja alueella- valintavyöhyke. Kartta ei ole rajoitettu yhteen vyöhykkeeseen, vaan se voi sisältää rajattoman määrän niitä. Tag alueella Vakiomääritteiden lisäksi sillä on myös omat:- koordinaatit- valintaalueen koordinaatit
- href- linkki, johon siirryt, kun napsautat vyöhykettä
- nohref- osoittaa, että vyöhykkeellä ei ole linkkiä
- muoto- valintalomake
- ympyrä- valinta-alue ympyrän muodossa
- oletuksena- valitsee koko kuva-alueen
- poly- valinta-alue monikulmion muodossa
- rect- valinta-alue suorakulmion muodossa
- tavoite- määrittää, missä linkki avautuu
Koska valinta-alueeni piti olla monikulmio, määritämme muoto-attribuutin, aluetunnisteen arvon monikulmioalueeksi. Tässä tilassa pisteen koordinaatit suhteessa vasempaan yläkulmaan näytetään pilkuilla erotettuina - x,y. Pisteet erotetaan myös pilkuilla, mikä aiheuttaa aluksi hämmennystä koodia luettaessa.
Kirjoitamme Paint
En ollut tyytyväinen mahdollisuuteen käyttää Photoshopia jokaisen pisteen koordinaattien löytämiseen, kirjoittamalla numerot manuaalisesti uudelleen Info-ikkunasta, ja Googlessa löytämäni työkalut olivat liian hirviömäisiä. Päätimme kirjoittaa oman pienen skriptimme, jonka avulla pystyisimme sijoittamaan pisteitä yksinkertaisesti klikkaamalla haluttua aluetta kuvassa ja näyttämään valmiin koodin.Ensin valmistellaan asettelu:
Painikkeet maalin hallintaa varten lisätään #bariin.
Luotu html-koodi näkyy kohdassa #info.
Teksti ( marginaali: 0; täyte: 20px; kirjasinperhe: Arial, Helvetica, sans-serif; ) img ( reunus: ei mitään; ääriviivat: ei mitään; näyttö: esto; -moz-user-select: ei mitään; -webkit-user -select: ei mitään; käyttäjän valinta: ei mitään ) .canvas.draw ( reunuksen väri: #3C0; ) .canvas .inner ( sijainti: suhteellinen; ) .canvas .point ( leveys: 1px; korkeus: 1px; taustaväri: #fff; reunus: 1px kiinteä #000 ; ylivuoto: piilotettu; 8px: sanan rivitys;
Javascriptissä kaikki on melko yksinkertaista. Kirjoitusprosessin aikana käytin omaa taistelukirjastoani, joten älkää ihmetelkö epätyypillisiä toimintoja. Ensin liitetään hiiritapahtuma #canvasille, jossa on piste renderöidään ja sen koordinaatit tallennetaan.
Muutt lisäpiste = funktio(e)( var e = _.getEvent(e), offset = _.getOffset(solmut["canvas"]), x = e.clientX + _.getDocScrollLeft() - offset, y = e. clientY + _.getDocScrollTop() - offset, solmu = solmut["canvas"].appendChild(_.node("div", ("luokka":"piste"))); +"px"; node.style.left = x-1+"px"; ;
Sitten kirjoitamme funktion, joka luo karttamme html-koodin.
Var renderInfo = function())( var text; _.clearNode(nodes["info"]); solmut["info"].appendChild(_.node("span", "
) text += "">"; solmut["info"].appendChild(_.node("span", teksti)); solmut["info"].appendChild(_.node("br")); ) ) nodes["info"].appendChild(_.node("span", "
Rajataan kaikki luokassa, muutama aputoiminto, siinä kaikki. Toivottavasti tästä työkalusta on jollekin hyötyä.
"Tein mallin linkkien sijoittamiseen eri verkkosivuille ("") sen tietyille alueille
Jos nyt klikkaa muotoja, joissa on kirjoituksia, vastaavat sivut avautuvat: profiili, päiväkirja tai kaikki "Photoshop Lessons" -osiossa olevat viestit (huomio! Kun blogi on siirretty WordPressiin ja muokattu uudelleen, linkit eivät toimi! mutta oppitunti on edelleen ajankohtainen!)
Jotta kuva toimisi, kirjoitin suunnilleen seuraavan HTML-koodin:
Tämä koodi voidaan lisätä viestikenttään ("Lähde"-painiketta painettuna) tai epigrafiin...Muuten, aiheesta on muitakin viestejä: "Mikä on HTML", "kuvien HTML-koodi", "
Kuvalinkki” ja niin edelleen.
1. Koordinaatit
Yllä olevan koodin muodostamista varten muistin pienen geometrian :)
Koordinaattijärjestelmä: X-akseli - ylhäältä alas, Y-akseli - vasemmalta oikealle
Voit asettaa kuvion koordinaatit määrittämällä:
- neliö (tai suorakulmio), jonka sivut ovat yhdensuuntaiset akselien kanssa - kahden vastakkaisen kulman koordinaatit - X1, Y1 ja X2, Y2
- monikulmio - KAIKKIEN kulmien koordinaatit
— ympyrä — keskipisteen koordinaatit ja säde. Minun tapauksessani käy ilmi, että tarvitsen koordinaatit— "Profiili"-linkille (suorakulmio), pisteet D, E, F, G, H - "Päiväkirja"-linkille (polygon), Q ja pituus R - "Photoshop Lessons" -linkille (ympyrä). Kaikki nämä numerot yllä olevassa HTML-koodissa on korostettu punaisella.
Lisäksi sinun on tiedettävä kuvan koko pikseleinä (vihreä väri) Erityistä tarkkuutta ei tarvita, joten voit määrittää koordinaatit Photoshopin "viivaimen" avulla - kutsua sitä napsauttamalla
Ctrl+R Minusta oli mielenkiintoisempaa saada joku muu laskemaan koordinaatit. Tätä varten käynnistän MS Paint
(Käynnistä - Kaikki ohjelmat - Apuohjelmat - Paint) ja avaa siihen piirros. Kun siirrät osoittimen haluttujen pisteiden päälle, niiden koordinaatit ilmestyvät alapaneeliin, jotka kirjoitan huolellisesti ylös
2. HTML-koodi
Navigointikartat määritetään tunnisteella Karttatunniste sisältää tunnisteita
, jotka määrittelevät piirustuskartan geometriset alueet ja niihin liittyvät linkit.
— Näin minä sen keksin: navigointikartan luomiseen tarvitset:
— tagit kuvan kuvauksella
— karttatunnisteet
alueen tunnisteet
- Minun tapauksessani arvot osoittautuivat: leveys ="640" korkeus ="367"
- - kuvan mitat
- src="https://site/f02c73a3cd94.jpg" - kuvan osoite sivustolla usemap="# kuva" — kuvakartan tavanomainen nimi
- (voi olla mikä tahansa) kartan nimi="kuva" (- kortin nimi täysin
vastaa yllä olevaa)
Linkkialueiden arvot – href – linkin kohde, muoto – alueen muoto ja koordinaatit – koordinaatit – vastaavat kolmea kuvan aluetta.
- Suorakulmio "Profiili"
- href="https://site/profile/" — profiilisivun osoite
- shape="rect" - "suorakulmion" muodon nimitys
coords="235,61,472,117" — pisteiden A (235,61) ja C (472,117) koordinaatit
- Monikulmio "Päiväkirja"
- href="https://site/blog" - päiväkirjasivun osoite
- shape="poly" - "polygon"-muodon nimitys
coords="235,118,362,118,474,152,457,207,229,146" - monikulmion kulmien koordinaatit: pisteet D (235,118), E (362,118), F (474,152), G (457,20) 9 ja 4 (20) 2
- Ympyrä "Photoshop Lessons"
- href="https://site/showjournal.php?journalid=2447247&keywordid=929323" — "Photoshop Tutorials" -osiossa olevien viestien sivun osoite
- shape="circle" - "ympyrän" muodon nimitys
coords="551,198,65" — ympyrän koordinaatit: keskipiste — piste Q (551,198) ja säde — R=65
3. Lopeta
Vaihdoin kaikki saadut arvot navigointikuvakartan "järjestelmän" HTML-koodiin ja sain seuraavan:
Juuri tämä koodi "muuttuu" kuvaksi, jossa on linkkialueita.
Jos löydät virheen, korosta tekstinpätkä ja napsauta Ctrl+Enter.
Vlad Merževitš
Kuvakarttojen avulla voit linkittää linkkejä saman kuvan eri osiin. Toteutettu kahdessa erilaisia vaihtoehtoja - palvelin ja asiakas. Palvelinvaihtoehtoa käytettäessä selain lähettää palvelimelle pyynnön saada valitun linkin osoite ja odottaa vastausta vaadituilla tiedoilla. Tämä lähestymistapa vaatii lisäaikaa tuloksen odottamiseen ja erilliset tiedostot jokaiselle kuvakortille.
Asiakasversiossa kartta sijaitsee samassa HTML-dokumentissa kuin linkki kuvaan.
Kuvakartan asiakasversio
Käytä tunnisteen usemap-attribuuttia osoittaaksesi, että kuva on kartta .
Arvo on linkki kortin kokoonpanon kuvaukseen.
Välilehti 4
.
Tämän tagin name-attribuutin arvon on vastattava käyttökartassa olevaa nimeä.
Voit määrittää aktiivisen alueen, joka on linkki HTML-dokumenttiin, käyttämällä tunnistetta
AREA-tunnisteen attribuutit
muoto
Määrittää aktiivisen alueen muodon. Muoto voi olla ympyrän (ympyrän), suorakulmion (suora), monikulmion (poly) muodossa.
alt
Lisää vaihtoehtoisen tekstin jokaiselle alueelle. Toimii vain linkin kommenttina, koska se ei näy näytöllä.
koordinaatit
Asettaa aktiivisen alueen koordinaatit. Koordinaatit mitataan pikseleinä kuvan vasemmasta yläkulmasta, mikä vastaa arvoa 0,0. Ensimmäinen numero on vaakakoordinaatti, toinen on pystysuora koordinaatti. Koordinaattiluettelo riippuu alueen muodosta.
Ympyrälle määritetään kolme numeroa - ympyrän keskipisteen koordinaatit ja säde.
Suorakulmiossa vasemman ja oikean alakulman koordinaatit.
Monikulmiolle määritellään sen kärkien koordinaatit (kuva 2).
Riisi. 2. Monikulmion koordinaattipisteet
1. Karttojen avulla voit määrittää linkkialueen minkä tahansa muodon. Koska kuvat ovat luonteeltaan suorakaiteen muotoisia, monimutkaisen muotoisen graafisen linkin tekeminen esimerkiksi maantieteellisen alueen osoittamiseksi ei ole mahdollista ilman kuvakarttoja. Maantieteellisissä aiheissa kuvakarttoja käytetään yleensä useimmiten.
2. On mukavampaa työskennellä yhden tiedoston kanssa - sinun ei tarvitse huolehtia yksittäisten fragmenttien yhdistämisestä ja piirros voidaan helposti sijoittaa oikeaan paikkaan.
Vikoja
1. Et voi asettaa työkaluvihjettä ja vaihtoehtoista tekstiä yksittäisille alueille. Vaihtoehtoisen tekstin avulla voit saada tekstitietoa piirroksesta, kun kuvan lataus on poistettu käytöstä selaimessa. Koska kuvat ladataan sen jälkeen, kun selain on saanut niistä tiedon, kuvan korvaava teksti tulee näkyviin aikaisemmin. Ja kun se latautuu, teksti korvataan kuvalla.
Kuvakartoissa tämä ominaisuus on tärkeä, koska jos poistat kuvien katselun käytöstä, kuten monet käyttäjät tekevät, näet vain yhden tyhjän suorakulmion.
2. Kun linkkialueen muoto on monimutkainen, HTML-koodin määrä kasvaa. Ääriviiva on likimääräinen sarjalla suoria segmenttejä tällaisen janan jokaiselle pisteelle, on määritettävä kaksi koordinaattia, ja tällaisten pisteiden kokonaismäärä voi olla melko suuri. Rehellisesti sanottuna on huomattava, että monimutkaiset muodot ovat erikoistapaus ja niitä käytetään melko harvoin.
3. Kuvakorteilla ei voi luoda erilaisia tehosteita, jotka ovat käytettävissä, kun yksi kuva leikataan fragmenteiksi: rullaava tehoste, osittainen animaatio, kuvien yksilöllinen optimointi niiden nopeaa latausta varten.
Käytettävyys Käyttömukavuuden kannalta kuvakartoilla on vain yksi etu - erimuotoiset linkit. Tämä lisää selkeyttä tiedon esittämiseen - emme rajoitu linkin suorakaiteen muotoiseen muotoon, vaan voimme käyttää monimutkaisen konfiguraation linkkejä omiin tarkoituksiin. Muilta osin niistä ei ole hyötyä - tavalliset tekstilinkit ovat informatiivisempia, eivätkä ne pelkää sulkea kuvien näyttämistä selaimessa. Se, että yksi kuva latautuu nopeammin kuin sama kuva, mutta leikataan palasiksi ja tallennetaan sarjana, helppo päästä. Jokaista näistä lopullisista tiedostoista voidaan pienentää käyttämällä yksittäisiä optimointiasetuksia. Tämän seurauksena kaikkien fragmenttien kokonaistilavuus vie vähemmän tilaa kuin yksi kuva. Psykologista tekijää ei pidä väheksyä - ihmisestä näyttää siltä, että joukko pieniä kuvia latautuu nopeammin kuin yksi suuri.
Karttojen suurin haittapuoli on, että linkeillä ei ole selkeästi määriteltyjä rajoja. Siksi nämä rajat on korostettava eri keinoin jo kuvassa. Jos kuva ei jostain syystä lataudu, linkkijoukon ymmärtäminen on erittäin ongelmallista.
Vaihtoehtoiset vaihtoehdot
Aina ei ole kiireellistä tarvetta käyttää kuvakarttoja, joten huomioi, että muitakin on olemassa mahdollisia vaihtoehtoja suorittamalla annettu tehtävä.
Flashin käyttäminen
Voit luoda Flash-videoihin erilaisia linkkialueita ominaisuuksien avulla vektorigrafiikkaa. Sen laajojen ominaisuuksien ansiosta voit luoda upeita valikoita ja navigointia Flashissa. Mutta myös tässä vaaditaan varovaisuutta, jotta et menetä metsää puille.
Kuvan leikkaus
Tämä on yksi suosituimmista tavoista suunnittelussa. Tässä tapauksessa yksi kuva leikataan käyttämällä erityisiä ohjelmia palasiksi, jotka lopulta kootaan yhteen, luoden illuusion kokonaisesta kuvasta. Vaikka leikkausalueet voivat olla vain suorakaiteen muotoisia, useimmissa tapauksissa tämä riittää linkkien luomiseen.
Jokaiselle fragmentille voit valita sopivimman graafisen muodon, jossa se tallennetaan, optimointiparametrit ja lisätä vaihtoehtoista tekstiä. Silloin alueiden rajat ja kuvan korvaava teksti näkyvät selvästi, vaikka kuvien näyttö ei ole käytössä.
Jatkaa