Iată un simplu document care utilizează cadre:
acest lucru poate duce la aproximativ următoarea structură a ecranului:
Dacă agentul utilizator nu poate reprezenta cadre sau este configurat să nu facă acest lucru, trebuie să genereze conținutul elementului NOFRAMES.
16.2 Locația cadrului
Un document HTML care descrie aspectul cadrelor (numit un document cu cadre) nu arata ca un document HTML fara cadre. Documentul standard are o singură partiție HEAD și o partiție BODY. Un document cu cadre are o secțiune HEAD și o secțiune FRAMESET. care înlocuiește partiția BODY.
Secțiunea FRAMESET specifică locația cadrelor în fereastra principală a agentului utilizator. În plus, în secțiunea FRAMESET, poate exista un element NOFRAMES cu conținut alternativ pentru agenții utilizator care nu acceptă cadre sau nu sunt configurați să nu le afișeze.
Elemente, de obicei plasate în secțiunea BODY. nu trebuie să fie prezentă înainte de primul element FRAMESET. altfel elementul FRAMESET va fi ignorat.
16.2.1 Elementul FRAMESET
Definiții ale atributului rows = multi-length-list [CN] Acest atribut specifică locația cadrelor orizontale. Aceasta este o listă de pixeli, procente și lungimi relative separate prin virgulă. Valoarea implicită este de 100%, ceea ce înseamnă o singură linie. cols = = multi-length-list [CN] Acest atribut specifică locația cadrelor verticale. Aceasta este o listă de pixeli, procente și lungimi relative separate prin virgulă. Valoarea implicită este de 100%, ceea ce înseamnă o coloană.
Elementul FRAMESET definește aspectul ferestrei principale a utilizatorului sub formă de spații dreptunghiulare.
Rânduri și coloane
Setarea atributului de rânduri specifică numărul de segmente de spațiu orizontal din setul de cadre. Setarea atributului cols specifică numărul de segmente verticale. Pentru a crea o rețea, puteți seta ambele atribute simultan.
Dacă atributul rânduri nu este setat, fiecare coloană ocupă întreaga lungime a paginii. Dacă nu este setat atributul cols, fiecare linie ocupă întreaga lățime a paginii. Dacă niciunul dintre aceste atribute nu este setat, cadrul ocupă întreaga pagină.
Ramele sunt create de la stânga la dreapta pentru coloane și de sus în jos pentru rânduri. Dacă sunt specificate ambele atribute, secțiunile ferestrelor sunt create de la stânga la dreapta în linia de sus, de la stânga la dreapta în a doua linie etc.
În primul exemplu, ecranul este împărțit orizontal în două părți (adică sunt create părțile superioare și inferioare).
Următorul exemplu creează trei coloane: a doua are o lățime fixă de 250 pixeli (aceasta este utilă, de exemplu, pentru a reprezenta o imagine cu o lățime cunoscută). Primul cadru primește 25% din spațiul rămas, iar al treilea - 75%.
Următorul exemplu creează o grilă 2x3.
Pentru exemplul următor, presupuneți că fereastra browserului are o înălțime de exact 1000 pixeli. Prima secțiune primește 30% din înălțimea totală (300 pixeli). Al doilea are o înălțime de exact 400 de pixeli. Rămâne 300 pixeli pe celelalte două cadre. Pentru cel de-al patrulea cadru, este dată înălțimea "2 *", deci trebuie să fie de două ori a treia, pentru care este specificată înălțimea "*" (echivalentă cu 1 *). Astfel, al treilea cadru va avea o înălțime de 100 de pixeli, iar al patrulea va avea o înălțime de 100 de pixeli.
Lungimile absolute, dacă nu dau un total de 100% din spațiul disponibil efectiv, trebuie să fie corectate de agentul utilizator. Dacă lungimea este mai mică decât lungimea reală, spațiul rămas ar trebui să fie distribuit uniform între toate secțiunile. Dacă lungimea specificată este mai mare decât lungimea reală, fiecare secțiune ar trebui să scadă în funcție de spațiul pe care îl ocupă.
Numărul de niveluri de cadre de cuibărit este nelimitat.
În exemplul următor, elementul FRAMESET extern împarte spațiul disponibil în trei coloane egale. Elementul intern FRAMESET împarte a doua regiune în două linii de înălțime inegală.
Următorul exemplu arată modul de invocare a scriptului în elementul OBJECT. definite pentru întregul set de cadre:
16.2.2 Elementul FRAME
Elementul FRAME definește conținutul și aspectul unui cadru.
Atributul src specifică documentul sursă conținut în cadru.
În următorul exemplu de document HTML:
trebuie creată următoarea pagină:
iar agentul utilizator trebuie să încarce fiecare fișier într-o secțiune separată.
Conținutul cadrului și definiția acestuia nu ar trebui să fie în același document.
EXEMPLU DE UTILIZARE NEACCEPTABILĂ:
Următoarea definiție a cadrelor nu este validă în HTML, deoarece conținutul celui de-al doilea cadru este într-un document care descrie un set de cadre.
Reprezentarea vizuală a cadrului
Următorul exemplu arată utilizarea atributelor FRAME decorative. Cadrul 1 nu trebuie să conțină bare de defilare. În cadrul 2, în jurul conținutului (imaginii) va exista un spațiu gol, iar dimensiunea cadrului nu poate fi modificată. Nu va exista nici o frontieră între cadrele 3 și 4. Fronturi (implicit) vor fi prezente între cadrele 1, 2 și 3.
Notă. Despre modul în care este obișnuit să se determine scopul unui cadru, puteți afla în comentariile despre cadrele din aplicație.
Definirea atributului target = target-cadru [CI] Specifică numele cadrului în care documentul trebuie deschis.
Puteți găsi informații despre numele de cadre care pot fi identificate în secțiunea privind numele cadrelor țintă.
Acest exemplu arată modul în care obiectivele oferă o schimbare dinamică a conținutului cadrului. Mai întâi, definim un set de cadre în documentul frameset.html afișat aici.
Apoi, în fișierul init_dynamic.html vom face referire la cadrul cu numele "dinamic".
Dacă activați oricare dintre legături se va deschide un nou document în cadru cu numele "dinamic", în timp ce în celălalt cadru, "fix", conținutul original este salvat.
Notă. Definiția unui set de cadre nu se schimbă niciodată, dar conținutul unuia dintre cadre se poate schimba. Dacă modificați conținutul sursă al unuia dintre cadre, definiția unui set de cadre nu mai reflectă starea actuală a cadrelor.
Seturile de cadre pot face dificilă săriți înainte sau înapoi printr-o listă de pagini care sunt vizualizate în agentul utilizatorului.
Să revenim la exemplul anterior și să definim informațiile despre țintă în elementul BASE și să îl eliminăm din elementele A.
Agenții utilizator trebuie să definească cadrul țintă în care este încărcată resursa asociată în conformitate cu următoarele priorități (de la cea mai mare la cea mai mică):- Dacă elementul are un atribut țintă și este utilizat un cadru cunoscut, atunci când elementul este activat (adică făcând clic pe legături sau procesând formularul), resursa alocată elementului trebuie încărcată în cadrul țintă specificat.
- Dacă elementul nu este setat la atributul țintă. și în elementul BASE este setat, cadrul este definit de atributul țintă al elementului BASE.
- Dacă nici elementul însuși, nici elementul BASE nu specifică ținta, resursa alocată elementului ar trebui încărcată în cadrul care conține elementul însuși.
- Dacă un cadru necunoscut F este specificat în atributul țintă, agentul utilizator trebuie să creeze o nouă fereastră și un cadru, să atribuie numele F unui cadru și să încarce resursa atribuită de element în noul cadru.
Agenții utilizator pot oferi un mecanism pentru ca utilizatorii să suprascrie atributul țintă.
16.4.1 Elementul NOFRAMES
Elementul NOFRAMES poate fi folosit în secțiunea FRAMESET a documentului cu cadre.
16.5 Cadre încorporate: elementul IFRAME
Informația încorporată este atribuită de atributul src al acestui element. Conținutul elementului IFRAME. pe de altă parte, aceasta ar trebui afișată numai de agenți utilizator care nu acceptă cadre sau sunt configurați să nu le suporte.
Pentru agenții utilizator care susțin cadre, în următorul exemplu, cadrul încorporat va fi plasat în text.
Nu puteți modifica dimensiunea cadrelor încorporate (și, prin urmare, nu au atributul noresize).
Notă. De asemenea, documentele HTML pot fi încorporate în alte documente HTML utilizând elementul OBJECT. Pentru mai multe detalii, consultați secțiunea despre documentele încorporate.