...Nors HTML sintaksę išmokti gana paprasta, vis dar yra daug elementų, atributų ir... kitų sąvokų, kurias turėsite išmokti ir sekti.... Nors šis kursas skirtas supažindinti Jūs susipažinsite su esminiais HTML dalykais, tai tikrai nėra sukurta tam, kad išmokytų jus kiekvieno turimo elemento ir atributo....Taigi, turėdamas tai omenyje, noriu jums pateikti keletą internetinių HTML išteklių... kurie tikrai gali jums padėti pradedate mokytis HTML ir…galite būti vertingomis nuorodomis vėliau, kai kuriate savo puslapius... Dabar pradėsime nuo pačių specifikacijų...

Ir tai yra kažkas, du dokumentai, kuriuos tikrai turėtumėte pažymėti.…Taigi, tai yra W3Cs HTML5 versija.…Galite pamatyti, kad jie turi naujausią leidėjo versiją.…Galite pažiūrėti redaktoriaus juodraštį… noriu pamatyti, kas „nusileidžia žemyn, vamzdžiu....Ir tai gana didelis....Jei slinkčiau žemyn, tu galižiūrėkite, kad čia tik turinys... Ir aš net neperžvelgsiu visų.

Tęsti nuorašo automatinį slinkimą

Atnaujinta
3/30/2017
Išleistas
3/16/2015

HTML yra programavimo kalba, kuri valdo žiniatinklį. Kaip ir bet kurią kitą kalbą, įvaldę ją, galite pradėti kurti savo turinį, nesvarbu, ar tai paprastos svetainės, ar sudėtingos žiniatinklio programos. Šiame kurse išsamiai apžvelgiami pagrindiniai dalykai: HTML sintaksė ir geriausios praktikos vyresnysis personalo autorius Jamesas Williamsonas apžvelgia įprasto HTML dokumento struktūrą ir parodo, kaip suskirstyti puslapius ir formatuoti turinį naudojant HTML.Plus, sužinoti, kaip kurti nuorodas ir sąrašus, ir sužinoti, kaip HTML veikia su CSS ir JavaScript, kad sukurtų turtingą turinį. , patrauklią vartotojo patirtį.

Temos:

  • Kodėl HTML svarbus?
  • HTML dokumento tyrinėjimas
  • Turinio formatavimas
  • Rodyti vaizdus
  • Naudojant nav, article ir div elementus
  • Nuorodos į puslapius ir atsisiunčiamą turinį
  • Sąrašų kūrimas
  • Stiliaus valdymas (šriftai, spalvos ir kt.)
  • Pagrindinių scenarijų rašymas

: Visada norėjau tai suprasti, bet jo reikšmė buvo tokia maža, kad visada buvo priežastis to nedaryti :)

Ir tau buvo įdomu: URL – kas tai?

Aš visada su tuo susiduriu, bet vis tiek nenorėjau suprasti skirtumo tarp terminų URI, URL, URN, o tada staiga pasirodė įrašas (deja, jis jau nugrimzdo į užmarštį), nusprendžiau - perskaitysiu sau, ir pasakyk kitiems, nors, kaip minėta aukščiau, niekas nuo to nepasikeis, bet man kartais patinka rašyti, todėl paskaitykite protingą vertėją:

Ar kada nors atkreipėte dėmesį į adreso juostą savo naršyklėje? Kas tai? URI, URL ar URN? Daugelis iš mūsų neskiria URI, URL, URN, o kai kurie iš mūsų net negirdėjo apie terminus URI ir URN, visi tiesiog vartoja terminą URL. Pabandykime tai išsiaiškinti kartu.

Santrumpos paaiškinimas

URI – vienodas išteklių identifikatorius (vienodas identifikatorius išteklius)
URL – Uniform Resource Locator (vieningas vietos ieškiklis išteklius)
URN – vienodas ištekliaus pavadinimas (vienodas vardas išteklius)

Dėmesio, čia tiesa slypi smulkmenose, bet kol kas niekas neaišku, kažkokia netvarka. Eikime toliau.

Apibrėžimas

URI: nurodo žiniatinklyje esančio šaltinio pavadinimą ir adresą. Paprastai skirstomi į URL ir URN, todėl URL ir URN yra URI komponentai.
URL: kai kurių žiniatinklio šaltinių adresas. URL apibrėžia šaltinio vietą ir kaip jį pasiekti.
URN: kai kurių žiniatinklio išteklių pavadinimas. URN esmė ta, kad jis apibrėžia tik konkretaus elemento pavadinimą, kurį galima rasti keliose konkrečiose vietose.

Nėra nieko geriau už konkretų pavyzdį

URI = http://site/2009/09/uri-url-urn.html
URL = http://svetainė
URL=/2009/09/uri-url-urn.html

Apibendrinant

URI yra abstraktaus identifikatoriaus sąvoka, o URL ir URN yra konkretūs adresų ir pavadinimų įgyvendinimai.
Tikiuosi, kad visiems viskas aišku. Būk protingas!

Kiekvieno iš mūsų suvokimas yra individualus, todėl - ginčykitės ir skaitykite diskusijas straipsnio komentaruose, ten yra daug įdomių dalykų.

Paprastai daugelis žiniatinklio valdytojų įkelia savo svetaines į prieglobą iškart po to, kai jos yra sukurtos. Kartu jie dažniausiai orientuojasi į teksto turinio prasmės teisingumą, o ne į vidinio puslapių kodo teisingumą.

Svetainės patvirtinimas

Tačiau yra ir kitų veiksnių, kurie gali turėti įtakos ir turi įtakos svetainės vietai. Be kita ko, jie apima techninius veiksnius. Na, o svetainės patvirtinimas taip pat priklauso techniniams. Taigi kas tai?

Jeigu paprastais žodžiais, tada svetainės patvirtinimas yra svetainės kodo techninės atitikties ir klaidų patikrinimas. Na, pavyzdžiui, pamiršote naudoti baigiamąją žymą - /html. Naujausiame HTML5 vizualiai niekas nepasikeis. Tačiau tai yra kodo klaida.

Rašant kodą galimos kitos klaidos. Ir vėl, šiuolaikinė kalba hiper žymėjimas ištvers daug. Pavyzdžiui, „pamiršus“ baigiamąją žymą /head. Vėlgi, skirtumo nepastebėsite. Bet ji yra))

Tiesą sakant, rašant svetainę gali būti gana daug klaidų. Ir dar blogiau, kai kurios iš šių klaidų taip pat gali pasirodyti vizualiai. Na, gal kaladėlės plauks, gal lygiavimas, o gal dar kažkas. Galimos klaidos, tūkstančiai. Ir ne visi jie yra įspūdingi.

Koks yra pavojus?

Na, atrodytų, na, kas čia blogo? Taip, reikia pasakyti, kad dažnai tokios klaidos nėra matomos. Arba, žmonėms nematomas. Tačiau mūsų svetainės puslapiuose gali apsilankyti ne tik žmonės, bet ir paieškos vorai, kurie visiškai nuskaito svetainę. Ir kiekviena klaida, kurią jie randa svetainėje, perduodama į paieškos sistemų, tokių kaip „Yandex“ ar „Google“, serverius.

O paieškos sistemos, savo ruožtu, pamatę, kad svetainėje yra daug kodo klaidų, gali padaryti išvadą, kad svetainė bloga. Ir tai reiškia, kad jie nekels jo paieškoje. Na, tai jau reikš, kad atsisveikink lankytojai nuo paieškų.

Taip, reikia pripažinti, kad tam tikras svetainės pesimizavimas dėl patvirtinimo klaidų yra gana retas. Bet tai visiškai įmanoma, o tai reiškia, kad reikia dirbti su patvirtinimu. Ir ką dėl to reikia padaryti? Žinoma, pirmiausia reikia surasti klaidas.

Bet kadangi rankiniu būdu tai yra labai daug laiko reikalaujantis ir nepatikimas verslas, ieškodami klaidų jie naudoja specialiosios tarnybos, vadinamieji „Validatoriai“.

Tikrinimo žymėjimo patvirtinimo paslauga.

Ši paslauga tikrina HTML ir XHTML kodų, kurie yra daugumos puslapių pagrindas kuriant beveik bet kurią svetainę, teisingumą ir nustato jos vidinę struktūrą. Šią tikrintuvo paslaugą galima pasiekti spustelėjus nuorodą http://validator.w3.org

Tačiau čia yra būtina sąlyga, kuri galioja ir kitiems tikrintojams: patikrinta svetainė arba jos patikrinti puslapiai turi būti įkelti į prieglobą. Priešingu atveju tikrintuvas „nežinos“ svetainės adreso ir nieko negalės patikrinti. Dabar jau galite apsvarstyti, kaip dirbti su šiuo tikrintuvu.

Įėjus į šios paslaugos puslapį, bus rodomas visas jos funkcinis paveikslėlis. Tačiau didžioji dalis to, kas pavaizduota ir parašyta, netaikoma pagrindiniam patikrinimui, ir visas jūsų dėmesys turėtų būti skiriamas tik tikrinamo puslapio adreso įvesties langui:

Būtent nuo to ir reikia pradėti.

Tiesą sakant, patikrinti svetainės patvirtinimą yra itin paprasta, kaip ir visas mūsų mirtingasis pasaulis: paslaugos adreso lange reikia įrašyti svetainės adresą, t.y. jo URL ir spustelėkite „Tikrinti“. Atlikęs tokį paprastą veiksmą, tikrintuvas „išpūs“ kelias sekundes ir išduos:

Tai reiškia, kad puslapio kode nėra klaidų ir galite būti visiškai ramūs.

Tačiau gali būti ir tokia nepageidaujama parinktis:

Tai jau blogiau ir reiškia, kad tikrinamo puslapio vidiniame kode yra klaidų. Tačiau tai visai nėra mirtina: tereikia slinkti žemiau esantį puslapį ir ten bus smulkiai surašytos visos tikrinimo metu rastos klaidos.

Be to, tikrintuvas ne tik išvardins rastas klaidas, bet ir tiksliai parodys, kurioje vidinio kodo eilutėje šios klaidos yra. Tad ilgai jų ieškoti nereikės. Čia, nieko neperdedant, galime tvirtai teigti, kad šis validorius veikia puikiai.

Tačiau tai dar ne viskas: tikrintuvas ne tik nurodo aptiktos kodo klaidos vietą, bet ir pateikia gana išsamias rekomendacijas, kaip šias klaidas pašalinti. Žinoma, tam nereikia tingėti ir atidžiai perskaityti viską, kas parašyta.

Kaip trumpą ir apibendrintą išvadą galime pasakyti:

  1. ši tikrinimo paslauga veikia puikiai ir gali labai greitai patikrinti svetainę.
  2. Na, mažas, bet labai gražus papildymas: svetainės patvirtinimas yra nemokamas.
  3. Dabar galime pereiti prie kito žingsnio: tai yra CSS kodo tikrinimas.

CSS patvirtinimo paslauga

Apskritai tai yra antroji aukščiau nurodytos paslaugos funkcija, tačiau ji „paaštrinta“ ne HTML ir XHTML kodų tikrinimui, o būtent kodo teisingumui patikrinti. css stilius esantis ant išorinio stalo. O norėdami patekti į paslaugos puslapį, turite sekti nuorodą http://jigsaw.w3.org/css-validator .

Beje, čia verta paminėti kai ką malonaus: šios paslaugos patikrinimas yra visiškai nemokamas. Taigi netraukite pinigų iš savo piniginės – leiskite jiems gulėti iki tinkamo momento. Tačiau pereikime prie šios antrosios paslaugos darbo metodikos.

Apskritai, visas darbas su CSS tikrintuvu yra visiškai identiškas kodo švarumo tikrinimui. Todėl nereikia pateikti atskiro tikrintuvo adreso juostos paveikslėlio. Tik kiek žemiau trumpai apsvarstysime pačią čekio tvarką ir viskas.

Tam reikia adreso juosta parašyti URL CSS lentelės, pvz., „http://mano svetainė/style.css“, tada paspauskite mygtuką su rusišku užrašu „Check“. Atitinkamai, šis tikrintuvas taip pat „išpūs“ kelias sekundes ir duos norimą rezultatą:

Tai reiškia, kad CSS lentelė parašyta teisingai ir joje klaidų nerasta.

Ir čia dar maloni staigmena: jei slinksite puslapiu žemyn šiek tiek žemiau, tada ten bus parašytas optimizuotas jūsų CSS lentelės kodas, iš kurio bus pašalinti visi nereikalingi užrašai ir visos kodo žymos bus išdėstytos seka. kuri atitinka optimalius visų darbo reikalavimus paieškos sistemos. Belieka nukopijuoti šį tobulą kodo pavyzdį ir įklijuoti į CSS lentelę.

Visai įmanoma, kad nutiks kažkas panašaus:

Tai reiškia, kad CSS kode buvo aptikta keletas klaidų, tačiau jūs neturėtumėte to bijoti. Iš karto po ta raudona linija tikrintuvas tiksliai nurodys, kuri žyma yra neteisingai parašyta. Belieka tik rasti šias žymas stiliaus lape ir atlikti reikiamus pataisymus.

Ir, žinoma, po to įkelkite pataisytą stiliaus lapą į pagrindinį kompiuterį ir, jei yra žalia linija, galėsite su džiaugsmu nukopijuoti optimizuotą CSS lentelės stiliaus kodą. Visiškai aišku, kad tada geriausia keistis senas kodasį naują ir optimizuotą.

Trumpa santrauka.

Aukščiau buvo aptartos dvi pagrindinės ir privalomos svetainės patvirtinimo patikros. Be šių patikrinimų net neturėtumėte atidaryti indeksavimo paieškos sistemoms faile robots.txt Priešingu atveju svetainė gali būti nepaisoma indeksuojant paieškos sistemos ir taikant atitinkamas sankcijas bus laikomas defektu.

Kad taip nenutiktų, jums reikia skirti vos kelias minutes, kad būtumėte visiškai ramūs ir visiškai įsitikinę savo svetainės ir visų jos puslapių technine būkle. Žinoma, taip pat būtina atlikti papildomus nuorodų ir inkarų patikrinimus, svetainės matomumą mobiliuosius įrenginius ir kitų kodų parametrus. Tik tada svetainė gali būti laikoma paruošta visapusiškam veikimui ir sėkmingam bei greita reklama TOP'e.

Iš anksto norėčiau pasakyti, kad visi kiti patikrinimai yra tokie pat greiti ir paprasti, kaip ir aukščiau aptarti – tereikia atidžiai perskaityti darbo su tikrintuvu tvarką.

Papildyta 2018-04-19

Dažnos galiojimo klaidos tikrinant HTML kodą

Nuspręsta atnaujinti straipsnį. HTML klaidos kodai, kurie dažnai randami svetainėse. Bet kokiu atveju, aš jų turėjau daug)). Valdymo priemonė klaidas paryškina geltona spalva.

1) Klaida: simbolio nuoroda nebuvo baigta kabliataškiu.


Klaida: simbolis nebuvo pertrauktas kabliataškiu - atitinkamai jį reikia pridėti.

2) Įspėjimas: skyriuje trūksta antraštės. Apsvarstykite galimybę naudoti h2-h6 elementus, kad visose dalyse pridėtumėte identifikuojančias antraštes.


Įspėjimas: ši skiltis neturi pavadinimo. Apsvarstykite galimybę naudoti h2-h6 elementus, kad visose dalyse pridėtumėte identifikuojančias antraštes. Čia viskas aišku, reikia įdėti bent vieną subtitrą. Tai net ne klaida, o rekomendacija.

3) Klaida: elementas noindex šiame kontekste neleidžiamas kaip elemento p antrinis.


Klaida: noindex elementas neleidžiamas kaip vaiko elementas p elementas šiame kontekste. (Slopinkite tolesnes šio pomedžio klaidas.)
Sprendimas paprastas, reikia pakomentuoti „noindex“ žymą, vaizdas atrodys taip:

4) Klaida: centrinis elementas yra pasenęs.

Klaida: "centro" žyma yra pasenusi - ją reikia pakeisti, jei mes kalbame apie img, galite naudoti atributą align. Jei kas nors kitas yra centre, pakeiskite jį div.

5) Img elementas turi turėti alt atributą, išskyrus tam tikrus


Klaida: img elementas turi turėti alt atributą - čia viskas aišku, reikia pridėti alt atributą, net jei jis tuščias, klaida išnyks.

6) td elemento plotis yra pasenęs. Vietoj to naudokite CSS.

Klaida: elemento „td“ atributas „width“ nebenaudojamas

7) „Javascript“ ištekliams tipo atributas nereikalingas


Klaida: tipo atributas nereikalingas javascript ištekliams. Sprendimas yra tiesiog pašalinti viską, kas nereikalinga, ir palikti tik „scenarijaus“ žymą.

8) Img elemento lygiavimo atributas yra pasenęs.


Klaida: img elemento lygiavimo atributas nebenaudojamas. Padarykite vaizdo išlygiavimo skyrelius.

ResourceBundle.Control klasėje yra išorinių metodų rinkinys, kuris iškviečiamas ResourceBundle.getBundle() metodu ieškant ir įkeliant paketus. Sukūrę valdymo klasę, galite pakeisti numatytąją įkėlimo ir kaupimo talpyklą elgseną.

Tokiu atveju turite sukurti dviejų valdymo klasės metodų įgyvendinimą: getFormats() ir newBundle() . Metodas getFormats() yra atsakingas už priežiūrą XML formatu, o newBundle() veikia su išteklių pluoštu. Bazinė valdymo klasė turi pagalbinius metodus, skirtus konvertuoti bazinių rinkinių pavadinimus į tikrus išteklių pavadinimus.

Šis ResourceBundle.Control klasės įgyvendinimas apima XMLResourceBundle poklasį. Šis poklasis naudojamas duomenims įkelti iš XML failą ir naudojant juos ResourceBundle metodu.

Toliau pateikiamas valdymo klasės aprašymas ir metodo ResourceBundle įgyvendinimas:

importuoti java.io.*;
importuoti java.net.*;
importuoti java.util.*;

Viešoji klasė XMLResourceBundleControl išplečia ResourceBundle.Control(
privati ​​statinė eilutė XML = "xml" ;

Viešasis sąrašas getFormats(String baseName ) (
grįžti Collections.singletonList(XML) ;
}

Viešųjų išteklių rinkinys newBundle( String baseName, lokalės lokalė,
Eilučių formatas, ClassLoader įkroviklis,
loginis perkrovimas)
metimai IllegalAccessException, InstantiationException, IOException{
if ((baseName == null ) || (lokalė == null ) || (formatas == null )
|| (kroviklis == null )) (
mesti naują NullPointerException();
}
ResourceBundle paketas = null ;
if (format.equals(XML))(
String bundleName = toBundleName(bazinis pavadinimas, lokalė ) ;
Eilutė resourceName = toResourceName
(bundleName, formatas ) ;
url= loader.getResource
(resurso pavadinimas) ;
if (url != null ) (
URLConnection ryšys = url.openConnection() ;
if (ryšys != null ) (
jei (perkrauti) (
connect.setUseCaches(false) ;
}
InputStream srautas = connection.getInputStream() ;
if (srautas != null ) (
BufferedInputStream bis = naujas BufferedInputStream (
srautas);
paketas = naujas XMLResourceBundle(bis) ;
bis.close();
}
}
}
}
grąžinimo paketas;
}

Privati ​​statinė klasė XMLResourceBundle išplečia ResourceBundle(
Privataus turto butai;

XMLResourceBundle(InputStream srautas) išmeta IOException(
rekvizitai = new Properties();
props.loadFromXML(stream) ;
}

Apsaugoto objekto rankenaGetObject (Eilutės raktas ) (
return props.getProperty(key) ;
}

Viešas sąrašas getKeys()(
Nustatyti handleKeys = props.stringPropertyNames() ;
grąžinti rinkinius.išvardijimas (handleKeys ) ;
}
}

Vieša statinė galia main (String args ) (
(„Test2“,
naujas XMLResourceBundleControl()) ;
styga= bundle.getString
(„Pagalbos klavišas“) ;
System.out.println ("HelpKey: " + string ) ;
}
}

Šis įgyvendinimas apima trijų eilučių bandymo programą:

ResourceBundle paketas = ResourceBundle.getBundle(„Test2“, naujas XMLResourceBundleControl()) ;
String string = bundle.getString
(„Pagalbos klavišas“) ;
System.out.println ("HelpKey: " + string ) ;

Įdomiausia čia yra pirmoji eilutė. Valdymą turite perduoti getBundle() metodui. Po to rinkinį galėsite naudoti kaip ir bet kuriuo kitu atveju.

Toliau pateikiamas XML failo Test2.xml pavyzdys:

http://java.sun.com/dtd/properties.dtd" > Gerai Atšaukti Pagalba Taip ne

XMLResourceBundleControl programos vykdymo rezultatas bus:

> java XMLResourceBundleControl HelpKey: Pagalba

Aukščiau pateiktame įgyvendinime nenaudojami getTimeToLive() ir needsReload() metodai:

viešas long getTimeToLive ( Eilutės bazėName, lokalės lokalė)

vieša loginė needsReload( String baseName,
lokalė,
eilutės formatas,
klasės krautuvas,
išteklių paketas,
ilgas įkėlimo laikas)

Metodas getTimeToLive() grąžina išteklių paketų, sukurtų naudojant ResourceBundle.Control, naudojimo trukmę. Išteklių rinkiniai saugomi talpykloje, kad būtų pagreitintas perkrovimo procesas. Taigi, perkraunant rinkinį, jis bus talpykloje. Teigiama gyvavimo trukmė milisekundėmis nustatys, kiek laiko rinkinys išliks talpykloje be pakartotinio patvirtinimo. Numatytoji vertė, grąžinama naudojant getTimeToLive() metodą, yra TTL_NO_EXPIRATION_CONTROL , kuri išjungia talpyklos galiojimo pabaigos tikrinimą. Jei nenorite laikyti rinkinio talpykloje, grąžinkite TTL_DONT_CACHE . Jei grąžinama vertė yra 0, tada paketas yra talpykloje, tačiau jis tikrinamas kiekvieną kartą, kai iškviečiamas getBundle() metodas. Norėdami išvalyti talpyklą, iškvieskite ResourceBundle klasės statinį clearCache() metodą. Jame yra pasirenkamas „ClassLoader“ argumentas, leidžiantis išvalyti talpyklą, sukurtą konkretaus įkroviklio.

Metodas needsReload() nustato, ar talpykloje esantį rinkinį reikia įkelti iš naujo. Vertė tiesa reiškia, kad rinkinį reikia įkelti iš naujo, o false, kad jo nereikia įkelti iš naujo. Galite valdyti, ar reikia iš naujo įkelti išteklių rinkinį, perkraunant needsReload() metodą. Pavyzdžiui, jei norite, kad išteklių rinkinys visada būtų įkeltas iš naujo, metodas needsReload() visada turėtų grąžinti true . Tokiu atveju metodas getTimeToLive() visada turi grąžinti reikšmę 0. Priešingu atveju rinkinys išliks ilgiau nei tikėtasi.

Už gavimą Papildoma informacija Informacijos apie Mustang internacionalizavimo procesų patobulinimus rasite John Okoner, Sun Software Developer tinklaraštyje adresu