HTML szintaxis. A HTML nyelv alapszabályai Miért van szükségünk érvényes elrendezésre?

07.09.2020 Programok

A Unicode kódpontok folyamát, beleértve a mnemonizálási lépés bemenetét is, a felhasználói ügynök kezdetben bájtfolyamként fogja látni (jellemzően a hálózaton keresztül vagy helyiről érkezik fájlrendszer). A bájtok valós karaktereket kódolnak egy adott szerint karakterkódolás A, amelyet a felhasználói ügynök a bájtok karakterekké történő dekódolására használ.

XML dokumentumok esetén ezt az algoritmust kell használniuk a felhasználói ügynököknek az XML specifikáció által megadott karakterkódolás meghatározásához. Ez a szakasz nem vonatkozik az XML dokumentumokra.

8.2.2.1 Elemzés ismert karakterkódolással

Ha egy HTML-elemző egy bizonyos ismert kódolású bemeneti bájtfolyamon működik, akkor a karakterkódolás az a kódolás, és − bizonyos.

8.2.2.2 Karakterkódolás meghatározása

Egyes esetekben nem feltétlenül célszerű egyértelműen meghatározni a kódolást a dokumentum elemzése előtt. Emiatt ez a specifikáció egy kétlépcsős mechanizmust biztosít opcionális előszkenneléssel. Az alábbiakban leírtak szerint az implementációk használhatják az egyszerűsített elemzési algoritmust a rendelkezésre álló bájtokra a dokumentum elemzése előtt. A valódi értelmező ezután elindul, az ebből az előelemzésből vett előkódolást és más sávon kívüli metaadatokat használva. Ha a dokumentum betöltése közben a felhasználói ügynök olyan karakterkódolási deklarációt talál, amely ütközik ezzel az információval, akkor az elemző újra meghívható, hogy a dokumentumot a tényleges kódolással elemezze.

A felhasználói ügynököknek a következő, kódolási szippantási algoritmusnak nevezett algoritmust kell használniuk a dokumentum első lépésben történő dekódolásakor használandó karakterkódolás meghatározásához. Ez az algoritmus bemenetként veszi a felhasználói ügynök számára elérhető sávon kívüli metaadatokat (például a dokumentum Content-Type metaadatait) és az összes eddig elérhető bájtot, és visszaadja a karakterkódolást és a karakterkódolást, amely kísérleti vagy bizonyos.

    Ha a felhasználó kifejezetten utasítja a felhasználói ügynököt, hogy írja felül a dokumentum karakterkódolását egy adott kódolással, akkor opcionálisan adja vissza ezt a kódolást bizonyos

    A felhasználói ügynökök általában emlékeznek egy ilyen felhasználói kérésre a munkamenetek között, és néha alkalmazzák ezt az iframe-ekben lévő dokumentumokra is.

    A felhasználói ügynöknek több rendelkezésre álló erőforrásbájtja lehet ebben a lépésben vagy az algoritmus egy későbbi lépésében. Például a felhasználói ügynök 500 ms-ra vagy 1024 bájtra számíthat, attól függően, hogy melyik következik be előbb. Általánosságban elmondható, hogy egy erőforrás előkészítése a kódolás meghatározásához javítja a teljesítményt, mivel csökkenti a kódolási információ megtalálása után az elemzés során használt adatszerkezetek elvetésének szükségességét. Ha azonban a felhasználói ügynöknek túl sokáig tart az adatok megszerzése a kódolás meghatározásához, a várakozási idő meghaladhatja az előkészítésből származó előnyöket.

    A karakterkódolási deklaráció megfelelőségi követelményei azt korlátozzák, hogy csak az első 1024 bájton belül jelenjen meg. A felhasználói ügynökök ezért arra bátorítanak, hogy az első 1024 bájton az előszkennelési algoritmust (továbbiakban) használják, amint azt ezek a lépések kérik, de ne hagyják abba.

    Ha a következő táblázat minden sorához, az elsőtől kezdve és lefelé haladva több bájt áll rendelkezésre, mint az első oszlopban, és a fájl első bájtjai megegyeznek az első oszlopéval, akkor adja vissza a kódolást a ugyanannak a sornak a második oszlopa a − jellel bizonyos, és szakítsa meg ezeket a lépéseket:

    hexadecimális bájtok Kódolás
    FE FF Big-endian UTF-16
    FF FE Little-endian UTF-16
    EF BB BF UTF-8

    Ez a lépés a Unicode Byte Order Marks (BOM-ok) keresését végzi.

    Az a tény, hogy ez a lépés megelőzi a következő lépést, amely tiszteletben tartja a Content-Type HTTP-fejlécet, szándékosan sérti a HTTP-specifikációt, ami a régi tartalommal való minél kompatibilitási törekvésnek köszönhető.

    Ha az átviteli réteg karakterkódolást ad meg, és az támogatott, akkor ezt a kódolást a - karakterrel adja vissza bizonyosés szakítsa meg ezeket a lépéseket.

    Az UTF-8 kódolásnak jól meghatározott bitmintája van. Az UTF-8 mintának megfelelő 0x7F-nél nagyobb bájtokat tartalmazó dokumentumok nagy valószínűséggel UTF-8-asak, míg a nem megfelelő bájtsorozatokkal rendelkező dokumentumok nagy valószínűséggel nem. Ezért a felhasználói ügynököknek érdemes ezt a közös kódolást keresniük.

    Ellenkező esetben adja vissza az alapértelmezett implementáció által definiált vagy felhasználó által meghatározott karakterkódolást a − jellel kísérleti.

    Felügyelt környezetekben vagy olyan környezetekben, ahol kötelező lehet a dokumentumkódolás (például a kifejezetten új hálózatokon való használatra szánt felhasználói ügynökök esetében), a kimerítő UTF-8 kódolás ajánlott.

    Más környezetekben az alapértelmezett kódolás általában a felhasználó területi beállításától függ (a nyelvek közelítése, és így gyakran azon oldalak kódolása, amelyeket a felhasználó nagy valószínűséggel meglátogat). Az alábbi táblázat a felhasználó nyelv- és országkódja alapján javasol alapértelmezett értékeket a régebbi tartalommal való kompatibilitás érdekében. A nyelvi területeket a BCP 47 nyelvi címkék azonosítják.

    helyi nyelv Javasolt alapértelmezett kódolás
    ar arab windows-1256
    ba baskír windows-1251
    lenni fehérorosz windows-1251
    bg bolgár windows-1251
    cs cseh windows-1250
    el görög ISO-8859-7
    et észt Windows-1257
    fa perzsa windows-1256
    ő héber Windows-1255
    hr horvát windows-1250
    HU Magyar ISO-8859-2
    ja japán Shift_JIS
    kk kazah windows-1251
    ko koreai euc-kr
    ku kurd windows-1254
    ky kirgiz windows-1251
    lt litván Windows-1257
    lv lett Windows-1257
    mk macedón windows-1251
    pl fényesít ISO-8859-2
    hu orosz windows-1251
    sah jakut windows-1251
    sk szlovák windows-1250
    sl szlovén ISO-8859-2
    sr szerb windows-1251
    tg tadzsik windows-1251
    th thai Windows-874
    tr török windows-1254
    tt tatár windows-1251
    Egyesült Királyság ukrán windows-1251
    vi vietnami windows-1258
    zh-CN kínai (Kínai Népköztársaság) GB18030
    zh-TW kínai (Tajvan) Big5
    Az összes többi terület windows-1252

    A táblázat tartalma a Windows, a Chrome és a Firefox alapértelmezett beállításaiból származik.

0x3C bájttal kezdődő bájtsorozat (ASCII<), опционно – байта 0x2F (ASCII /) и, наконец, байта в диапазоне 0x41-0x5A или 0x61-0x7A (ASCII-буква) 0x3C 0x21 kezdetű bájtsorozat (ASCII "Mozgassa a pozíciómutatót úgy, hogy az a 0x3C talált bájt után következő első 0x3E bájtra (ASCII >) mutasson.

Bármilyen más bájt

Ne csinálj semmit ezzel a bájttal.

  • következő bájt: Mozgassa a pozíciót, hogy a bemeneti bájtfolyam következő bájtjára mutasson, és lépjen vissza egy lépéssel feljebb hurok.
  • Az EBCDIC-alapú kódolások támogatása nem kifejezetten ajánlott. Ezt a kódolást ritkán használják nyilvános webtartalomhoz. Az UTF-32 támogatása szintén erősen nem ajánlott. Ezt a kódolást ritkán használják, és gyakran helytelenül valósítják meg.

    Ez a specifikáció nem kísérli meg az EBCDIC és UTF-32 alapú kódolások támogatását az algoritmusaiban; ezeknek a kódolásoknak a támogatása és használata ezért kiszámíthatatlan viselkedést eredményezhet a specifikáció megvalósításaiban.

    8.2.2.4 A kódolás meghatározása az elemzés során

    Ha az elemző megköveteli a felhasználói ügynöktől a kódolás megváltoztatását, a felhasználói ügynöknek a következő lépéseket kell végrehajtania. Ez akkor fordulhat elő, ha a fentiek sikertelenek a karakterkódolás keresésekor, vagy ha olyan karakterkódolást talál, amely nem a tényleges fájlkódolás volt.

    8.2.2.5 Bemeneti adatfolyam előfeldolgozása

    A bemeneti adatfolyam olyan karakterekből áll, amelyek dekódolva vannak betolva, vagy különböző API-kból állnak, amelyek közvetlenül manipulálják a bemeneti adatfolyamot.

    Az egyetlen kezdő karaktert, az U+FEFF BYTE ORDER MARK-ot figyelmen kívül kell hagyni, ha jelen van a -ban.

    Az U+FEFF BYTE ORDER MARK karakter eltávolításának követelménye, függetlenül attól, hogy ezt a karaktert használták-e a bájtsorrend meghatározásához vagy sem, a Unicode szándékos megsértése, ami a felhasználói ügynökök natív átkódolókkal kapcsolatos robusztusságának növelésére irányuló törekvésnek köszönhető. .

    Bármely karakter előfordulása az U+0001-től U+0008-ig, U+000E-től U+001F-ig, U+007F-től U+009F-ig, U+FDD0-tól U+FDEF-ig, valamint az U+000B, U+FFFE karakterek, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF, U+3FFFE, U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE, U+5FFFF, U+6FFFE, U + 6FFFF, U+7FFFE, U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF, U+AFFFE, U+AFFFF, U+BFFFE, U+BFFFF, U+CFFFE, U+CFFFF, Az U+DFFFE, U+DFFFF, U+EFFFE, U+EFFFF, U+FFFFE, U+FFFFF, U+10FFFE és U+10FFFF a . Mindegyik vezérlőkarakter vagy tartósan meghatározatlan/meghatározatlan Unicode karakter (nem karakter/nem karakter).

    A „CR” (U+000D) és az „LF” (U+000A) karakterek kezelése eltérő. Minden CR karaktert LF karakterré kell konvertálni, és a CR karakter után érkező LF karaktereket figyelmen kívül kell hagyni. Így az újsorokat a HTML DOM-ban LF karakterek képviselik, és soha nem CR karakterek a színpad bemenetében.

    A következő beviteli karakter az az első karakter, amelyet még nem használt fel/elhasznált, vagy amelyet kifejezetten figyelmen kívül hagynak ennek a szakasznak a követelményei. Alapvetően ez az első karakter a bemeneti adatfolyamban. Az aktuális beviteli karakter az utolsó karakter .

    A beszúrási pont/beszúrási pont az a hely (közvetlenül egy karakter előtt vagy közvetlenül a bemeneti adatfolyam vége előtt), ahová a document.write() segítségével beszúrt tartalom ténylegesen bekerül. A beszúrási pont az őt közvetlenül követő karakter pozíciójához viszonyított, nem abszolút eltolás a bemeneti folyamban. Kezdetben a beszúrási pont nincs definiálva/undefined.

    Az "EOF" karakter a következő táblázatokban egy fogalomkarakter, amely a végét jelenti. Ha az elemző egy szkript által generált értelmező, akkor a végére az explicit "EOF" karakter kerül (amelyet a document.close() metódus illeszt be). Ellenkező esetben az "EOF" karakter nem valódi karakter a folyamban, hanem a következő karakterek hiánya.

    Az U+0000 NULL karakterek kezelése a karakterek helyétől függően változik. Általában figyelmen kívül hagyják őket, kivéve azokat az eseteket, amikor valóban ütést okozhat. Az ilyen feldolgozás szükség esetén kiterjed a mnemonizálás és a faépítés szakaszaira is.

    DOM a nyelv részeként

    A DOM fogalmát először a HTML5-ben vezették be. (bár előtte is létezett, de nem volt a nyelv része), a HTML-dokumentumot a rendszer most objektumok halmazaként kezeli, nem címkékként. Ezért hogyan HTML5 szintaxis nem létezik. A kód írásakor azonban ragaszkodhat ehhez címkejelölési szabályok, amelyek HTML 4.01-ben vagy XHTML 1.0-ban voltak beállítva

    HTML 4.01 szintaxis

    NÁL NÉL HTML az ötödik verzió előtt számos szabály volt a kódírásra:

    1. A HTML 4.01-ben használt laza mód
      "http://www.w3.org/TR/html4/loose.dtd">
    2. A HTML 4.01-ben használt szigorú mód
      "http://www.w3.org/TR/html4/strict.dtd">
    3. A keretekhez szintaxis is társult. A kereteket a HTML5 elavultnak tekinti, de sok fejlesztő még mindig használja őket, mert a keretek nagyon hasznosak egyes webalkalmazások fejlesztésekor.

    XHTML 1.0 szintaxis

    NÁL NÉL XHTML, két szabály volt a kódírásra:

    1. Az XHTML 1.0-ban használt átmeneti mód
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. Az XHTML 1.0-ban használt szigorú mód
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    Modern HTML5 szintaxis

    HTML5 használatakor a HTML dokumentum elejére írva doctype, használhatja a fent felsorolt ​​nyelvi szintaxisok bármelyikét (kódszabályok) vagy akár keverje össze a HTML 4.01-et és az XHTML 1.0-t.

    Például ne idézze az attribútumértékeket attribute=value (HTML 4.01 laza mód – laza), de ugyanakkor tegyünk egy perjelet egyetlen címkét
    (XHTML 1.0 szigorú mód - szigorú).

    XHTML (szigorú), leginkább preferált

    A tapasztalt HTML kódolók általában a szigorú XHTML szigorú szintaxist használják HTML5 kód írásakor, mert ez jó formában tartja a kódolót, nem engedi ellazulni, és ezáltal megvédi lehetséges hibákat kódban. A szigorú szintaxis használata a programozás tanulásánál is hasznos, mert ott rendkívül fontos a szintaxis szigorúsága.

    Szintaxis HTML nyelv

    Rizs. 1.6. Egyszerű HTML oldal megjelenítése webböngészőben

    A HTML nyelv alapszabályai

    A HTML címkenevek nem különböztetik meg a kis- és nagybetűket, az XHTML-ben pedig kicsi és nagybetűvel különbözőnek tekintendők, és a címkeneveket kis betűkkel kell írni.

    Az elemek tartalmazhatnak szöveget és alelemeket (pl html elem tartalmazza a fej és a test alelemeit a fenti példában). Az elemeket megfelelően egymásba kell ágyazni.

    Az elemben szereplő alelemeknek az elem zárójele előtt kell végződniük. Például a következő bejegyzés helytelen: <а>

    Helyesen ennek a töredéknek így kell kinéznie:

    Ez félkövér és dőlt szöveg

    Az XHTML-ben, ha egy elem nem tartalmaz szöveget és részelemeket (üres elem), akkor is rendelkeznie kell nyitó és záró címkével. Például a br elemnek nincs tartalma, és sortörést okoz (a szöveg a következővel folytatódik: új sor). A szabályok szerint azonban a következőképpen kell írni:

    vagy rövidítve
    . Az elemet ugyanúgy kell írni


    - Rajzolj egy vízszintes vonalat.

    Az elemnyitó címkék rendelkezhetnek attribútumok, amelyek finomítják az elem viselkedését és további értékeket állítanak be. Szinte minden címkének számos opcionális paramétere van. Továbbá csak a címkék fő attribútumait veszik figyelembe.

    A HTML-ben sok attribútum minden elemre jellemző, de néhány jellemző az adott elemre adott elem vagy elemeket. Mindegyik a következő formában van:

    attribútum_név="érték"

    Például:

    A hiperszöveg jelölőnyelv alapjai"

    NÁL NÉL ezt a példát egy div elem (a HTML-oldal egy része, amely lehetővé teszi a dokumentumok logikai blokkokra való felosztását) az id attribútum értéke mySection. div elem tartalmaz egy h1 elemet (az első, vagy legfontosabb szint fejléce), amely viszont tartalmaz némi szöveget. Az attribútumok értékeit szimpla vagy dupla idézőjelek közé kell tenni.

    A címkék és attribútumok neveit és lehetséges értékeit a HTML nyelvi specifikáció határozza meg, és nem hozhat létre saját címkéket vagy attribútumokat.

    Minden elem rendelkezhet id és class attribútumokkal, amelyek értékei meghatározott elemek (id) vagy elemcsoport (osztály) azonosítására szolgálnak. Ezeket az attribútumokat aktívan használják a dokumentumszkriptekben és -leírásokban. CSS stílusok dokumentum.

    A HTML elemeinek két fő kategóriája van: Blokkés húr

    • Blokk elemekáltalában tájékoztat a dokumentum szerkezetéről. Az ilyen elemek egy új vonalon kezdődnek, elszakadva az előtte lévőtől. Példák a blokk elemekre bekezdések, listaelemek, címsorok és táblázatok, div konténerek.
    • String elemek blokkszintű szerkezeti elemekben találhatók, és a dokumentum szövegének csak egy részét fedik le, teljes területeket nem. Egy soron belüli elem nem okoz újsort a dokumentumban, mivel ezek olyan elemek, amelyek a szöveg egy bekezdésében jelennek meg. Példák a karakterlánc elemekre hivatkozások, kiemelt szavak vagy kifejezések, span tárolók.

    Alekszandr Kicsatov

    Hogyan működnek a PHP szkriptek

    Biztosan ismeri a rádióvezérlésű autók működési elvét. Nyomja előre - az autó mozog, nyomja balra - az autó megváltoztatja a kerekek irányát.

    A PHP pontosan ugyanúgy működik. Egymás után írod a parancsokat, és a PHP sorban végrehajtja azokat.

    Mi az a PHP script

    A PHP szkript egy egyszerű szöveges fájl .php kiterjesztéssel. Pontosan ugyanaz, mint a html és a css.

    De van egy lényeges különbség:

    A szkriptek csak http-kérésekkel futnak a böngészőben. Ez azt jelenti, hogy a script.php szkript futtatásához be kell írnia a site.ru/script.php parancsot a böngésző címsorába

    Ha a szkript nem működik, ellenőrizze az aktuális URL-t. Ha van valami hasonló file:///D:/openserver/domains/site.ru/script.php- ez azt jelenti, hogy nem az oldal oldalára próbál menni, hanem magát a PHP fájlt akarja megnyitni a böngészőben. Nem helyes.

    A webszerverek leggyakrabban úgy vannak beállítva, hogy amikor Ön hozzáfér kezdőlap(például site.ru ) automatikusan elindul az index.php vagy index.html fájl, amely a webhely gyökerében található.

    Hozzon létre egy index.php nevű fájlt a webhely gyökérmappájában, és nyissa meg a szövegszerkesztőben. Ha van index.html fájl, akkor azt törölni kell.

    Ha még nincs szöveg szerkesztő- Ajánlom a könnyű és ingyenes Notepad++-t, sokkal kényelmesebb, mint a Windowsba épített jegyzettömb.

    Ügyeljen arra, hogy kövesse a szkriptek kódolását. A kódolásnak bármelyiknek kell lennie UTF-8 anyagjegyzék nélkül(ha van ilyen a szerkesztőben), vagy csak UTF-8.

    Számok és karakterláncok nyomtatása PHP-ben

    A PHP parancsok a címkék közé vannak írva, például:

    Az echo parancs felelős az információk képernyőn történő megjelenítéséért. Az operátort a megjelenítendő érték követi.

    Szöveg megjelenítéséhez meg kell adni egy vagy dupla idézőjelek:

    A PHP parancsai pontosvesszővel vannak elválasztva. Az olvashatóság érdekében minden parancsot általában egy új sorba írnak:

    Eredmény a böngészőben:

    Ez a PHP kód.

    HTML kód kiadása PHP-ben

    A HTML kód keverhető PHP parancsokkal:

    Ezenkívül a HTML kód behelyettesíthető PHP karakterláncba:

    Napóleon"; ?>

    Eredmény a böngészőben:

    Napóleon elefánt

    A PHP kódot és a HTML címkéket bármilyen módon kombinálhatjuk:

    2. sor" ?>

    Függvények PHP-ben

    A függvény olyan parancs, amely valamilyen műveletet hajt végre, például számításokat, fájlkezelést stb.

    A függvény meghatározása egyszerű - a neve után zárójelek vannak:

    A phpinfo() függvény információkat jelenít meg az aktuális PHP beállításokkal.

    Egyes függvények elvárják, hogy értéket adjanak át. Például a ceil() kerekítési függvény egy számot vár, amelyet kerekíteni fog:

    A ceil() függvény felveszi az általunk megadott 91,5 értéket, feldolgozza (92-re kerekíti), és visszaadja az eredményt. Az echo parancs pedig felveszi a függvény által visszaadott értéket és megjeleníti a képernyőn. Ennek a szkriptnek az eredménye 92 lesz.

    A PHP záró tagjának szükségessége

    Ha a PHP parancsok után nincs HTML vagy más képernyőkimenet, akkor elhagyhatjuk a záró ?> címkét:

    Gyorsírás Open Tag szintaxis PHP-ben

    Ahelyett

    Ezen kívül a címkét is cserélhetjük

    Címkehasználat

    Ez nem kapcsolódik a címkéhez.

    Minden nyelvnek van szintaxisa, pl. egy olyan szabálykészlet a kifejezések felépítéséhez, amelyek lehetővé teszik értelmes mondatok meghatározását ezen a nyelven. E szabályok tanulmányozásával kezdjük a HTML nyelv tanulmányozását. Kezdésként nyissuk meg a Dremweaverünket, és hozzunk létre egy egyszerű HTML-dokumentumot a megszokott vizuális módban. Nézzük meg, milyen HTML kód felel meg a dokumentumunknak.

    Emlékszel, hogy a HTML-kód nézet módra a Kódnézet gombbal lehet váltani. A Dremweavernek van egy másik módja is, ami nagyon kényelmes, főleg, ha nagy monitorod van. Ez egy "köztes" mód, amely egyszerre mutatja a kódot és a megfelelő dokumentumot. Sokkal egyszerűbb kitalálni, hogy hol van mit: mi jelöljön meg egy bizonyos töredéket vizuális módban, és azonnal látjuk ezt a részletet HTML kód módban, így láthatja, hogy a HTML tartalmazza a forrásszöveg tiszta formájában és ezen kívül sok néhány homályos szó szögletes zárójelbe zárva. Ezek a homályos szerkezetek nyelvünk alapvető építőkövei. Ezeket címkéknek hívják. A címke a címke nevéből áll, szögletes zárójelben. A címkenevek kis- és nagybetűkkel is írhatók – ez mindegy.

    Ha jobban megnézi, észre fogja venni, hogy sok címke "második fele" perjellel van kiegészítve. És ilyen „párok” veszik körül „értelmes” szövegünk töredékeit. Például a címet címkék veszik körül

    és

    , a bekezdést címkék veszik körül. Az ilyen szerkezetet elemnek nevezzük. Az elem egy jelölőegység. Egy elem egy kezdőcímkéből, adatokból (azaz tartalominformációból) és egy zárócímkéből áll. Így a címkék célja az elemek határainak kijelölése.

    Próbáljuk meg megváltoztatni a szöveg jelölését: például elem helyett címet elembe zárjuk. Ha valamit megváltoztatunk a kódban, a változtatások nem jelennek meg azonnal vizuális módban, hanem a tulajdonságok panelen megjelenik egy üzenet, hogy megváltoztattuk a kódot, és a változtatások megtekintéséhez meg kell nyomni a "frissítés" gombot, ill. "F5" billentyű.

    Cím helyett szabályos szövegbekezdést kaptunk. Gratulálunk! Megtette az első lépést a HTML-kód kézi szerkesztése felé. Amikor a szöveget elemekre jelöljük, nagyon fontos, hogy ugyanaz a záró címke illeszkedjen a nyitó címkéhez. Ha a nyitó címkét erre változtatnánk

    És maradt a záró- ez durva hiba lenne. A Dreamweaver képes "elkapni" az ilyen hibákat és jelenteni nekünk. Vannak olyan elemek, amelyekhez nincs szükség zárócímkére. Ilyen elem például a P elem. Az első bekezdés végét a második eleje jelölheti.

    Vannak olyan elemek, amelyeknek egyáltalán nem lehet záró címkéje, az csak egy nyitó címkéből áll. Ez akkor fordul elő, ha az elem nem szövegjelölésre szolgál, hanem független szemantikai terhelést hordoz. Például kép, elem . Az elemek egymásba ágyazhatók. Például elem elembe ágyazva

    Ez azt jelenti, hogy a kép egy bekezdésen belül van. Más elemeket is beágyazhatunk ebbe a bekezdésbe.

    Például zárjunk be valamilyen szövegrészt egy elembe . Ez a rész dőlt betűvel van szedve. Ebben az esetben az elemek nem „metszhetik egymást”: ha az elem elem belsejében nyílik meg

    Akkor belül is zárnia kell

    Ha az elemet a szülőelemén "kívül" zárjuk le, ez durva hiba lesz, amiről a Dreamweaver is tájékoztat. Itt azt írja, hogy átfedő címkéink vannak. Egyes címkék a néven kívül olyan attribútumokat is tartalmazhatnak, amelyek tartalmazzák További információ erről a bizonyos elemről. Az attribútum egy attribútumnévből és egy egyenlőségjellel elválasztott értékből áll. Például címke a width attribútumot tartalmazza, amely a kép szélességéért felelős.

    Módosíthatjuk ennek az attribútumnak az értékét, és a kép szélessége is megváltozik. A speciális attribútumok az id és a class. Ezek az attribútumok szinte minden elemre vonatkoznak. Az azonosító lehetővé teszi, hogy az elemnek egyedi nevet adjon, és ezáltal megkülönböztesse számos hasonló elemtől. Ezt a nevet ezután használhatjuk: Először is egy adott elem egyedi stílusához (például 2 bekezdésünk van - ugyanazok az elemek ugyanúgy néznek ki; az id attribútummal való elnevezésükkel szabályozhatjuk az egyes elemek tervezését közülük egyenként). Másodszor, az id célpontként használható egy hiperhivatkozásban, azaz nem csak egy oldalra, hanem azon egy adott helyre hivatkozhatunk. Harmadszor, programozási igényekhez (bizonyos manipulációkhoz egy adott elemmel). Az osztálynak az id-vel ellentétben nem kell egyedinek lennie. Meghatározza, hogy egy vagy több elem egy adott osztályhoz tartozik-e. Az osztályokat elsősorban tervezési igényekre használják.

    Például több bekezdést is megjelölhetünk ugyanahhoz az osztályhoz tartozónak. Most ez és ez a bekezdés ugyanabba az osztályba tartozik, és most egy csapásra megváltoztathatjuk a kialakításukat. A címkék mellett a HTML úgynevezett „helyettesítéseket” (entitásokat) használ. Két esetben van rájuk szükség: olyan karakterek beszúrásához a dokumentumba, amelyek nem állnak rendelkezésre a billentyűzeten (például "helyes" idézőjelek), illetve olyan karakterek beszúrásához, amelyeknek szolgáltatásértéke van a HTML-ben. Például, ha szükségünk van egy szögletes zárójelre, és úgy írjuk, ahogy a kódban van, akkor ezt természetesen a böngésző címkeként fogja fel. Ebben az esetben a szögletes zárójelek helyett speciális helyettesítéseket kell megadnia, amelyeket a böngésző szögletes zárójelként fog észlelni.

    A helyettesítések így néznek ki: &code; A kód lehet mnemonikus, speciális szavak vagy numerikus, amikor csak

    adja meg a karakter számát. A numerikus kódot egy "hash" előzi meg. Rengeteg mnemonikus kód létezik a legkülönbözőbb karakterekhez, de egy numerikus kód segítségével abszolút minden olyan karaktert megadhatunk, amely egy adott betűtípusban elérhető, még azt is, amelyre nincs mnemonikus kód.

    Tehát az elemek, címkék, attribútumok és helyettesítések azok az alapvető "téglák", amelyekből a HTML-dokumentum épül. De minden építkezésnél be kell tartanunk néhány alapvető szabályt: először fektesse le az alapot, építsen falakat, fedje le a szerkezetet tetővel stb. A HTML dokumentum felépítésének is megvannak a maga törvényei, amelyek a dokumentum szerkezetében is megmutatkoznak. A szövegjelölést többé-kevésbé kitaláltuk. Győződjön meg arról, hogy a dokumentum az Ön szövegén alapul, címkék segítségével elemekre bontva. Azonban számos más elem is látható, amelyek nem világosak, hogy mihez kapcsolódnak. Szigorúan meghatározott módon helyezkednek el.

    A dokumentum ezzel a sorral kezdődik:. Ez az úgynevezett HTML verzió deklaráció. A helyzet az, hogy amint emlékszel, a HTML fejlődésének rövid, de gazdag története miatt több változatban is megjelent. Hogy a böngésző megfelelően tudjon megjelenni ez a dokumentum, tudnia kell, hogy melyik HTML-ben van írva. Ebben az esetben ez a sor azt jelzi, hogy a HTML 4.01-es verziójával van dolgunk. A nyilatkozat után maga a dokumentum kezdődik. Egy elembe van zárva . Látjuk a nyitó címkét, a dokumentum végén pedig a záró.

    Egy elem belsejében kettő egymás mellett található kötelező elem: és követve őt, . , azaz cím, olyan szolgáltatási információkat tartalmaz, amelyek nem jelennek meg a böngészőablakban, például egy elemet tartalmazza a dokumentum nevét, amely az ablak címében jelenik meg. <body>- ez a dokumentum törzse - tartalmazza a dokumentumunk tartalmát, pl. amit a böngészőablakban látunk.</p> <p>Ha mindezt grafikusan ábrázoljuk, akkor a következő diagramot kapjuk. Érdekes megjegyezni, hogy a specifikáció szempontjából a minimális HTML dokumentumnak csak két elemet kell tartalmaznia: a HTML verzió deklarációját és a TITLE elemet - a dokumentum címét. Az összes többi elem szigorúan véve opcionális. Igaz, egyértelmű, hogy egy ilyen dokumentum információs értéke erősen kétséges lenne.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> <dblock></dblock> <dblock></dblock> <dblock></dblock> <dblock></dblock> <dblock></dblock> </div> </div> <div class="grid_4"> <ul id="sidebar"> <div class="widget cat-lists"> <div class="outer"> <div class="menu-sidebar-container"> <ul id="menu-sidebar" class="menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/program/">Programok</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/security/">Biztonság</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/news/">hírek</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/interesting/">Érdekes</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/tips/">Tippek</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/news/">hírek</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://remzhuk.ru/hu/category/reviews/">Vélemények</a></li> </ul> </div> </div> <script> function fd() { var menu = document.querySelector('.menu-wrapper') // Using a class instead, see note below. menu.classList.toggle('active'); } function fds(e) { var menu = document.querySelector('.' + e) // Using a class instead, see note below. menu.classList.toggle('active'); } </script> </div> <li id="text-46" class="widget widget_text"> <div class="textwidget"> </div> </li> <li id="text-9" class="widget widget_text"> <div class="textwidget"> <div class="subscription" id="sidebar-sub"> <div class="gradient-sub"></div> <p class="head-sub">Csatlakozz most!</p> <p class="description-sub">Már több mint 6000-en iratkoztak fel. <br>Szerezd meg a legújabb cikkeket.</p> <form action="/" method="post" target="_blank" id="subscr-form-6292" onsubmit="return jc_chkscrfrm(this, false, false, false, false)"> <input type="text" name="lead_email" class="sr-required" placeholder="Írd be az email címed" maxlength="100"> <button type="submit" name="lead_subscribe" value="Iratkozz fel">IRATKOZZ FEL</button> </form> <div class="ribbon"></div> </div> </div> </li> <li id="text-36" class="widget widget_text"> <div class="textwidget"> </div> </li> <div id="sticky-anchor"></div> <div id="sticky"> <div id="owl-demo2" class="owl-carousel owl-theme"> <div class="item"> </div> </div> </div> <script> var stk = true; </script> <style> #owl-demo2 .item { background: #3fbf79; margin: 10px; color: #FFF; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-align: center; } .customNavigation { text-align: center; } //use styles below to disable ugly selection .customNavigation a { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } </style> <link href='/assets/owl.theme.css' rel='stylesheet' type='text/css'> <link href='/assets/owl.carousel.css' rel='stylesheet' type='text/css'> <link href='/assets/owl.transitions.css' rel='stylesheet' type='text/css'> </ul> </div> <div class="clear"></div> <a class="btn-floating btn-large red" href="#"></a> <footer> <script type="text/javascript"> function GoTo(link) { window.open(link.replace("_", "http://")); } </script> <div class="grid_12"> <p id="footer"><a href="https://remzhuk.ru/hu/">Hírek. Biztonság. Vélemények. Programok. Tippek</a>- Az anyagok másolása szigorúan tilos. <br><a href="" target="_blank">a projektről</a> <br><a href="" target="_blank">Reklámozás a weboldalon</a> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src="/assets/modernizr.min.js"></script> <script type="text/javascript" src="/assets/jquery.slicknav.js"></script> <script type="text/javascript" src="/assets/main.js"></script> <script type="text/javascript" src="/assets/include.js"></script> <script type="text/javascript" src="/assets/jquery.fancybox.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.fancybox').fancybox(); }); </script> <script type="text/javascript"> window.___gcfg = { lang: 'ru' }; (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> <div id="fb-root"></div> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/ru_RU/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> </div> <div class="clear"></div> </footer> </div> <script type='text/javascript' src='/assets/jquery.form.min.js'></script> <script type='text/javascript' src='/assets/scripts.js'></script> <script type='text/javascript' src='/assets/postviews-cache.js'></script> <script type='text/javascript' src='/assets/wp-embed.min.js'></script> <script type='text/javascript' src='/assets/form.js'></script> <script type='text/javascript' src='/assets/jquery.fancybox-1.3.8.min.js'></script> <script type='text/javascript' src='/assets/jquery.easing.min.js'></script> <script type="text/javascript"> jQuery(document).on('ready post-load', function(){ jQuery('.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create/button"]').addClass('nolightbox'); } ); jQuery(document).on('ready post-load',easy_fancybox_handler); jQuery(document).on('ready',easy_fancybox_auto);</script> </body> <script>// <![CDATA[ $(".closed").toggleClass("show"); $(".title").click(function(){ $(this).parent().toggleClass("show").children("div.contents").slideToggle("medium"); if ($(this).parent().hasClass("show")) $(this).children(".title_h3").css("background","#bbbbbb"); else $(this).children(".title_h3").css("background","#dddddd"); } ); // ]]></script> <script> $(".single-post .post a:has(img), .single-post .entry-content a:has(img)").fancybox(); $('.sub-menu').parent().addClass('after'); $('.mobile_menu .ya-site-form__input-text').attr('id', 'unstapble-transparent'); $('.sub-menu').parent().children('a').attr("onclick", "$(this).parent().toggleClass('active');return false;"); // $('.nav-list-mobile li a').click(function() { // $(this).parent().toggleClass('active'); // return false; // } ); function tg_menu () { $('.mobile_menu').toggleClass('active'); $('.google_search_mob').toggleClass('active'); } ; if (stk) { $(document).ready(function() { $(window).scroll(sticky_relocate); sticky_relocate(); function sticky_relocate() { var window_top = $(window).scrollTop(); var div_top = $('#sticky-anchor').offset().top; if (window_top > div_top) { $('#sticky').addClass('stick'); } else { $('#sticky').removeClass('stick'); } } } ); } if (carusel) { } </script> <script src="/assets/owl.carousel.min.js"></script> <script> var owl2 = $("#owl-demo2"); owl2.owlCarousel({ items : 1, //10 items above 1000px browser width lazyLoad : true, itemsDesktop : [1000,1], //5 items between 1000px and 901px itemsDesktopSmall : [900,1], // betweem 900px and 601px itemsTablet: [600,1], //2 items between 600 and 0 itemsMobile : [479,1] // itemsMobile disabled - inherit from itemsTablet option } ); // Custom Navigation Events // $(".next").click(function(){ // owl.trigger('owl.next'); // } ) // $(".prev").click(function(){ // owl.trigger('owl.prev'); // } ) owl2.trigger('owl.play',5000); //owl.play event accept autoPlay speed as second parameter // $(".stop").click(function(){ // owl.trigger('owl.stop'); // } ) </script> </html>