Iframe va Frame - ular nima va Html-da ramkalardan qanday foydalanish yaxshiroq. HTMLda freymlardan foydalanish Hujjatlarni freymdagi havola yordamida qanday ochish mumkin
"ramka" atamasi bizga kelib chiqqan inglizchada. Tarjima qilinganda, bu so'z "ramka" degan ma'noni anglatadi va derazaning alohida maydonini anglatadi. Uning tuzilishida bunday bo'lim to'liq tayyor HTML hujjatdir.
Individual freymlar brauzer oynalarini yonma-yon joylashtirilgan bo'limlarga ajratadi. Bunday holda, har bir ramka o'zining to'liq sahifasi bilan yuklanadi. Frame texnologiyasi hali ham ko'p bahs-munozaralarga sabab bo'lmoqda, ammo shuni aytish kerakki, uning mashhurligi cho'qqisi allaqachon o'tib ketgan. IN bu daqiqa bu texnologiya eskirgan va oddiy ramkalar endi HTML5 da qoʻllab-quvvatlanmaydi.
Texnologiya tarixi
Bugun biz ramka texnologiyasi bilan ishlashdan voz kechish to'g'risidagi qaror nihoyat qabul qilinganligini aytishimiz mumkin. https://www.w3.org/TR/html5-diff/#obsolete-elements sayti bunday tuzilmani yaratish uchun odatiy ramka, frameset va noframes teglari eskirganligini aniq ta'kidlaydi. Dalil sifatida, bunday tuzilmadan foydalanish saytlardan foydalanish qulayligiga va ularning Internetga kirishiga salbiy ta'sir ko'rsatadigan ma'lumotlar taqdim etiladi.
Ammo zamonaviy texnologiyalar IFRAME elementini qo'llab-quvvatlaydi. Uning ishlatilishi sahifalardagi matn bloklariga ramkalar kiritish imkonini beradi. Bundan tashqari, bunday elementlar matnning o'ziga nisbatan tekislanishi mumkin. Muhim nuqta: siz printsipial ravishda o'rnatilgan ramkalar hajmini o'zgartira olmaysiz. Ular o'lchamini o'zgartirish uchun mos atributga ega emas.
Kelajakda, texnologiyada sakrashlarsiz, ramkalardan keyingi foydalanish dargumon. Shuni esda tutish kerakki, Internet texnologiyalarini standartlashtirish bo'yicha etakchi tashkilot - W3C - bunday tuzilmalardan veb-sayt ishlab chiquvchilari tomonidan foydalanilmasligi kerakligini aniq ta'kidlagan.
Ya'ni, ramkalar, printsipial jihatdan, yangi resurslarni yaratishda sahifalarni tuzish uchun ishlatilmasligi kerak. Ammo mavjud saytlarni qo'llab-quvvatlash va takomillashtirish bilan texnologiyaning xususiyatlarini bilish va ulardan foydalanish juda foydali va samarali bo'ladi.
Ramkalarning afzalliklari
Ramka texnologiyasining afzalliklari orasida foydalanish qulayligi, yuqori tezlik va oynaning ma'lum joylarida ma'lumotni to'g'ri joylashtirish imkoniyati mavjud.
Ramkalardan foydalanish sayt bilan ishlashda uzatiladigan trafik hajmini tejash imkonini beradi. Axir, ma'lumotlarning boshqa bo'limiga kirishda odatda sahifaning butun kodi emas, balki faqat bitta bo'limi yangilanadi.
Ushbu tuzilma resurs tarkibi orqali qiziqarli navigatsiya imkoniyatlarini taqdim etadi. Axir, qo'shni freymlarda brauzer oynasida siz turli xil ma'lumotlar bloklarini ko'rishingiz mumkin. Foydalanuvchilar uchun ramka ichida qidirish alohida sahifada bunday operatsiyani bajarishga teng ekanligini bilish muhimdir.
Sayt bilan ishlashda siz boshqa texnologik echimlar yordamida amalga oshirish qiyin bo'lgan alohida bo'lim hajmini dinamik ravishda o'zgartirishingiz mumkin.
Mumkin bo'lgan kamchiliklar
Ramkalardan foydalangan holda veb-saytlar bilan bog'liq muammolar asta-sekin to'planib bordi, ammo bugungi kunda ular chegara darajasiga yetdi. Asosiy kamchiliklar orasida:
Foydalanishning qoniqarsizligi. Bugungi kunda ekran o'lchamlari kichik bo'lgan mobil qurilmalar va planshetlardan foydalanuvchilarning ulushi o'sib bormoqda va allaqachon ish stoli kompyuterlari va noutbuklaridan saytlarga tashrif buyuruvchilar sonidan oshib bormoqda. Va bu erda ramkalardan foydalanish ko'rsatilganda sahifalarning moslashuvi bilan bog'liq jiddiy muammolarni keltirib chiqaradi turli qurilmalar. Bugungi kunda bu muammoning amaliy yechimi yo'q.
Saytga kirish imkoniyatining yomonlashishi turli dasturlar. Qo'shimcha dasturlar sonining ko'payishi (masalan, ekranni o'qish dasturlari) o'qish uchun ma'lumotlarning ancha yomonligini ko'rsatadi.
Sahifalar to'g'ri ko'rsatilmaydi. Ko'pincha bunday tuzilishga ega sahifalarning joylashuvi dizayn nuqtai nazaridan brauzerlarda noto'g'ri ko'rinadi. Va bu texnologiyaning xususiyatlariga bog'liq. SEO nuqtai nazaridan, sahifaning HTML tartibida ramkalardan foydalanish juda istalmagan.
Butun tuzilma uchun bitta manzilning mavjudligi. Natijada, bunday saytning ichki sahifalarini xatcho'p qilib bo'lmaydi. Bu foydalanuvchilar uchun noqulayliklarga olib keladi.
Qidiruv tizimlari tomonidan noto'g'ri indeksatsiya. Veb-saytda bitta sahifa shakllanadigan bir nechta to'liq huquqli hujjatlarning mavjudligi qidiruv tizimlarining ishini sezilarli darajada murakkablashtiradi. Bu indekslashda jiddiy xatolarga olib keladi. Natijada, mavzular va sahifa manzillarining noto'g'ri ta'rifi indekslashdan muhim tarkibni yo'qotishiga olib keladi.
Hurmatsizlik. Bu tarmoqdagi resurslar uchun juda noodatiy kamchilik. Va shunga qaramay, shuni aytish kerakki, freymlardagi saytlarning joylashuvi eskirib borayotgani bunday manbalarning mualliflari va egalari retrograd deb hisoblanishiga olib keladi. Ammo ba'zi istisnolar mavjud. Hatto chat xonalari joylashgan zamonaviy saytlar ham odatda ramkalardan foydalanadi.
Ramkalarni qidiruv tizimlari tomonidan indekslash
Qidiruv tizimlaridan olingan ma'lumotlar bizga ramkalari bo'lgan saytlar sezilarli darajada sekinroq indekslanishini aniq aytadi. Bunday holda, strukturaning o'zi bilan bog'liq xatolar ko'pincha paydo bo'ladi. Axir, har bir ramka to'liq huquqli Internet sahifasini ko'rsatadi. Va saytning aynan shunday qismi indekslash ma'lumotlar bazasiga kiritilishi mumkin.
Bunday indekslashning salbiy tomoni shundaki, sahifaning ichki qismiga o'tishda foydalanuvchi odatda menyular va boshqa navigatsiya mexanizmlarini ko'rmaydi. Va bu ajablanarli emas. Bu holda ramkani yangilash muammoni hal qilish emasligini tushunishingiz kerak. Axir, barcha navigatsiya mexanizmlari boshqa konteynerga joylashtirilgan.
Yana bir muammo shundaki, konteyner strukturasining asosiy sahifasida faqat sarlavha, meta tavsif teglari va FRAMESET tegi mavjud. Va bu mantiqiy ko'rinadi - axir, mazmunli tarkib alohida hujjatlarda joylashgan. Aynan shularni saytga tashrif buyuruvchi sahifada ramkalarda ko'radi.
Ammo qidiruv roboti deyarli hech qachon bunday sahifani indekslamaydi. U tashrif buyuruvchilar uchun foydali bo'lgan tarkibni topa olmaydi. Qidiruv botlari shunday tuzilganki, ular tana yorlig'i ichiga joylashtirilgan ma'lumotlarni olishga va indekslashga harakat qiladilar. Bu erda foydalanuvchi uchun foydali tarkibni qidirish sodir bo'ladi. Ammo ramka sahifasida bunday teg yo'q, u FRAMESET bilan almashtirilgan.
Bu muammoni qisman NOFRAMES yordamida hal qilish mumkin. Ammo ko'pgina saytlarda unga kirishda faqat brauzer ramkalarni qo'llab-quvvatlamasligi haqida ma'lumot beriladi. Va sahifani ko'rish uchun siz boshqa dasturdan foydalanishingiz kerak.
Bunday holatlar saytga kirayotganda menyu va ko'rsatilishi kerak bo'lgan boshqa ma'lumotlarni ko'rmaydigan foydalanuvchilar uchun ko'plab muammolarni keltirib chiqaradi. Agar freymlar veb-saytga joylashtirilsa, uning SEO nuqtai nazaridan parametrlari kamayadi. Shu bilan birga, foydalanuvchilarning xatti-harakatlari statistikasi qidiruv tizimlari orasida resursning obro'si pasayib borayotganini ko'rsatadi. Bu, albatta, veb-sayt trafigiga salbiy ta'sir qiladi.
Ayniqsa, qidiruv tizimlari va indekslash botlari uchun ichki va bir nechta xodimlar tuzilmalarini qayta ishlash qiyin. Har bir konteyner alohida hujjatning barcha xususiyatlariga ega, ammo to'liq navigatsiya va boshqa ma'lumotlarni o'z ichiga olmaydi, vaziyatni yanada murakkablashtiradi.
Sahifalardagi to'g'ri havolalardan foydalanib, qidiruv tizimlarining ishini osonlashtirishingiz mumkin. Bunday holda, siz sahifaning har bir alohida qismida topilishi uchun barcha menyu havolalarini nusxalashingiz kerak. Ammo bu saytni optimallashtirish va undagi ma'lumotlarni yangilash ishlarini sezilarli darajada murakkablashtiradi va sekinlashtiradi.
Ko'pgina optimallashtiruvchilar va veb-ustalar tajribasi, shuningdek, ramkalardagi sahifalar qidiruv natijalarida yuqori reytinglarni olmasligini ko'rsatadi. Bu indekslash ma'lumotlar bazasiga kiritilgan bo'lsa ham sodir bo'ladi.
Ramkalarda veb-saytni reklama qilish xususiyatlari
Ba'zi qidiruv tizimlari ramkali fayllarni noto'g'ri yoki juda noto'g'ri indekslaydi. Natijada, indeks ma'lumotlar bazasi ota-resurslar manzillari bilan emas (bunday bo'lishi kerak), lekin bolalar saytlariga havolalar bilan to'ldiriladi.
Kadrlar asosida saytlarni indekslash muammolarini minimallashtirish uchun ularni tavsiflashda maxsus teglar va parametrlar qo'llaniladi. Konteyner strukturasining asosiy elementi ramkalar to'plamidir. Aynan u standart tanani almashtiradi; manba kodida. Strukturadagi har bir alohida konteyner ramka bilan tavsiflanadi. Uning sahifa kodidagi miqdori ko'rilganda brauzer oynasida ko'rsatiladigan alohida bo'limlar soniga mos keladi.
Ushbu teglar joylashtirilishi kerak bosh sahifa saytga o'ting va keyin ularning har biridagi tarkibni takrorlang.
Ramkalarni qo'llash sohalari
HTML hujjatlarini ishlab chiquvchilar sahifalarda ma'lumotlarni ko'rsatish uchun shakllarning juda keng tanloviga ega. Matn va grafik ma'lumotlar roʻyxatlar, jadvallar yordamida yoki oddiygina tekislash opsiyalaridan foydalangan holda, gorizontal chiziqlarni oʻrnatish va paragraflarga boʻlish orqali tartiblash va tartibga solish mumkin. Ba'zan bu xususiyatlar etarli emas va keyin brauzer oynasini alohida maydonlarga yoki ramkalarga bo'lishingiz kerak. HTML tilining rus tilidagi bir qator tavsiflarida freymlar atamasi o'rniga freymlar atamasi qo'llaniladi. Ikkala atamaning qo'llanish chastotasi taxminan bir xil.
WWW ma'lumotlarini ko'rsatish uchun ramka tuzilishini tanlash quyidagi hollarda oqlanadi:
agar kerak bo'lsa, boshqa pastki sohada ishlayotganda, hujjatlarni brauzerni ko'rish oynasining pastki sohalaridan biriga yuklashni boshqarish;
ekranning boshqa kichik sohalari tarkibidan qat'i nazar, doimo ekranda bo'lishi kerak bo'lgan ma'lumotlarni ko'rish oynasining ma'lum bir joyida joylashtirish;
oynaning bir nechta qo'shni kichik maydonlarida qulay tarzda joylashtirilgan ma'lumotlarni taqdim etish, ularning har biri mustaqil ravishda ko'rib chiqilishi mumkin.
Ushbu ro'yxat ramkalar qo'llanilishi mumkin bo'lgan barcha mumkin bo'lgan holatlarni tugatmaydi, lekin tavsiya xarakteriga ega.
Keling, avval real hayotdagi HTML hujjatlari misollari yordamida freymlardan odatiy foydalanishni ko'rib chiqamiz, so'ngra freymlarni o'z ichiga olgan hujjatlarni ishlab chiqish qoidalariga murojaat qilamiz.
Shaklda. 5.1-rasmda Rossiya moliya va fond bozorlaridan ma'lumotlarni taqdim etishga ixtisoslashgan Finmarket agentligining HTML sahifalaridan biri ko'rsatilgan.
Guruch. 5.1. Ramka tuzilishiga ega odatiy veb-hujjat
Ushbu sahifa brauzer oynasini uchta ramkaga ajratadi. Pastki qism oyna butun oyna balandligining 20% ni egallaydi va doimiy ma'lumotlarni o'z ichiga oladi, bu holda grafik menyu bo'lib, istalgan vaqtda eng muhim bo'limlarga kirish imkonini beradi. Ushbu ramka foydalanuvchi buyruqlari asosida o'z hajmini o'zgartira olmaydi va aylantirish paneli yo'q. Yuqori qism deraza (balandlikning 80%) gorizontal ravishda ikkita ramkaga bo'linadi. Chap ramkada foydalanuvchi ko'rishi mumkin bo'lgan hujjatlar mazmuni mavjud. Ko'rish oynasining ko'p qismini egallagan o'ng ramka hujjatlarning o'zini ko'rsatish uchun mo'ljallangan. Dastlab yuklanganda, bu ikki ramka brauzer oynasini gorizontal ravishda 15% dan 85% gacha bo'lgan nisbatda ajratadi. Ushbu nisbat foydalanuvchi tomonidan ko'rish vaqtida o'zgartirilishi mumkin, bu yuklangan hujjatlarning mazmunini hisobga olgan holda optimal ramka o'lchamlarini tanlash imkonini beradi. Ushbu freymlarning har biri o'zining o'tkazish paneliga ega bo'lib, ramkaning o'zi, butun brauzer oynasi yoki ishlatiladigan shriftlardan qat'i nazar, ramkaning butun tarkibini ko'rish imkonini beradi. Chap freymdagi istalgan havolani tanlaganingizda, tegishli hujjat o'ng ramkaga yuklanadi. Ushbu tuzilma bir vaqtning o'zida ekranda hujjatlar tarkibini ham, tanlangan hujjatning mazmunini ham ko'rish imkonini beradi.
Mana, tushuntirishsiz, ushbu tuzilishga ega hujjat yaratish uchun ishlatiladigan HTML kodining bir qismi:
Ushbu misol ramka tuzilmalaridan eng tipik foydalanishni ko'rsatadi, bu erda bir ramka hujjatlar uchun mundarija bo'lib xizmat qiladi, ikkinchisi esa ularning mazmunini yuklash uchun ishlatiladi. Bunday muammoni ramkalardan foydalanmasdan hal qilish odatda quyidagicha amalga oshiriladi. Sahifalarning birida boshqa hujjatlarga havolalar yoki ularning alohida bo'laklaridan iborat tarkiblar jadvali mavjud. Bunday havolani bosganingizda, mundarija yo'qoladi va kerakli hujjat o'z o'rniga yuklanadi, uni o'qib bo'lgach, odatda mundarijaga qaytishingiz kerak bo'ladi. Ramkalardan foydalanganda, bu qaytarish keraksiz bo'lib qoladi, chunki Mundarija har doim ekranning bir qismida joylashgan.
Siz uni Internetda topishingiz mumkin
Sankt-Peterburgdagi "All Peterburg" mashhur manzil va telefon ma'lumotnomasining elektron nashri veb-sayti.
Katalogning elektron versiyasi bilan quyidagi manzilda tanishishingiz mumkin http://www.allpetersburg.ru va foydalanuvchi so'rovlari asosida kerakli ma'lumotlarni topish imkonini beradi. Ushbu hujjat sahifasi ham ramka tuzilishiga ega va ikkita ramkadan iborat bo'lib, ularning birinchisi 100 piksel kengligida, ikkinchisi esa ko'rish oynasining qolgan butun kengligini egallaydi. Chap tomonda joylashgan ramka doimiy ravishda ekranda mavjud bo'lgan grafik menyu uchun ishlatiladi va Nevalink kompaniyasi logotipini ham o'z ichiga oladi. Ikkinchi ramka hujjatni o'z ichiga oladi, bu holda foydalanuvchi so'rovi shaklidir. Ushbu sahifaning tuzilishi quyidagi HTML kodi bilan belgilanadi:
Ramkalar jadvallarga juda o'xshaydi - ikkalasi ham brauzer oynasini ba'zi ma'lumotlar joylashgan to'rtburchaklar maydonlarga ajratadi. Biroq, ramkalar yordamida siz nafaqat hujjat sahifalarini formatlash masalasini hal qilishingiz, balki ular orasidagi o'zaro aloqani ham tashkil qilishingiz mumkin. Ramkalar va jadvallar o'rtasidagi asosiy farq shundaki, har bir freym o'zining alohida HTML hujjatiga ega bo'lishi kerak, lekin barcha jadval hujayralarining mazmuni doimo bir xil hujjatning bir qismidir. Bunga qo'shimcha ravishda, ramkada ko'rsatilgan sahifa boshqalardan mustaqil ravishda ko'rilganda aylantirilishi mumkin. Har bir kadr mohiyatan alohida “mini-brauzer” hisoblanadi. Butun tuzilishi har doim ekranda ko'rsatiladigan ramkalardan farqli o'laroq, jadvallar oynaga to'liq mos kelmasligi mumkin va ularni faqat qismlarga bo'lib ko'rish mumkin. Bundan kelib chiqadiki, agar HTML jadvallarida hujayralarning umumiy soni amalda cheklanmagan bo'lsa va bir necha yuzga yetishi mumkin bo'lsa, hujjatdagi ramkalar soni odatda bir necha birlikdan oshmaydi.
Maslahat
Agar siz faqat hujjatni formatlashingiz kerak bo'lsa, unda jadvallardan foydalanish bilan cheklanish kifoya. Agar siz murakkabroq muammolarni hal qilishingiz kerak bo'lsa, masalan, oynaning pastki qismlari o'rtasidagi o'zaro ta'sirni tashkil qilish yoki ekranda doimiy joylashgan pastki maydonlarni yaratish, u holda ramkalardan foydalanish qulay.
Oxir oqibat, hujjat strukturasini tanlash - jadval yoki ramka - ko'p omillarga bog'liq va uni aniq belgilash mumkin emas.
Shuningdek boravvalgilariga o'xshash tarzda qurilgan sahifalar. Masalan, siz olishingiz mumkin asosan Internet bilan ishlash uchun mo'ljallangan dasturiy mahsulotlarning dunyo bo'ylab juda mashhur to'plamining sahifasi. Server manzil http://www.tucows.com. E'tibor bering, server nomi to'plamning to'liq nomi - The Ultimate Collection of Winsock Software qisqartmasidan olingan qisqartma bilan aniqlangan. Tucows qisqartmasi ikkita sigir (ikki sigir) iborasiga mos kelganligi sababli, sigirlarning tasvirlari ko'pincha server sahifalarida topiladi va dasturiy mahsulotlarning reytingi mooinglar soni bo'yicha baholanadi ("Moo") va sigirlarning tegishli soni qatori sifatida grafik tasvirlangan. Server sahifalarining aksariyati xuddi shu tarzda qurilgan - oynaning chap tomonida mavjud bo'limlar ro'yxati, o'ng tomonida esa tanlangan bo'lim uchun dasturiy mahsulotlar ro'yxati joylashgan. Bir qarashda, hujjatning tuzilishi avvalgi misollardagi kabi ko'rinishi kerak. Biroq, bu hujjat ramkalardan foydalanmaydi! Ushbu sahifa ikkita katakchali bitta qatordan iborat jadval yordamida tuzilgan. Jadvalda ramka yo'q va faqat sahifani formatlash maqsadiga xizmat qiladi. Vertikal bo'lingan ekranning taassurotlari o'z ichiga olgan fon grafikasi yordamida yaratiladi vertikal chiziq, va umuman stol panjarasi emas. Buni rasmlarni yuklamasdan sahifani ko'rish orqali tekshirishingiz mumkin. Bu erda jadvaldan foydalanish hujjatlarning ko'proq foydalanish imkoniyatini hisobga olgan holda, chunki ramkalar barcha brauzerlarda ko'rsatishga imkon bermaydi.
Bunday holda, ushbu yondashuvning kamchiliklari har bir hujjatda bo'limlarning butun ro'yxatini (sahifaning chap tomoni) takrorlash zarurati bo'lib, bu fayl hajmini biroz oshiradi.
Yuqoridagi misollarni taqqoslash shuni ko'rsatadiki, jadvallar va ramkalardan foydalanish ba'zan bir-birini almashtirib, ishlab chiquvchilarning xohishlariga ko'ra aniqlanishi mumkin. E'tibor bering, ko'pincha hujjat ko'rsatilgan sahifani ko'rib chiqayotganda, uning qanday tuzilganligini aniqlab bo'lmaydi. Yakuniy foydalanuvchi hujjatning ichki tuzilishini bilishi shart emas, lekin o'z veb-sahifalarini ishlab chiqishda mavjud hujjatlarning manba kodi bilan tanishish juda foydali bo'ladi. Birinchi misolda (5.1-rasmga qarang) hujjatning ramka tuzilishi darhol ko'rinadi - ikkita vertikal aylantirish paneli mavjudligi allaqachon alohida ramkalar mavjudligini aniqlaydi. Quyidagi ikkita misol tashqi ko'rinishida juda o'xshash va ularning birinchisi ramkalar, ikkinchisi esa jadvallar yordamida qurilganligini aniqlash mumkin emas. Farqlar faqat ular bilan ishlashda paydo bo'ladi. Telefon ma'lumotnomasi misolida hujjatni aylanayotganda oynaning chap qismi joyida qoladi, bu faqat ramka tuzilishi mavjud bo'lganda mumkin. Quyidagi misolda (dasturiy mahsulotlar to'plami) aylantirish oynaning butun tarkibini siljitadi.
Netscape brauzeri bilan ishlashda hujjat strukturasini View menyusining Page Info bandi (Netscape brauzerining 3.x versiyalarida ushbu menyu bandi Hujjat haqida ma’lumot deb atalgan) yordamida ko‘rishingiz mumkin (5.2-rasm).
Bundan tashqari, siz har doim "Ko'rish" menyusining Sahifa manbasi bandidan (yoki sichqonchaning o'ng tugmasi bilan bosilgan kontekst menyusidagi "Kadrlar manbasini ko'rish" bandidan foydalanib, hujjatning HTML kodini ko'rishingiz mumkin. tanlangan ramka).
Maslahat
Ramkalardan foydalanishni asossiz suiiste'mol qilmaslik kerak va ularning soni uch yoki to'rtdan oshmasligi kerak.
Ko'pincha Internetdagi haqiqiy sahifalarda siz ramkalardan foydalanishning quyidagi holatlarini ko'rishingiz mumkin:bir vaqtning o'zida ko'rish va bir-biri bilan solishtirish uchun qulay bo'lgan hujjatlarni yuklash uchun ikkita qo'shni ramka ishlatiladi. Kadrlarga yuklangan ikkita hujjatning har biri ma'lumotni taqdim etish uchun jadval shaklidan foydalanadi. Ma'lumotlarning bunday tashkil etilishi natijasida ikkita jadvalning har birini alohida ko'rish (yoki chop etish) yoki boshqasi bilan taqqoslab o'rganish mumkin.
Ushbu bo'limda keltirilgan barcha misollar mashhur WWW serverlari sahifalaridan olingan va, ehtimol, HTML hujjatlarida ramkalardan foydalanishga misol bo'la oladi.
Ushbu bobning keyingi bo'limlari ramkalarni o'z ichiga olgan hujjatlarni yozish qoidalarini o'z ichiga oladi.
Ramkalarni tasvirlash qoidalari
Keling, ramka tuzilmalari bo'lgan hujjatlar uchun ishlatiladigan teglarni yozish qoidalarini ko'rib chiqishga o'tamiz.
Keling, avvalo o'rtacha murakkablikdagi ramkalar bilan hujjat yaratadigan to'liq HTML kodini ko'rib chiqaylik:
Ushbu misol shaklda ko'rsatilgan ramkali sahifani yaratadi. 5.3. Ko'rib turganingizdek, ushbu HTML kodi to'rtta ramkani belgilaydi. Yuqori ramka sahifaning butun kengligini qamrab oladi va sarlavhani o'z ichiga oladi. Keyingi ikkita markaziy ramka, ulardan biri chap tomonda joylashgan va ekran kengligining 25 foizini egallaydi, ikkinchisi esa qolgan joyni egallaydi. Oxirgi, to'rtinchi kadr ekranning pastki choragini egallaydi. Har bir freymga alohida HTML hujjati yuklanadi, uning nomi SRC parametri bilan belgilanadi.
Misoldan ko'rinib turibdiki, teglar ramkalar tuzilishini tavsiflash uchun ishlatiladi
, Va . Keling, ushbu teglarning maqsadini ko'rib chiqaylik.
Guruch. 5. 3
.
Misolda ko'rsatilgan ramkalar bilan HTML hujjatni aks ettiruvchi Netscape brauzerining natijasi
teg
Ramkalar FRAMESET deb nomlangan tuzilmada aniqlanadi, u BODY bo'limi o'rniga freymlarni o'z ichiga olgan sahifalar uchun ishlatiladi. oddiy hujjat. Ramkalardan tashkil topgan veb-sahifalar HTML kodida BODY bo'limini o'z ichiga olmaydi. O'z navbatida, BODY bo'limiga ega sahifalar ramkalardan foydalana olmaydi.
Maslahat
Ramkalangan sahifalarda BODY bo'limi yo'qligi sababli butun sahifa uchun fon tasviri va fon rangini o'rnatishning hech qanday usuli yo'q. Eslatib o'tamiz, bu sozlamalar BODY tegida yozilgan BACKGROUND va BGCOLOR parametrlari bilan aniqlanadi. Biroq, bu har bir freymga o'z fon sozlamalari bo'lgan hujjatlarni yuklashingizga to'sqinlik qilmaydi.
Teglar konteyneri
Va har bir ramka belgilash blokini ramkalar. Idishning ichida faqat teglarni o'z ichiga olishi mumkin va ichki o'rnatilgan teglar .
teg
ikkita parametrga ega: ROWS (satrlar) va COLS (ustunlar) va quyidagicha yoziladi:
.
Eslatma
Ba'zi brauzerlar qo'shimcha teg parametrlariga ruxsat beradi
Siz ROWS yoki COLS yoki ikkalasi uchun qiymatlarni belgilashingiz mumkin. Ushbu parametrlardan kamida bittasi uchun kamida ikkita qiymatni aniqlash kerak. Agar boshqa parametr o'tkazib yuborilsa, uning qiymati 100% deb qabul qilinadi.
Maslahat
Agar tegda bo'lsa Agar ROWS va COLS uchun faqat bitta qiymat aniqlangan bo'lsa, bu teg haqiqiy emas deb hisoblanadi va brauzer uni e'tiborsiz qoldiradi. Boshqacha qilib aytganda, aniqlab bo'lmaydi , faqat bitta ramkadan iborat.
Teg ROWS va COLS parametr qiymatlari roʻyxati
piksellar, foizlar yoki nisbiy birliklarda ko'rsatilishi mumkin bo'lgan vergul bilan ajratilgan qiymatlar ro'yxati. Satrlar yoki ustunlar soni tegishli ro'yxatdagi qiymatlar soni bilan belgilanadi. Masalan, yozib oling
uchta ramkalar to'plamini belgilaydi. Bu qiymatlar mutlaq piksel qiymatlaridir. Boshqacha qilib aytganda, birinchi ramka (birinchi qator) 100 piksel balandlikda, ikkinchisi 240 piksel, oxirgisi esa 140 piksel balandlikda.
Kadr o'lchamini piksellarda o'rnatish juda qulay emas. Bu brauzerlarning turli xil operatsion tizimlarda va turli xil displey o'lchamlari bilan ishlashini hisobga olmaydi. Shu bilan birga, ba'zi holatlar uchun mutlaq o'lcham qiymatlarini aniqlash mumkin, masalan, ma'lum o'lchamlarga ega kichik rasmni ko'rsatish. Eng yaxshi variant qiymatlarni foizlarda yoki nisbiy birliklarda belgilash bo'ladi, masalan:
.
Ushbu misol ekranning to'liq kengligi bo'ylab qatorlar sifatida joylashtirilgan uchta ramka yaratadi. Yuqori qator mavjud ekran balandligining 25 foizini, o'rta qator - 50 foizni va pastki qator - 25 foizni egallaydi. Agar ko'rsatilgan foizlarning yig'indisi 100% ga teng bo'lmasa, natija aniq 100% bo'lishi uchun qiymatlar proportsional ravishda o'lchanadi.
Nisbiy birliklardagi qiymatlar quyidagicha:
.
Yulduzcha (*) bo'shliqni proportsional ravishda bo'lish uchun ishlatiladi. Har bir yulduz butunning bir qismini ifodalaydi. Yulduzchalar yonidagi raqamlarning barcha qiymatlarini qo'shib (agar raqam qoldirilsa, bittasi qabul qilinadi), biz kasrning maxrajini olamiz. Bu misolda birinchi ustun oynaning umumiy kengligining 1/6 qismini, ikkinchi ustun 2/6 (yoki 1/3) qismini, oxirgisi esa 3/6 (yoki 1/1) qismini egallaydi. 2).
Esda tutingki, hech qanday belgisiz raqamli qiymat satr yoki ustun uchun piksellarning mutlaq sonini bildiradi. Foiz belgisi (%) bo'lgan qiymat ko'rish oynasining umumiy kengligi (COLS uchun) yoki balandligi (QATLAR uchun) nisbatini, yulduzcha (*) bilan qiymat esa qolgan bo'shliqning mutanosib taqsimlanishini bildiradi.
Mana, qiymatlarni o'rnatish uchun uchta variantdan foydalanadigan misol:
.
Ushbu misolda birinchi ustun 100 piksel kengligida bo'ladi. Ikkinchi ustun butun ko'rish maydoni kengligining 25 foizini, uchinchi ustun qolgan joyning 1/3 qismini va oxirgi ustun 2/3 qismini egallaydi. Avval chapdan o'ngga qarab mutlaq qiymatlarni belgilash tavsiya etiladi. Ular ta'qib qilinadi foiz qiymatlari makonning umumiy hajmidan. Nihoyat, qolgan bo'shliqning mutanosib bo'linishini aniqlaydigan qiymatlar qayd etiladi.
Maslahat
Agar siz mutlaq COLS yoki ROWS qiymatlaridan foydalansangiz, ularni har qanday brauzer oynasiga sig'ishi uchun kichik qilib qo'ying va kerak bo'lganda ularni to'ldiring. kamida, qolgan bo'sh joyni to'ldirish uchun foiz yoki nisbiy shaklda ko'rsatilgan yagona qiymat.
Agar teg ishlatilsa
, unda COLS va ROWS qiymatlari ko'rsatilgan bo'lsa, ramkalar panjarasi yaratiladi. Masalan:
HTML kodining ushbu qatori uchta qator va ikkita ustunli ramkalar panjarasini yaratadi. Birinchi va oxirgi qatorlar har biri balandlikning 1/4 qismini, o'rta chiziq esa yarmini egallaydi. Birinchi ustun kenglikning 2/3 qismini, ikkinchisi esa 1/3 qismini egallaydi.
Idish
dastlabki misolda ko'rsatilganidek, boshqa shunga o'xshash konteyner ichiga joylashtirilishi mumkin. Keling, tegdan foydalanishni batafsil ko'rib chiqaylik .
Eslatma
HTML tilidagi ba'zi manbalar tegning COLS va ROWS parametrlarini ko'rsatadi bir-birini istisno qiladilar. Biroq, Netscape ham, Microsoft Internet Explorer ham ularni birgalikda ishlatishga imkon beradi.
teg
teg yagona ramkani belgilaydi. U bir juft teg ichida joylashgan bo'lishi kerak
Va. Masalan:
Iltimos, teg ekanligini unutmang konteyner emas va undan farqli o'laroq
yakuniy tegga ega emas. Bitta ramkaning to'liq ta'rifi HTML kodining bir qatori bilan amalga oshiriladi.
Yozib olish uchun juda ko'p teglar mavjud tegni belgilashda qancha individual freymlar aniqlanadi
. Oldingi misolda teg ikkita satr berildi, shuning uchun ikkita teg yozish kerak edi . Biroq, bu misol aslida befoyda, chunki freymlarning hech birida tarkib yo'q!
teg oltita parametrga ega: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING va NORESIZE.
Eslatma
Ba'zi brauzerlar bir qator qo'shimcha teg parametrlaridan foydalanishga imkon beradi . Netscape va Microsoft Internet Explorer brauzerlarining imkoniyatlari haqida umumiy ma’lumot bob oxirida berilgan.
Amalda tegda Kamdan-kam hollarda barcha parametrlar bir vaqtning o'zida ishlatiladi.
Ko'pchilik muhim parametr- SRC (manbaning qisqartmasi). Ko'pincha tegda bitta SRC parametri belgilangan. Masalan:
.
SRC parametrining qiymati dastlab ushbu ramkaga yuklanadigan hujjatning URL manzilini aniqlaydi. Odatda, bu manzil asosiy hujjat bilan bir xil katalogda joylashgan HTML faylning nomidir. Keyin ramkani aniqlash chizig'i, masalan, quyidagicha ko'rinadi:
.
E'tibor bering, ramka ta'rifida ko'rsatilgan har qanday HTML fayli fragment emas, balki to'liq HTML hujjati bo'lishi kerak. Demak, hujjatda HTML, HEAD, BODY va hokazo teglar bo‘lishi kerak.
Albatta, SRC qiymati har qanday haqiqiy URL bo'lishi mumkin. Agar, masalan, ushbu kitob nashriyotining serverida joylashgan GIF tasvirini ko'rsatish uchun ramka ishlatilsa, unda siz quyidagilarni yozishingiz kerak:
Oddiy matn, sarlavhalar, grafikalar va boshqa elementlardan to'g'ridan-to'g'ri ramka tuzilishini tavsiflovchi hujjatda foydalanish mumkin emas. Kadrlarning barcha tarkibi alohida HTML fayllarida aniqlanishi kerak, ularning nomlari tegning SRC parametri bilan belgilanadi. .
NAME parametri ushbu ramkaga murojaat qilish uchun ishlatilishi mumkin bo'lgan freym nomini belgilaydi. Odatda havola xuddi shu sahifada joylashgan boshqa ramkadan o'rnatiladi. Masalan:
.
Ushbu yozuv havola qilinishi mumkin bo'lgan "Frame_1" nomli ramka yaratadi. Masalan:
Yuklab olish uchun shu yerni bosing
other.htm faylini Frame_1 nomli ramkaga kiriting.
Kadr nomiga ishora qiluvchi TARGET parametriga e'tibor bering. Agar freymga nom berilmagan bo'lsa, nomsiz ramka hosil bo'ladi va unga boshqa freymdan murojaat qilish mumkin bo'lmaydi. Ramka nomlari harf-raqamli belgi bilan boshlanishi kerak.
MARGINWIDTH va MARGINHEIGHT parametrlari ramka chetlarining kengligini belgilash imkonini beradi. Bu quyidagicha yoziladi:
MARGINWIDTH = "qiymat",
bu erda "qiymat" piksellardagi mutlaq qiymatdir. Masalan:
Ushbu ramkaning yuqori va pastki qismida 5 piksel, chap va o'ngda esa 7 piksel bo'lgan chetlari mavjud. Esda tutingki, biz bu erda chegaralar haqida emas, balki chegaralar haqida gapiramiz. MARGINWIDTH va MARGINHEIGHT parametrlari ramka ichidagi bo'sh joyni belgilaydi, unda hech qanday ma'lumot joylashmaydi. Ushbu parametrlar uchun minimal qabul qilinadigan qiymat bitta.
Agar ramka tarkibi ajratilgan maydonga to'liq mos kelmasa, freymlar avtomatik ravishda aylantirish panellarini yaratadi va ko'rsatadi. Ba'zan bu sahifa dizaynini buzadi, shuning uchun aylantirish paneli ko'rinishini boshqarish qulay bo'ladi. Ushbu maqsadlar uchun SCROLLING parametridan foydalaniladi. Yozib olish formati:
.
SCROLLING parametri uchta qiymatni qabul qilishi mumkin: YES, NO yoki AUTO. AUTO qiymati hech qanday SCROLLING parametri bo'lmagandek ta'sir qiladi. YES qiymati aylantirish satrlari kerak yoki yo'qligidan qat'iy nazar paydo bo'lishiga olib keladi va YO'Q ularning paydo bo'lishiga to'sqinlik qiladi. Masalan:
.
Odatda foydalanuvchi sahifani ko'rayotganda ramkalar hajmini o'zgartirishi mumkin. Agar siz sichqoncha kursorini ramka ramkasiga qo'ysangiz, kursor o'lchamini o'zgartirish imkoniyatini ko'rsatadigan shaklga ega bo'ladi va ramkani kerakli joyga ko'chirishga imkon beradi. Bu ba'zan chiroyli mo'ljallangan ramkalar tuzilishini buzadi. Foydalanuvchining ramkalar hajmini o'zgartirishiga yo'l qo'ymaslik uchun NORESIZE parametridan foydalaning:
.
Ushbu parametr hech qanday qiymatlarni talab qilmaydi. Tabiiyki, kadrlardan biri uchun NORESIZE parametri o'rnatilgan bo'lsa, u holda qo'shni freymlarning o'lchamini ham o'zgartirib bo'lmaydi. Ba'zan kadrlarning joylashuviga qarab, ularning birortasining ekranda o'lchamlarini o'zgartirishning oldini olish uchun kadrlardan birida NORESIZE parametridan foydalanish etarli bo'ladi.
teg
Ramkalar bilan ishlash qobiliyati HTML 3.0 yoki HTML 3.2 standartida nazarda tutilmagan. Bu erda, yaqin vaqtgacha, haqiqatda ishlatilgan xususiyatlar ko'plab WWW sahifalarida faol qo'llaniladigan, ammo standartning bir qismi bo'lmagan odatiy holat mavjud edi. Bu shuni anglatadiki, brauzerlar qonuniy ravishda ramkalarni e'tiborsiz qoldirishi mumkin edi. HTML 4.0 standartining paydo bo'lishi bilan vaziyat o'zgardi - endi ramka tuzilmalarini qo'llab-quvvatlash standartda mustahkamlangan. E'tibor bering, ko'pgina zamonaviy brauzerlar HTML 4.O paydo bo'lishidan oldin ham ramkalarni tanigan. Biroq, freymlarni qo'llab-quvvatlamaydigan brauzerlardan foydalangan holda foydalanuvchilarga ma'lumot berish kerak. Bunday brauzerlar uchun teglar juftligi o'rtasida yozilgan muqobil ma'lumotlarni taqdim etish mumkin Va. Bu shunday ko'rinadi:
butun HTML hujjati
Hammasi teglar orasiga joylashtirilgan Va, ramkani qo'llab-quvvatlash qobiliyatiga ega bo'lmagan brauzerlar tomonidan ko'rsatiladi. Frame-dan xabardor brauzerlar ushbu teglar orasidagi barcha ma'lumotlarni e'tiborsiz qoldiradilar.
E'tibor bering, haqiqiy hayotda HTML sahifa ishlab chiquvchilari ko'pincha tegning imkoniyatlaridan foydalanmaydi ramka tuzilmalarisiz sahifalar yaratish, lekin ularning HTML hujjatlarining ikkita versiyasini yaratish. Ushbu variant uchun bosh sahifa Odatda sizga ramka tuzilishi bilan yoki bo'lmagan hujjatni yuklash tanlovi taklif etiladi. Keyin, foydalanuvchining tanloviga qarab, hujjatning faqat bitta versiyasi yuklanadi.
Ramka tuzilmalarini tavsiflash xususiyatlari
Ramka tuzilmalarini tavsiflashda foydalaniladigan eng muhim teglardan biri tegdir . Teg bir qancha parametrlarga ega, ularning hech biri talab qilinmaydi yoki boshqalarga bog'liq emas, lekin ularni yozishda bir qancha narsalarni hisobga olish kerak.
Ma'lum bo'lishicha, agar siz keyinchalik hujjat yuklanishi mumkin bo'lgan ramka yaratishingiz kerak bo'lsa, masalan, boshqa freymning buyrug'i bilan siz tegdan foydalanishingiz kerak. SRC parametrini yozing. Agar bu
parametr o'tkazib yuborilgan bo'lsa, ramka yaratilmaydi, garchi u uchun bo'sh joy qoladi. Masalan, rekord kabi Bu juda mantiqiy va dastlab hech qanday hujjat yuklanmagan "B" nomli ramkani belgilashi mumkin. Biroq, SRC parametri yo'qligi sababli, bunday nomdagi ramka mavjud bo'lmaydi, shuning uchun unga biron bir hujjatni yuklashga keyingi urinishlar muvaffaqiyatsiz bo'lib qoladi va bu ramka uchun ajratilgan oynada bo'sh joy bo'sh qoladi. Bundan tashqari, ba'zi brauzerlar (masalan, Windows Z.xx uchun Microsoft Internet Explorer-ning 3-versiyasi) hujjatni bunday ramkaga yuklashga urinayotganda xato xabarini ko'rsatadi va chiqadi.
SRC parametrini o'rnatish talabini mantiqiy ravishda tushuntirib bo'lmaydi, shuning uchun bu haqiqatga e'tibor berish yaxshidir. Keyin, hatto boshidan bu ramkaga yuklanishi kerak bo'lgan hujjat bo'lmasa ham, SRC parametrida fayl nomini ko'rsatishingiz kerak. Masalan, bunday faylni empty.htm (bo'sh) deb atash mumkin, uning mazmuni mumkin bo'lgan minimal to'g'ri HTML hujjati bo'ladi, xususan:
Ushbu hujjatni ikkita tegga qisqartirishingiz mumkin: , bu ham haqiqiy HTML hujjati bo'ladi. "Bo'sh" hujjatning hajmini maksimal darajada kamaytirish yo'lidan o'tib, siz o'zingizni bo'sh joy belgisini (yoki boshqa ko'rsatilmaydigan belgilarni) saqlaydigan hajmi bir baytga teng bo'lgan fayl bilan cheklashingiz mumkin. Bu fayl haqiqiy HTML hujjati bo‘lmaydi, lekin ko‘pchilik brauzerlarda muammo tug‘dirmaydi. Keyinchalik bunday fayl hajmini nolga qisqartirish o'zini oqlamaydi, chunki u Netscape brauzeri tomonidan yuklanganda, hujjatda ma'lumotlar mavjud emasligi haqida ogohlantirish xabari (5.4-rasm) ko'rsatiladi.
Shu bilan birga, yoqilgan bu xabar tugmani bosish orqali javob berishingiz kerak yoki sichqoncha tugmasi. Hujjat qayta yuklanganda yoki brauzer oynasi o'lchamini o'zgartirganda, xabar yana paydo bo'ladi.
Siz mavjud bo'lmagan fayl nomini ham ko'rsatishingiz mumkin, ammo bu holda Netscape brauzerida ogohlantirish xabari paydo bo'ladi (5.5-rasm), bu keyingi ishlashga to'sqinlik qilmaydi, lekin shunga o'xshash noqulayliklarga olib keladi.
Guruch. 5. 5
.
Mavjud bo'lmagan faylni yuklab olishga urinayotganda ogohlantirish xabari
Maslahat
O'lchami bir bayt bo'lgan va bo'sh joy belgisini o'z ichiga olgan empty.htm faylini yarating. Teg yozishda buni qoidaga aylantiring Agar ma'lum bir fayl nomini darhol ko'rsatishning iloji bo'lmasa, har doim SRC=empty.htm ni belgilang.
Ramkalarga misollar
Ushbu bo'limda ramka ta'riflarining ba'zi tipik misollari keltirilgan.
Keling, ushbu bo'limning boshida keltirilgan misolga qaytaylik (5.3-rasm). Ushbu misolda ichki o'rnatilgan tuzilma qo'llaniladi
. Tashqi teg ko'rish maydonining umumiy balandligining mos ravishda 25, 50 va 25 foizini tashkil etadigan uchta balandlik qatorini yaratadi:
.
Ushbu ta'rif doirasida birinchi va oxirgi qatorlar oddiy ramkalardir:
Ushbu chiziqlarning har biri ekranning butun kengligini to'ldiradi. Ekranning yuqori qismidagi birinchi qator balandlikning 25 foizini, pastki qismidagi uchinchi qator ham balandlikning 25 foizini egallaydi. Biroq, ularning o'rtasida ichki yorliq mavjud
:
Bu teg ekranning o'rta qatori bo'lingan ikkita ustunni belgilaydi. Ushbu ikkita ustunni o'z ichiga olgan qator tashqi tegda belgilanganidek, ekran balandligining 50 foizini egallaydi.
. Chap ustun ekran kengligining 25 foizini ishlatadi, o'ng ustun esa qolgan 75 foizni egallaydi.
Ushbu ustunlar uchun ramkalar o'rnatilgan teglar juftligida aniqlanadi
Va, birinchi va oxirgi qator uchun ramkalar ta'rifi bu juftlikdan tashqarida, lekin tashqi tomonda yozilgan bo'lsa-da tegishli tartibda.
Agar siz uni ichki blok deb hisoblasangiz, yozuv tuzilishini tushunish oson
alohida element sifatida . Bizning misolimizda tashqi teg uchta qatorni belgilaydi. Ularning har biri to'ldirilishi kerak. Bunday holda, ular birinchi navbatda alohida element bilan to'ldiriladi , keyin - ichki blok sifatida ikkita ustun kengligi va keyin boshqa element .
Endi SRC teg parametrining qiymati bo'lishi mumkinmi degan savol tug'ilishi mumkin fayl nomini o'rnating, bu esa o'z navbatida ramka tuzilishining tavsifini o'z ichiga oladi. Ha, bu qabul qilinadi. Bu holda teg ramka tuzilishi bo'lgan va alohida ramka sifatida ishlatiladigan HTML hujjatiga ishora qilish uchun ishlatiladi.
Keling, misolga qaytaylik va ichki o'rinni almashtiramiz
alohidaga . Tabiiyki, bir o'rniga ikkita HTML fayli kerak bo'ladi, chunki ichki o'rnatilgan endi alohida hujjatda joylashgan bo'ladi. Mana birinchi (tashqi) faylning mazmuni:
Brauzeringiz ramkalarni ko'rsata olmaydi
Frameset.htm deb nomlangan ikkinchi fayl quyidagi kodni o'z ichiga oladi:
Bunday holda, yuqori va pastki chiziqlar bir xil harakat qiladi. Ammo ikkinchi qator endi boshqalar kabi oddiy ramka. Biroq, SRC parametri bilan ko'rsatilgan frameset.htm fayli o'zining ramka tuzilishini belgilaydi. Natijada, ekran asl misoldagi kabi ko'rsatiladi.
Eslatma
Printsipial jihatdan o'rnatilgan tuzilmalarni yaratish mumkin , teglar yordamida , bu ramka tuzilishini tavsiflovchi bir xil faylga ishora qiladi, lekin buni qilmaslik kerak. Bu holat cheksiz rekursiyaga olib keladi va keyingi ishlashga imkon bermaydi. Ba'zi brauzerlar bu vaziyatni nazorat qiladi va muvaffaqiyatsizlik ehtimolini oldini oladi. Agar SRC ga yozilgan manzil kadrlar ierarxiyasidagi oldingi manzillardan biriga mos kelsa, u holda SRC parametri umuman mavjud bo'lmagandek e'tiborga olinmaydi.
Maslahat
O'rnatilgan tuzilmalardan foydalanish turli xil kombinatsiyalarda tasavvur qilinadigan deyarli har qanday ramka panjarasini yaratish mumkin. Shu bilan birga, foydalanuvchi uchun qulay interfeys yaratishni unutmang va shunchaki ramkalar bilan ishlash qobiliyatingizni namoyish eting.
Oddiy to'rtburchaklar ramkalar panjarasini yaratish misoli:
Ushbu misol ikki qator va uchta ustunli ramka panjarasini yaratadi (5.6-rasm). Oltita ramkalar to'plami aniqlanganligi sababli, oltita alohida ramkani ham aniqlash kerak . E'tibor bering, ramka ta'riflari satr satr bilan berilgan. Ya'ni, birinchi teg birinchi qatordagi birinchi ustunning mazmunini belgilaydi, ikkinchisi ikkinchi ustunning mazmunini belgilaydi, uchinchisi esa birinchi qatorning oxirgi ustuni uchun ma'lumotlarni aniqlaydi. Keyin oxirgi uchta ramka ikkinchi qatorning ustunlarini to'ldiradi.
Guruch. 5. 6
.
2 dan 3 gacha ramka panjarasi
Shuni ham yodda tutingki, COLS parametridagi foiz qiymatlarining yig'indisi 100 emas, faqat 90 foizni tashkil qiladi. Buning hech qanday yomon joyi yo'q, chunki brauzer ushbu qarama-qarshilikni bartaraf etish uchun ustunlar kengligini avtomatik ravishda mutanosib ravishda o'zgartiradi.
Kadrlardan foydalanishda navigatsiya xususiyatlari
Ramka tuzilishiga ega bo'lgan hujjatlar bilan ishlash siz bilishingiz kerak bo'lgan ba'zi xususiyatlarga ega. JB ning bu xususiyatlari asosan hujjatlarni yuklashda navigatsiyada namoyon bo'ladi. Navigatsiyadagi sezilarli farqlar nafaqat turli brauzerlar, balki xarakterlidir turli versiyalar bir xil brauzer.
Netscape brauzerining 3.x va 4.x versiyalari Orqaga tugmasini bosganingizda hujjatni oxirgi marta bajarilgan ramkaga qaytaradi. Har qanday freymda kontekst menyusini chaqirganda Orqaga bandi tanlansa, xuddi shu harakatlar bajariladi. Eslatib o'tamiz, kontekst menyusi sichqonchaning o'ng tugmachasini bosish orqali chaqiriladi. Shunday qilib, kontekst menyusi qaysi kadrda chaqirilganidan qat'i nazar, "Orqaga" tugmasini bosish oxirgi amalni, hatto u boshqa kadrda bajarilgan bo'lsa ham bekor qiladi.
Netscape 2.x brauzeri butunlay boshqacha ishladi. Kontekst menyusi oxirgi amalni bekor qilishdan ko'ra hujjatni joriy kadrga qaytaradigan "Kadrga orqaga" buyrug'ini o'z ichiga oladi.
Netscape-ning istalgan versiyasida siz tanlangan ramkadagi hujjatga xatcho'p qo'yishingiz mumkin. Buning uchun yuqorida aytib o'tilgan kontekst menyusidan Xatcho'p qo'shish rejimini tanlashingiz kerak. Agar siz shunchaki brauzerning asosiy menyusidan Xatcho‘p qo‘shish rejimini tanlasangiz, hujjatda ramka tuzilishi tavsifi bilan xatcho‘p qo‘yiladi.
, bu ma'lum bir ramkaga aniq ishora qilmaydi. Alohida ramkaning hujjatida xatcho'p yaratish qobiliyati ushbu xatcho'pdan foydalanishni davom ettirganingizda bir xil ramka tuzilishi paydo bo'lishini anglatmaydi. Xatcho'p bilan ko'rsatilgan hujjat ramka tuzilishidan tashqarida to'liq oynaga yuklanadi.
Kadrlar orasidagi o'zaro ta'sir
WWW da ma'lumotlarni ko'rishning eng oddiy shakli o'qish sahifalari va quyidagi havolalardan iborat bo'lib, ularda brauzer oynasidagi joriy hujjat boshqa hujjat bilan almashtiriladi. Ramkalar bilan ishlashda siz hujjatlarni yuklash sxemasini qulayroq tashkil qilishingiz mumkin.
Kadrlar orasidagi o'zaro ta'sir boshqa freymdan buyruqlar yordamida tanlangan kadrga hujjatlarni yuklash qobiliyatidir. Buning uchun TARGET teg parametridan foydalaniladi<А>. Ushbu parametr ushbu havola orqali ko'rsatilgan hujjat yuklanadigan freym yoki brauzer oynasining nomini belgilaydi. Odatiy bo'lib, agar TARGET parametri bo'lmasa, hujjat joriy ramkaga (yoki oynaga) yuklanadi. Bu standart tegni belgilash orqali bekor qilinishi mumkin TARGET parametrining kerakli qiymati bilan. Ko'p sonli havolalar hujjatlarni ma'lum bir freymga yo'naltirish kerak bo'lganda yuklanadigan standart ramka nomini ko'rsatish juda foydali. Bitta freymdagi tarkiblar jadvali bilan bog'liq odatiy holat, tegishli hujjatlarni qo'shni ramkaga yuklaydigan havolalar ushbu bobning boshida ko'rsatilgan (5.1-rasm). Ushbu bo'limdagi misol uchun
LIST.htm nomli fayl uchun quyidagi qatorni yozish tavsiya etiladi: . Aks holda, har bir havola uchun TARGET parametrini belgilashingiz kerak bo'ladi.
Ramka nomlari lotin harfi yoki raqami bilan boshlanishi kerak. Ism mavjud oyna yoki ramkaning nomi bo'lishi mumkin yoki yangi oyna ochiladigan yangi nom ko'rsatilishi mumkin. Belgilanganda maxsus harakatlarni bajaradigan to'rtta zahiralangan nom mavjud. Bu nomlar pastki chiziq (_) bilan boshlanadi: "_blank", "_self", "_parent" va "_top". Pastki chiziq bilan boshlangan har qanday boshqa nom haqiqiy emas.
TARGET="_bo'sh" - hujjatning yangi oynaga yuklanishini ta'minlaydi. Ushbu oynada nom bo'lmaydi va shuning uchun unga boshqa hujjat yuklash mumkin bo'lmaydi.
TARGET="_o'zim" - hujjat joriy ramkaga (yoki oynaga) yuklanadi. Ushbu yozuv teg tomonidan belgilangan standartni chetlab o'tish uchun ishlatilishi kerak .
TARGET="_top" - hujjatning to'liq oynaga yuklanishiga olib keladi. Agar hujjat allaqachon to'liq oynada bo'lsa, u holda bu qiymat bir xil ta'sirga ega"_o'zim".
TARGET="_ota-ona" - hujjatni joriy kadrning asosiy ramkasi egallagan maydonga yuklanishiga olib keladi. Agar ota-ona ramkasi bo'lmasa, bu parametr qiymati bir xil ta'sirga ega"_top" .
Eslatma
Ba'zi HTML manbalarida noto'g'ri aytilishicha, agar ramkada ota-ona bo'lmasa, "_parent" qiymati "_self" ga ekvivalentdir. Bu bayonot har doim ham to'g'ri emas.
Ogohlantirish
Zaxiralangan ramka nomlari "_blank", "_self", "_parent" va "_top" kichik lotin harflari bilan yozilishi kerak. E'tibor bering, bunday aniqlik faqat Netscape-ga xosdir. Microsoft Internet Explorer har qanday holatda yozilgan zahiradagi nomlarni to'g'ri taniydi.
Bu erda ramkalar va alohida brauzer oynalari o'rtasidagi o'zaro ta'sirga misollar keltirilgan. Quyidagi HTML kodini ko'rib chiqing:
Ramkalardan foydalanish
Ushbu HTML hujjati "A", "B" va "C" nomli uchta ramkadan iborat strukturani tavsiflaydi. Kadrlar orasidagi aloqalarni tashkil qilish uchun keyinroq ramka nomlari kerak bo'ladi. E'tibor bering, "A" deb nomlangan ramka bu misolda hech qanday havolalar bo'lmaydi, shuning uchun u umuman nomsiz qolishi mumkin edi. Yuqoridagi hujjatni brauzerga yuklaganingizda, ramkalar SRC parametri bilan aniqlangan fayllardagi ma'lumotlarni ko'rsatadi. "A" ramkasi frame_a.htm faylining mazmunini oladi, qolgan ikkita freym esa ko'rsatish uchun ma'lumotga ega bo'lmagan empty.htm faylidan ma'lumotlarni oladi. Yana bir bor eslatib o'tamizki, ramkalar tuzilishini tavsiflovchi HTML hujjatida bo'lim mavjud emas
Ushbu hujjat bo'limlarga ega to'liq HTML hujjatidir
Va va o'z navbatida, frame_a.htm fayli bilan bir xil katalogda joylashgan test.htm nomli faylga havolalar mavjud.
test.htm faylining matni juda oddiy:
Sinov hujjati
Sinov hujjat matni
Tarkibi "A" ramkasiga yuklangan frame_a.htm fayli TARGET parametri uchun turli qiymatlarga ega bir xil test.htm fayliga oltita havolaga ega.
Keling, ushbu havolalarni amalga oshirishda sodir bo'ladigan harakatlarni ko'rib chiqaylik. TARGET="B" qiymatiga ega birinchi havola test.htm faylini "in" nomli ramkaga yuklaydi. E'tibor bering, oltita havoladan birini amalga oshirgandan so'ng, Netscape brauzeri ularning oltitasini avtomatik ravishda boshqa rangga bo'yaydi, chunki ular bitta faylga ishora qiladi. Microsoft Internet Explorer faqat amalda amalga oshirilgan havolalarni belgilaydi.
Ikkinchi havola "C" ramkasi uchun xuddi shunday qiladi. Dastlab, "B" va "C" freymlarida hech narsa yo'q (aniqrog'i, empty.htm bo'sh faylining mazmuni yuklanadi). Birinchi va ikkinchi havolalarni amalga oshirish ushbu ramkalarni to'ldiradi.
TARGET=MD” qiymatiga ega uchinchi havola “D” nomli yangi brauzer oynasining shakllanishiga va unga test.htm faylini yuklanishiga olib keladi.E’tibor bering, bu havolani yozish shakli birinchisidan farq qilmaydi. ikki.Farqi shundaki, birinchi ikkita holatda nomlari freym tuzilishiga ega faylda aniqlangan mavjud kadrlarga havola qilingan va bu holda havola mavjud bo‘lmagan obyektga berilgan bo‘lsa. bu havola kamida bir marta amalga oshirilsa, keyin "D" nomli oyna yaratiladi va havolani qayta-qayta bosish faqat hozirda mavjud bo'lgan "D" oynasiga ma'lumotlarni qayta yuklaydi. Albatta, foydalanuvchi uni istalgan vaqtda yopishi mumkin. vaqtni belgilang va ushbu havolani tanlab, uni qayta yarating.5.7-rasmda dastlabki uchta havola amalga oshirilgandan keyingi holat ko'rsatilgan.Eslatib o'tamiz, ekrandagi oynalarning joylashuvi va o'lchamlari foydalanuvchi tomonidan belgilanadi.
Guruch. 5. 7
.
Chap ramkada mavjud bo'lgan dastlabki uchta havolani ketma-ket amalga oshirishdan keyin olingan vaziyat
TARGET="_top" qiymatiga ega beshinchi havola hujjatni butun ramka tuzilishi o'rniga to'liq oynada yuklaydi. TARGET parametrining ushbu qiymati bilan yangi oyna yaratilmaydi. Orqaga tugmasini bosish orqali ramka tuzilishiga qaytish mumkin.
Eslatma
Ramkalar yoki brauzer oynalarining nomlarini yuklab olingan hujjatlar nomlari bilan aralashtirib yubormaslik kerak. Ramkalarning nomlari ko'rilganda hech qanday joyda ko'rinmaydi, ular faqat o'zaro aloqani tashkil qilish uchun talab qilinadi va shuning uchun foydalanuvchidan yashiriladi. Siz ularni faqat HTML-fayllarning manba matnini ko'rganingizda ko'rishingiz mumkin.
Maslahat
Eslatib o'tamiz, yuklab olingan hujjatlarning nomlari teg bilan belgilanadi . Agar hujjat to'liq oynada yuklangan bo'lsa, uning nomi brauzer oynasining eng yuqori qismida ko'rsatiladi. Agar hujjat ramkaga yuklangan bo'lsa, unda uning nomi hech qanday joyda ko'rsatilmaydi va hujjatning ramka tuzilishi tavsifini o'z ichiga olgan hujjatning sarlavhasi hali ham oynaning yuqori qismida joylashgan bo'ladi. Shuning uchun, ramkalarda ko'rish uchun mo'ljallangan hujjatlarning nomlari juda muhim emas. Misol uchun, rasmda. 5.7 Xuddi shu hujjat "B" va "C" ramkalariga, shuningdek, "D" nomli alohida oynaga yuklanadi, hujjatning nomi esa faqat "D" oynasida ko'rinadi. Biroq, freymlarga yuklangan hujjatlarning nomlarini qoldirmaslik tavsiya etilmaydi, chunki ular, masalan, ramkada yoki ko'rilgan hujjatlar ro'yxatida joylashgan hujjat uchun xatcho'p yaratishda Xatcho'plar ro'yxatida paydo bo'lishi mumkin.
Keling, ramkalar va brauzer oynalari o'rtasidagi o'zaro aloqani tashkil qilishning yana bir qiziqarli misolini ko'rib chiqaylik. Asosiy yuklangan HTML hujjatning matni bo'lsin:
Oyna nomlaridan foydalanish
Yangi oynada ramka tuzilishiga ega hujjatА>
Ramkalardan foydalanish
E'tibor bering, agar asosiy hujjat standart HTML hujjat bo'lsa, u holda asosiy hujjatdagi havoladan yuklangan frame.htm fayli ramka tuzilishini o'z ichiga oladi va o'z navbatida empty.htm fayliga havola qiladi.
Asosiy hujjatni yuklagandan so'ng, brauzer oynasi rasmda ko'rsatilgandek ko'rinadi. 5.8 (chap oyna). Butun hujjat ikkita havoladan iborat. Keling, birinchi havolaga o'taylik. “D” nomli yangi oyna yaratiladi, unda test.htm faylining matni paydo bo'ladi (5.8-rasm, o'ng oyna). Ushbu havolani takrorlash faqat "D" oynasidagi ma'lumotlarni qayta yuklaydi.
Guruch. 5.8. O'zaro ta'sir qiluvchi ramka oynalariga misol
Keling, ikkinchi havolaga o'taylik. Nomsiz yangi oyna hosil bo'ladi, unga "C" va "D" nomli ikkita freymni belgilovchi frame.htm fayli yuklanadi (5.8-rasm, pastki oyna). Ikkala ramkada ham hech narsa yo'q (aniqrog'i, bo'sh hujjat empty.htm yuklangan). E'tibor bering, endi "D" deb nomlangan ochiq oyna va ramkali oyna mavjud bo'lib, ulardan biri ham "D" deb ataladi. Keling, yana birinchi havolaga o'taylik. Birinchi holatdan farqli o'laroq, ma'lumotlar "D" oynasiga emas, balki "D" nomli ramkaga yuklanadi. Ta'riflangan barcha harakatlarning natijasi rasmda ko'rsatilgan. 5.8.
Eslatma
Ochilgan oynalar va ularning mazmuni ko'rinishi ba'zan hatto foydalanuvchi harakatlarining tartibiga bog'liq bo'lishi mumkin. Xulq-atvorini oldindan aytish qiyin bo'lgan hujjatlar bilan ishlash, odatda, foydalanuvchi uchun asosli g'azabni keltirib chiqaradi va ishlab chiquvchilar tomonidan ma'lumotlar tuzilmasida o'ylanmaganligini ko'rsatadi.
Agar siz harakatlar tartibini o'zgartirsangiz, ya'ni birinchi navbatda ikkinchi havolani, keyin esa birinchisini bajarsangiz, "D" nomli oyna umuman paydo bo'lmaydi! Bu sodir bo'ladi, chunki ikkinchi havolani amalga oshirgandan so'ng, "D" nomli ramka yaratiladi va birinchi havola uchun yangi oyna ochishga hojat qolmaydi.
Bu misol umuman namuna emas, faqat o'zaro ta'sirni tashkil etishning mumkin bo'lgan murakkabligini ko'rsatadi. Aksincha, siz ma'lumotlarni tashkil qilishni ortiqcha murakkablashtirmaslikka harakat qilishingiz kerak, natijada foydalanuvchi harakatlarining tartibiga qarab o'zgarib turadigan vaziyatlarni yaratmaslik kerak.
Maslahat
Ramka va oyna nomlarida to'qnashuvlardan saqlaning. Xuddi shu nomdagi ramkalarga ega bo'lish rasmiy ravishda taqiqlanmagan bo'lsa-da, bu chalkashlikka olib kelishi mumkin.
Ogohlantirish
Ramka va oyna nomlari katta-kichik harflarni hisobga olgan holda taqqoslanadi. Shunday qilib, masalan, "frame_1" va "Frame_1" nomli ramkalar boshqacha bo'ladi.
Ramkalar orasidagi murakkabroq shovqinlarga misollar
Ramkalar orasidagi o'zaro ta'sirning juda oddiy tipik misollari yuqorida muhokama qilindi. Yangi oynalar yaratish, alohida ramkalar tarkibini almashtirish, shuningdek, hujjatni butun ramka tuzilishini yo'q qilish bilan to'liq oynada ko'rsatish vazifalari ko'rib chiqildi. Maxsus ramka nomlaridan, shuningdek, "_blank", "_self" va "_top" zahiralangan nomlaridan foydalanishga misollar keltirilgan. Oxirgi zahiradagi "_parent" nomidan foydalanish ancha murakkab va quyida tavsiflanadi.
Ushbu bo'limda ramkalar orasidagi o'zaro ta'sirning yanada murakkab variantlari ko'rib chiqiladi. Xususan, bir nechta qo'shni ramkalar tarkibini almashtirish amalga oshiriladi.
Ushbu bobda aytib o'tilgan freymlarning eng keng tarqalgan qo'llanilishidan biri ikkita freym bo'lib, ulardan birida havolalar ro'yxati, ikkinchisida esa hujjatlarning o'zi mavjud (5.1-rasm).
Keling, muammoni shakllantirishni kengaytirishga harakat qilaylik. Faraz qilaylik, siz bo'limlarga bo'lingan bo'limlardan iborat juda katta hujjatning mazmunini ekranda ko'rsatishni xohlaysiz. Oddiy misol - ma'lum bir mavzu bo'yicha texnik adabiyotlar. Keling, ekranda bunday hujjatning kerakli taqdimotini tasvirlab beramiz. Ekranni uchta ramkaga ajratamiz, ulardan birida kitob bo'limlari ro'yxati, ikkinchisida - tanlangan bobning bo'limlari ro'yxati, uchinchisida - tanlangan bo'lim matni bo'ladi. Ikkinchi freymdagi havolani tanlaganingizda, uchinchi kadrning mazmuni o'zgarishi kerak. Ushbu talabni amalga oshirish ahamiyatsiz. Birinchi freymdagi havolani tanlaganingizda, ikkinchi va uchinchi kadrlarning mazmuni bir vaqtning o'zida o'zgarishi kerak. Bir qarashda, ushbu vazifani HTMLda amalga oshirish mumkin emas (JavaScript yoki boshqalarda dasturlashdan foydalanmasdan), chunki havola bajarilganda ikkita yoki undan ko'p emas, faqat bitta hujjat yuklanadi. Shunga qaramay, bu muammoni hal qilish juda mumkin.
Keling, oddiy misol yordamida bunday muammoning mumkin bo'lgan echimini ko'rsatamiz. Aytaylik, siz ekranda uchta freymni ko'rsatishni va ularga ba'zi hujjatlarni yuklashni xohlaysiz. Keling, ushbu freymlarning har birida havolalar yaratish vazifasini qo'yaylik, ularni amalga oshirish, masalan, ikkita freymning mazmunini almashtirdi. Birinchi ramka deraza kengligining 50% va balandligining 100% ni egallab, derazaning chap tomoniga joylashtirsin. Oynaning o'ng yarmi ham gorizontal ravishda yarmiga bo'lingan va ikkita boshqa ramkani o'z ichiga oladi. Ushbu tuzilma quyidagi kod bilan tavsiflanadi:
Ushbu HTML kod yordamida kerakli struktura yaratiladi, ammo muammoni hal qilish mumkin emas. O'rnatilgan strukturani olib tashlash kerak
alohida faylga aylantiring va ushbu HTML kodida yaratilgan faylga ishora qiluvchi ramkani tavsiflang. Keyin dastlabki hujjat matni quyidagicha ko'rinadi:
Kadrlar orasidagi o'zaro ta'sirga misol
Ichki tuzilishga ega yaratilgan fayl
1_2.htm nomiga ega va quyidagi kodni o'z ichiga oladi:
1-2
Bir qarashda, hech narsa o'zgarmadi. Ikkala holatda ham hujjatlar mos ravishda left.htm, 1.htm va 2.htm yuklanadigan uchta ramka mavjud. Biroq, ramkalar o'zaro ta'sir qilganda, farq paydo bo'ladi. Agar birinchi holatda freymlarning hech birida ota-ramka bo'lmasa, ikkinchi holatda ikkita ramka uchun ota-ona "Two_Frames" nomli ramka bo'ladi. Shuning uchun, agar ikkita freymdan birida siz TARGET parametr qiymati "_parent" ga teng bo'lgan havolani qo'llasangiz, birinchi va ikkinchi holatlar uchun natija boshqacha bo'ladi. Birinchi holda, bunday havolani amalga oshirish hujjatni to'liq oynaga yuklaydi, mavjud ramka tuzilishini almashtiradi. Bu erda "_parent" qiymat xususiyati o'ynaydi, u ota-ona ramkasi bo'lmaganda "_top" kabi ishlaydi. Ikkinchi holda, ekranning o'ng yarmini egallagan va asosan ikkita ramkadan iborat bo'lgan "Two_Frames" nomli ramka almashtiriladi.
Ikkinchi holat rasmiy ravishda birinchisidan, shuningdek, murojaat qilish mumkin bo'lgan "Two_Frames" nomli ramka mavjudligi bilan farq qiladi. Aynan shu xususiyat bizga muammoni hal qilish imkonini beradi.
Mana, dastlab ko'rib chiqilayotgan freymlarning birinchisiga yuklangan left.htm faylining mazmuni:
Chap ramka
hujjatlar oynaning o'ng tomonida joylashgan ikkita ramkada.
E'tibor bering, 1_2.htm va 2_1.htm fayllar matni faqat 1.htm va 2.htm fayllarga havolalar tartibida farqlanadi.
Keling, chap ramkaga yuklangan hujjatning qurilishini ko'rib chiqaylik. U TARGET="Two_Frames" parametri bilan ikkita havolani o'z ichiga oladi. Ushbu havolalardan har qandayining amalga oshirilishi “Two_Frames” (bu ekranning o'ng yarmi) freymining joylashgan joyida ikkita ramka hosil qiladi, u yoki bu tartibda 1.htm va 2.htm hujjatlarni yuklaydi. Shunday qilib, 1-2-variantni tanlashda 1.htm hujjati yuqori o'ng ramkaga, 2.htm esa o'ng pastki ramkaga yuklanadi. 2-1-variantni tanlaganingizda, hujjatlar tartibi o'zgaradi. Natijada, variantlarning muqobil tanlovi ikkita ramkadagi hujjatlar o'rnini o'zgartirayotgandek taassurot qoldiradi. Biz erishmoqchi bo'lgan ta'sir aynan shu (5.9-rasm).
Ta'riflangan misol uchun 1.htm va 2.htm hujjatlarining mazmuni muhim emas. Biroq, masalan, ahamiyatsiz hujjatlar o'rniga biz bir xil harakatlarni amalga oshiradigan havolalar bilan hujjatlarni yaratamiz.
1.htm fayl matni:
Hujjat 1
Hujjat 1
Variant 1-2
Variant 2-1
2.htm fayli 1.htm dan faqat sarlavhada farqlanadi.
Ota-ramkaga ishora qiluvchi TARGET="_parent" qiymatiga ega ikkita havola mavjud. Bu havolalar ota-ramkaning aniq nomi bilan ham yozilishi mumkin, ya'ni TARGET="Ikki_Fram", lekin yashirin nomdan foydalanish odatda qulayroqdir. Misol uchun, agar siz chap freymdan (hujjat left.htm) havolalarni chiqarib tashlasangiz, asosiy ramka tuzilishini tavsiflashda ko'rsatilgan "Two_Frames" freym nomini o'tkazib yuborishingiz mumkin. Bu nomsiz ramka hosil qiladi, lekin TARGET="_parent" bilan 1.htm va 2.htm hujjatlaridagi havolalar hali ham to'g'ri ishlaydi.
Maslahat
Iloji bo'lsa, yashirin ramka nomidan foydalaning. Masalan, aniq nomlarni ko'rsatish o'rniga "ota-ona", "yuqori", "o'zini".
Guruch. 5.9. Yuklangan hujjatlarni o'zgartirish effekti bilan o'zaro ta'sir qiluvchi ramka oynalari
Ramkalar va brauzer oynalari o'rtasidagi farq
Ramkalar bilan ishlashda brauzer oynasining ramka tuzilishini tashkil qilish va bir nechta oyna yaratish o'rtasidagi tub farq haqida savol tug'iladi. Bir qarashda, siz bir nechta oyna yaratish qobiliyatiga ega bo'lishingiz mumkin, chunki derazalar va ramkalar bilan ishlash juda o'xshash. Har bir freym alohida hujjatni yuklashni talab qiladi, tarkibni mustaqil ravishda aylantirish imkoniyatiga ega va boshqa freymlar buyruqlari bilan o'zgartirilishi mumkin. Ramkalarning bu xossalari brauzer oynalarinikiga o'xshaydi. Ma'lumotlarni jadval shaklida tashkil qilish bilan bunday harakat erkinligiga erishish mumkin emas.
Biroq, ramkalar va derazalar o'rtasida sezilarli farq bor. Kadrlarni tashkil qilishda ko'rish maydonini ramkalarga bo'lish o'lchamlari va ularning joylashishini ko'rsatgan holda HTML hujjatining o'zi tomonidan amalga oshiriladi. Ko'rish paytida foydalanuvchi ramkalar hajmini o'zgartirishi mumkin, agar bu ularning tuzilishi tavsifida taqiqlangan bo'lmasa. Derazalarning joylashishi Windows tizimi bilan ishlashning umumiy qoidalari bilan belgilanadi - foydalanuvchi har qanday oynani to'liq ekranga kengaytirishi, uni piktogrammaga kamaytirishi yoki o'zboshimchalik bilan uning hajmi va joylashishini belgilashi mumkin. Windows, ramkalardan farqli o'laroq, bir-birining ustiga chiqishi mumkin. Tanlovning bu boyligi o'zining salbiy tomoniga ega - optimal ko'rish opsiyasiga erishish uchun har safar oynalarni ekranga qo'lda joylashtirishingiz va ularning hajmini o'zgartirishingiz kerak. Ramkalar bo'lsa, optimal o'lcham nisbati odatda ishlab chiquvchi tomonidan ramka tuzilishi tavsifida ko'rsatiladi va ko'pincha o'zgartirish kerak emas.
Maslahat
Ramkalar alohida oynalar bilan ishlash uchun barcha imkoniyatlarni taqdim eta olmasa ham, ularning oqilona tashkil etilishi foydalanuvchi uchun maksimal qulaylik yaratadi.
Deraza bilan ishlashning boshqa kamchiliklari ham bor. Har bir oynani yaratish juda ko'p xotirani talab qiladi. Netscape'da har bir oyna mohiyatan brauzerning boshqa nusxasi bo'lib, tugmalar va menyularning to'liq to'plami bilan to'la. Xuddi shu holat Microsoft Internet Explorer uchun xosdir.
E'tibor bering, brauzerlarda alohida oynalarni tashkil qilish boshqacha tarzda amalga oshiriladi. Hujjat bilan yangi oyna yaratish Windows tizimida alohida vazifaning paydo bo'lishiga olib keladi, buni bajarilgan vazifalar ro'yxatini ko'rishda ko'rishingiz mumkin. Shuning uchun, derazalar o'rtasida almashish turli vazifalarni almashtirish bilan bir xil tarzda amalga oshirilishi mumkin, masalan, klaviatura yorlig'ini bosish +.
Ko'pgina mashhur Windows ilovalari hujjat oynasi tushunchasiga ega. Masalan, Microsoft Word matn protsessori yoki Paint Shop Pro grafik dasturi va boshqalar. Ushbu ilovalarning har biri bir vaqtning o'zida bir nechta oynalarni ma'lumotlar bilan ishlatishga imkon beradi va qoida tariqasida, oynalar ro'yxatini taqdim etadigan va ular o'rtasida almashish imkoniyatini beruvchi Oyna menyusi mavjud. Bunday ilovalarda yangi oynani yaratish odatda mavjud faylni ochish yoki yangisini yaratishda sodir bo'ladi. Biroq, bu dasturlarda, yangi oyna yaratilganda, yangi ishlaydigan vazifa yaratilmaydi.
Netscape-da, shuningdek, mavjud oynalar ro'yxatini ko'rsatadigan Oyna menyusi mavjud. (Netscape 4.x versiyalarida bu xususiyat Communicator menyusidagi Window bandi tomonidan taqdim etiladi.) Keling, rasmga qaytaylik. 5.8. Ushbu misolda bir vaqtning o'zida uchta oyna ochiq, ularning har biri asosan alohida brauzerdir. Biroq, foydalanuvchi uchun ularning barchasi bir xil brauzer oynalari bo'lib, ular bir-biri bilan o'zaro aloqada bo'lishi mumkin. Ushbu oynalarning har qandayida siz Oyna menyusini ochishingiz va uchta oyna ro'yxatini ko'rishingiz mumkin. Shaklda. 5.10-rasmda pastki oyna uchun bajarilgan vaziyat ko'rsatilgan.
Guruch. 5.10. Netscape brauzerida Windows ramkasini ochish
Har bir oynani alohida yopish mumkin (Fayl menyusidagi Yopish buyrug'i yordamida). Brauzer bilan ishlashni istalgan oynada tugatish uchun Fayl menyusini ochib, Chiqish-ni tanlashingiz mumkin (5.11-rasm).
Agar bir nechta oyna ochiq bo'lsa, ularning hammasi yopiladi, lekin bundan oldin ogohlantirish xabari paydo bo'ladi (5.12-rasm).
Har bir brauzer oynasi o'z sozlamalariga ega bo'lishi mumkin (barchasi bo'lmasa ham). Anjirga qarang. 5.11. Ikkita oyna ochiq, ulardan biri uchta ramkaga bo'lingan. Xuddi shu hujjat uchta ramkaning ikkitasida, shuningdek, alohida oynada yuklanadi. Har bir oynaning parametrlarini mustaqil ravishda sozlash qobiliyati bir xil hujjatni boshqacha ko'rsatishga imkon beradi. Yuqoridagi misolda bitta oynadagi hujjatning shrift o'lchami ikkinchisiga qaraganda kattaroqdir. Bu effekt har bir oyna uchun turli xil kodlashlarni o'rnatish orqali erishiladi (Options menyusining Hujjatni kodlash bandi yoki 4.x versiyasi uchun Ko'rish menyusining Belgilar to'plami), ikkala kodlash bir xil shriftdan foydalangan holda, lekin har xil o'lchamlarda. Umumiy sozlamalar menyusidagi istalgan elementni o'zgartirish barcha oynalarga ta'sir qiladi.
Guruch. 5.11. Netscape brauzeridan chiqish
Guruch. 5.12. Netscape brauzerida oynalarni yopish haqida ogohlantirish
Qo'shimcha brauzer xususiyatlari
Tegishli parametrlarga ega yuqoridagi barcha ramka tavsif teglari Netscape va Microsoft Internet Explorer brauzerlarida deyarli bir xil tarzda amalga oshiriladi, ammo bu brauzerlarning har biri qo'shimcha ravishda o'ziga xos teglar yoki parametrlardan foydalanishga imkon beradi.
Netscape brauzerining xususiyatlari
Netscape brauzeri, 3.0 versiyasidan boshlab, uchta qo'shimcha variantni beradi: BORDER, FRAMEBORDER va BORDERCOLOR. BORDER parametri faqat teg uchun amal qiladi
. BORDER parametrining qiymati kadrlar orasidagi chegaralarning piksellardagi qalinligini aniqlaydi.
FRAMEBORDER parametri tegda ham ishlatilishi mumkin
, va tegda va ramkalar orasidagi ramka mavjudligini aniqlaydi. Ushbu parametr Ha yoki YO'Q bo'lishi mumkin. Agar parametr tegda yozilgan bo'lsa , keyin uning ta'siri ushbu guruhdagi barcha ramkalar uchun amal qiladi. Alohida ramka uchun qiymatni bekor qilish mumkin. Standart qiymat Ha.
E'tibor bering, BORDER va FRAMEBORDER parametrlari bir-biridan mustaqil ishlaydi. Misol uchun, agar FRAMEBORDER NO ga o'rnatilgan bo'lsa va BORDER noldan boshqa qiymatga o'rnatilgan bo'lsa, u holda freymlar orasidagi chegara chizilmaydi, lekin BORDER parametr qiymati bilan belgilangan bo'sh joy baribir unga ajratiladi.
BORDERCOLOR parametridan tegdagi kabi foydalanish mumkin
, va tegda va chegara rangini belgilaydi, uni rang nomi yoki uning o'n oltilik ko'rinishi bilan belgilash mumkin.
Mana bir misol:
Ushbu HTML kodning birinchi qatori uchta freymni bildiradi, ular orasida 10 pikselli qalin ramka uchun bo'sh joy mavjud (5.13-rasm).
Guruch. 5.13. Netscape brauzerida ramkalar orasidagi chegaralarni chizish
"A" va "B" ramka oynalari o'rtasida FRAMEBORDER parametrining NO qiymati tufayli hech qanday ramka chizilmaydi, ammo qizil rang ramka uchun aniqlanadi. Oxirgi "c" ramkasi uchun FRAMEBORDER qiymati Ha ga o'rnatiladi va birinchi qatorda o'rnatilgan qiymatni bekor qiladi. Shuning uchun, "B" va "C" deb nomlangan ramkalar o'rtasida qalinligi 10 piksel bo'lgan qizil ramka hali ham chiziladi.
Eslatma
Agar ramkalar orasidagi chegaralar chizilmagan bo'lsa, Netscape brauzeri NORESIZE parametri bo'lmasa ham, sichqoncha bilan sudrab o'lchamini o'zgartirishga ruxsat bermaydi. Microsoft Internet Explorer uchun vaziyat boshqacha.
E'tibor bering, chegarasiz ramkalar juda kam qo'llanilmaydi. Shuni esda tutish kerakki, freymlarning yo'qligi aylantiruvchi chiziqlar paydo bo'lishiga to'sqinlik qilmaydi (5.14-rasm).
Microsoft Internet Explorer brauzerining xususiyatlari
Microsoft Internet Explorer brauzeri FRAMEBORDER parametridan yuqorida tavsiflangan maqsadlarda foydalanish imkonini beradi, lekin ramkalarning rangi va qalinligini belgilashga imkon bermaydi. Biroq, ramka chizishni bekor qilish uchun FRAMEBORDER parametri uchun qiymat sifatida faqat "O" raqamli qiymati yoki ramka chizish uchun nolga teng bo'lmagan raqamli qiymatdan foydalanish mumkin.
Turli xil brauzerlar uchun FRAMEBORDER parametrining qiymatlarini o'rnatish qoidalaridagi farq juda yoqimsiz. Masalan, FRAMEBORDER=Ha o'rnatishga harakat qilib ko'ring. Ushbu yozuv Netscape uchun to'g'ri, ammo Microsoft Internet Explorer uchun bu ramkaning yo'qligiga olib keladi. Microsoft Internet Explorer-da ko'rilgan oldingi misol (5.13-rasm) ramkasiz taqdim etiladi.
Maslahat
FRAMEBORDER parametrining qiymatini har doim raqamli shaklda yozish tavsiya etiladi, masalan, FRAMEBORDER=0. Bu Microsoft Internet Explorer uchun parametr yozish qoidalariga amal qiladi, lekin Netscape qoidalarini buzadi (garchi u ikkinchisi tomonidan to'g'ri qabul qilingan bo'lsa ham).
Eslatma
Agar ramkalar orasidagi ramkalar chizilmagan bo'lsa, Microsoft Internet Explorer brauzeri (Netscape-dan farqli o'laroq), NORESIZE parametri bo'lmasa, sichqoncha bilan freymlarni sudrab, ramkalarning o'lchamlarini "tegish" imkonini beradi. Sichqoncha ko'rsatgichining shaklini o'zgartirib, ramka bo'lishi kerak bo'lgan joyni topishingiz mumkin.
Microsoft Internet Explorer brauzeri tegda yozilgan qo'shimcha FRAMESPACING parametridan foydalanishga imkon beradi
, uning qiymati bo'sh qoldirilishi kerak bo'lgan freymlar orasidagi piksellar sonini aniqlaydi.
Keling, misol keltiraylik, uning natijasi rasmda ko'rsatilgan. 5.15.
Kadrlar orasidagi masofani o'zgartirish
Guruch. 5.15. Microsoft Internet Explorer-da ramkalar orasidagi bo'sh joy
Eslatma
Afsuski, HTML tilining koʻpgina tavsiflari tegda FRAMESPACING parametridan foydalanilishi lozimligini notoʻgʻri koʻrsatadi. . Microsoft Internet Explorer bu parametrdan faqat tegda foydalanishga ruxsat beradi .
Suzuvchi ramkalar
Microsoft Internet Explorer brauzeri noyob tegdan foydalanishga imkon beradi
Bundan tashqari, hujjatdagi suzuvchi ramkaning joylashuvi va hajmini o'rnatish uchun quyidagi qo'shimcha parametrlardan foydalanish mumkin: WIDTH, HEIGHT, HSPACE, VSPACE, ALIGN. Ularning maqsadi va foydalanish tartibi teg bilan ko'rsatilgan o'rnatilgan tasvirlar uchun mos keladigan parametrlarga to'g'ri keladi. .
Bu erda suzuvchi ramkalardan foydalanishga misol:
Suzuvchi ramkalardan foydalanish
Suzuvchi ramkalar kontseptsiyasidan foydalanishga misol
СЕМТЕК>
Brauzeringiz suzuvchi ramkalarni ko'rsatishga ruxsat bermaydi
Microsoft Internet Explorer "suzuvchi" deb ataladigan ramkalarni qo'llab-quvvatlaydigan birinchi brauzer (va hozircha yagona).
Bu ramkalar grafik va jadvallar kabi ekranning istalgan joyiga joylashtirilishi mumkin.
Ushbu matnning o'ng tomonidagi ramka maxsus teg yordamida sahifaga joylashtiriladi . Ramka yaratishda o'ngga tekislash belgilandi.
Ushbu misolni Microsoft Internet Explorer brauzerida ko'rsatish natijasi rasmda ko'rsatilgan. 5.16. Suzuvchi ramkalar kontseptsiyasini qo'llab-quvvatlamaydigan brauzerlar, bu misol uchun, float.htm hujjatining mazmunini ko'rsatish o'rniga, "Brauzeringiz suzuvchi freymlarni ko'rsatishga ruxsat bermaydi" matnini ko'rsatadi.
Guruch. 5.16. Microsoft Internet Explorer-da suzuvchi ramka
E'tibor bering, suzuvchi ramkalar tushunchasi mafkurada o'rnatilgan tasvirlar yoki jadvallarga o'xshaydi. Bu yerda yana bir HTML hujjati HTML hujjatining kerakli joyiga to‘liq joylashtirilgan.
Maslahat
Hozirgi vaqtda suzuvchi ramkalardan foydalanish faqat bitta brauzer bilan cheklangan - Microsoft Internet Explorer 3.0 va undan yuqori versiyalari. Shuni yodda tutingki, boshqa brauzerlar (ayniqsa Netscape) foydalanuvchilari iframes tarkibini ko'ra olmaydilar.
Ramkalarni o'z ichiga olgan hujjatlarni yaratish vositalari
Ramkalarni o'z ichiga olgan HTML hujjati, boshqa har qanday hujjat kabi, istalgan mavjud matn muharriri yordamida qo'lda yaratilishi yoki tahrirlanishi mumkin. Ko'pgina ixtisoslashgan HTML muharrirlarida vizual ramka yaratish qobiliyati yo'q yoki juda cheklangan imkoniyatlarga ega. Ramkalarni yaratishga qaratilgan bir nechta maxsus muharrirlar mavjud. Keling, ulardan ba'zilarining imkoniyatlarini qisqacha tasvirlab beraylik.
FrameGang ramka muharriri
Shunday muharrirlardan biri Avstraliyaning Sausage Software kompaniyasi tomonidan ishlab chiqilgan FrameGang yordam dasturi bo'lib, u o'zining mashhur HTML muharriri HotDog bilan ko'proq tanilgan.
Ushbu dasturiy mahsulot haqida ma'lumotni quyidagi manzildan olishingiz mumkin http://www.sausage.com, shuningdek, Internet uchun dasturiy mahsulotlar to'plamidan (at http://www.tucows.com yoki butun dunyo bo'ylab tarqalgan bir necha o'nlab ko'zgu serverlaridan boshqa har qanday).
FrameGang yordam dasturi Windows muhitida ishlaydigan har qanday HTML muharriri yoki oddiy matn muharririga qo'shimcha bo'lib, kerakli ramka strukturasini vizual tarzda loyihalash va keyin tegishli HTML kodini yaratish imkonini beradi. Olingan HTML kodni Windows almashish buferi (Clipboard) orqali HTML muharririga o'tkazish mumkin. FrameGang dasturi sizga kerakli ramka tuzilishini tezda qurish imkonini beradi.
Keling, dasturning imkoniyatlarini ko'rib chiqaylik. Ushbu dasturni Windows-ga o'rnatganingizdan va uni ishga tushirgandan so'ng, sizdan birinchi (yuqori) darajadagi ikkita mumkin bo'lgan ramka tuzilmalaridan birini tanlashingiz so'raladi - ramkalarning ustunli joylashuvi (Ustunlar) yoki qatorlar (Qatorlar), shuningdek ularning sonini aniqlash. Kelajakda birinchi darajali ramkalarning har biri, agar kerak bo'lsa, ikkinchi darajali bir nechta ramkalarga bo'linishi mumkin. Ko'proq miqdordagi ramka darajalari ta'minlanmagan, ammo bu muhim cheklov emas, chunki amalda ikkitadan ortiq darajadan kamdan-kam qo'llaniladi.
Misol tariqasida, ustunlarga joylashtirilgan to'rtta ramkani tanlaylik. Keyinchalik, mavjud ramkalarni teskari yo'nalishda bo'lish orqali amalga oshiriladigan ikkinchi darajali ramkalar tuzilishini yaratishingiz kerak. Ushbu misol uchun ramkalar faqat gorizontal ravishda bo'linishi mumkin. Ikkinchi darajali kadrlarni yaratish Qo'shish menyusi bandida amalga oshiriladi, uni amalga oshirish keyingi kadrni joriyga qo'shadi.
E'tibor bering, ramkalardagi kulgili rasmlar hech qanday ma'noga ega emas va faqat bo'sh joyni to'ldirish uchun xizmat qiladi. Ularning chizilgan rasmini Variantlar menyusida bekor qilish mumkin. Shuni ham ta'kidlaymizki, ishlab chiqaruvchining nomi (kolbasa - kolbasa) va uning ba'zi dasturiy mahsulotlarining nomi (HotDog - tarjimaga muhtoj emas) ushbu paketning interfeys uslubini aniqladi - ko'plab menyu elementlarida kolbasa tasviri mavjud. .
Ramkalarning tuzilishini aniqlagandan so'ng, ularning o'lchamlarini belgilashingiz kerak. Bu Windows oynalarining o'lchamlarini o'zgartirishga o'xshash sichqoncha bilan ramkalar chegaralarini shunchaki siljitish orqali amalga oshiriladi. Joriy ramka uchun o'rnatilgan o'lchamlar kenglik va balandlik deb nomlangan oynalarda foiz sifatida ko'rsatiladi. Agar siz ramka o'lchamlarini foizlarda emas, balki piksel yoki nisbiy birliklarda belgilashingiz kerak bo'lsa, natijada olingan HTML kodini FrameGang dasturidan tashqari qo'lda o'zgartirishingiz kerak.
Keyinchalik, har bir freym uchun uning nomini (ismini) o'rnatishingiz kerak, uni o'tkazib yuborishingiz mumkin, dastlab ushbu freymga yuklangan hujjatning URL manzili (Frame URL), shuningdek o'lchamini o'zgartirish mumkin bo'lgan ramka chegarasi parametrining qiymatini va aylantirish parametrini tanlang. ramka mazmuni uchun (Frame Scrolling).
Istalgan vaqtda siz FrameGang dasturidan chiqmasdan tanlangan tashqi brauzerda yaratilayotgan ramka tuzilishini ko'rishingiz mumkin. Buning uchun oldindan ko'rish tugmasi ishlatiladi. Brauzer nomini o'rnatish Variantlar menyusida amalga oshiriladi. Barcha parametrlarni o'rnatganingizdan so'ng, tanlangan ramka tuzilishiga mos keladigan HTML kodini yaratishingiz kerak, u Windows almashish buferiga yoziladi (HTML Compile tugmasi). Olingan kodni istalgan tahrirlovchida ishlaganda almashish buferidan HTML faylning kerakli joyiga joylashtirish mumkin.
Faylni saqlash va ochish tugmalari faylni faqat FrameGang dasturiga xos bo‘lgan va boshqa foydalanish uchun mo‘ljallanmagan maxsus kodlashda saqlash va o‘qish imkonini beradi.
Quyida tasvirlangan misol uchun FrameGang tomonidan yaratilgan HTML kodi keltirilgan:
To'g'ri HTML hujjatini olish uchun olingan kodni teglar orasiga qo'yish kifoya Va. Hujjat sarlavhasi bo'limini qo'shishingiz mumkin
, unda kerakli ma'lumotlarni aniqlash uchun, masalan, hujjatning sarlavhasi (esda tutingki, hujjat sarlavhasi teglar orasiga yoziladi. Va). E'tibor bering, zamonaviy brauzerlar ba'zi kerakli teglar bo'lmasa ham to'g'ri ishlashi mumkin. Agar yuqoridagi HTML kod hech qanday teg qo'shmasdan ham tegishli kengaytmali fayl sifatida saqlangan bo'lsa, Netscape Navigator ham, Microsoft Internet Explorer ham hujjatni to'g'ri ko'rsatishi mumkin bo'ladi.
FrameGang dasturi sizga ramkalarni vizual tarzda loyihalash imkonini beradi, juda qulay va ishlatish uchun qulay, ammo ba'zi kamchiliklardan xoli emas. Xususan, Width va Height oynalarida kerakli raqamlarni yozish orqali freymlarning o'lchamlarini belgilashning iloji yo'q, chunki ular faqat sichqoncha bilan ramka chegaralarini siljitishda o'rnatilgan o'lchamlarni aks ettiradi. Umumiy qabul qilingan ramka parametrlari MARGINWIDTH va MARGINHEIGHT o'rnatilmagan. Faylni matn formatida diskka yozishning imkoni yo'q, bu esa ushbu dasturni oflayn rejimda ishlatishni imkonsiz qiladi.
Frame-It ramka muharriri
Yana bir ixtisoslashtirilgan ramka muharriri - bu Frame-It bo'lib, u haqida ma'lumotni quyidagi manzilda topishingiz mumkin:
http://www.iinet.net.au/~bwh/frame-it.html
Ushbu dastur bilan ishlash ko'p jihatdan oldingisiga o'xshaydi. Avval siz ramkalarning asosiy tuzilishini va ularning sonini aniqlashingiz kerak. Keyinchalik, har bir ramka, agar kerak bo'lsa, ikkinchi darajali tuzilmalarni tashkil etuvchi bir nechta bo'linadi. Oldingi dastur singari, ramkalarni joylashtirish darajalari soni ikkita bilan cheklangan.
Har bir ramka uchun barcha kerakli parametrlar tegishli maydonlarni to'ldirish orqali o'rnatiladi. Oldingi dasturdan farqli o'laroq, MARGINWIDTH va MARGINHEIGHT parametrlarining qiymatlarini o'rnatish mumkin. Bundan tashqari, Invisible Frame Borders bayrog'i joriy qilingan bo'lib, u o'rnatilganda quyidagi kod fragmentini yaratadi:
FRAMEBORDER="NO" BORDER="0" FRAMESPACING="0".
Kerakli ramka parametrlarini o'rnatganingizdan so'ng, siz yaratilgan HTML kodni faylga saqlashingiz yoki uni Windows buferiga yozishingiz mumkin. Yaratilgan kod nafaqat ramka tuzilishi tavsifini, balki boshlang'ich tegni ham o'z ichiga oladi , shuningdek, bir nechta teglar Va, ular orasida ma'lumotlar yoziladi, ramkalar ko'rsatilmaydigan brauzerlar uchun mo'ljallangan.
Muayyan misol uchun quyidagi kod yaratiladi:
FRAMESACING="0">
ramka tuzilishi bilan
Agar ushbu misolda siz Ko'rinmas ramka chegaralari katagini olib tashlasangiz, yaratilgan kod sezilarli darajada o'zgaradi:
aylantirish=avtomatik o'lcham>
aylantirish=avtomatik o'lcham>
aylantirish=avtomatik o'lcham>
aylantirish=avtomatik o'lcham>
aylantirish=avtomatik o'lcham>
Brauzeringiz hujjatlarni ko'rsata olmaydi
ramka tuzilishi bilan
WWW da freymlardan foydalanish haqida ma'lumot
Ramkalar haqida ma'lumot olish uchun WWW dagi quyidagi manzillarga murojaat qilishingiz mumkin:
HTML sahifaga sahifani qanday kiritish kerak? Buning uchun siz foydalanishingiz kerak , bu joriy hujjatda boshqa HTML hujjatni ko'rsatadigan inline ramka hosil qiladi.
Displey
Displey bloki.
Misol kod
Kuchli, ammo foydalanish oson
Qadimgi yomon kunlarda veb-dizayn juda ko'p edi har bir ishlab chiquvchining hayotini buzadigan elementlar. Ular deyarli har doim yomon dizayn yondashuvi edi. Yaxshiyamki, element HTML5 da eskirgan. Lekin yoki " inline ramka» hali ham mavjud. Keyingi versiyada u bekor qilinadimi? Balki bundan qochishimiz kerakdir? HTML sahifasini yaratishda ushbu elementdan bir nechta to'g'ri foydalanish mumkin. Lekin xatolarga yo'l qo'ymaslik uchun nima ekanligini va qanday ishlashini tushunishingiz kerak.
O'xshashlik va farqlar Va
Ushbu elementlarning ikkalasi ham alohida HTML hujjatini yaratishga imkon beradi. Joriy veb-sahifa tomonidan havola qilingan hujjat mazmuniga havola src atributida ko'rsatilgan.
. . . . . .
O'rtasidagi asosiy farq Va narsa HTML hujjatining ustuvorligi haqidagi qoidaga rioya qilishni ta'minlaydi. Tarkib joriy hujjatning bir qismi bo'lgan element ichida paydo bo'ladi. Misol sifatida, YouTube'dan olingan ushbu o'rnatilgan videoni ko'rib chiqing:
Video aniq HTML sahifasida va alohida panelda emas. element ushbu paradigmani buzdi va hujjatga brauzer oynasi ustidan nazoratni amalga oshirishga imkon berdi, uni bir nechta kichik panellarga (ramkalarga) ajratdi, ularning har biri alohida hujjatni aks ettiradi. O'rtasidagi boshqa barcha farqlar va bu asosiy farqdan kelib chiqadi.
Iframe-lar yordamida ramkaga asoslangan tartiblarni o'zgartirmang
Bir kun kelib siz ramkalar yordamida qurilgan eski veb-saytni yangilash vazifasiga duch kelishingiz mumkin. Foydalanishni xohlashingiz mumkin va mustaqil panellar va yonbag'irlarning bir xil dahshatli tushini qayta yaratish uchun belgilangan tartib kengligi. Lekin siz alohida ramkada havolani ochish uchun maqsad atributidan foydalana olmaysiz. Siz JavaScript yechimlarini qidirishni boshlashingiz mumkin. Iltimos, qilmang.
Yaxshi (va dahshatli) foydalanish
Bir nechta to'g'ri foydalanish holatlari mavjud HTML sahifa yaratish uchun:
uchinchi tomon media kontentini joylashtirish;
o'z media kontentingizni platformalararo hujjat orqali joylashtirish;
joylashtirish kodlari misollari;
uchinchi tomon "appletlarini" to'lov shakllari sifatida joylashtirish.
Bu erda ba'zi dahshatli foydalanish holatlari mavjud: :
Fotogalereya;
forum yoki chat.
Agar siz mustaqil, oldindan mavjud bo'lgan HTML hujjatlarini joriy hujjatga joylashtirishingiz kerak bo'lsa, foydalaning . Agar siz hamma narsani noldan qurayotgan bo'lsangiz, sahifa dizaynini bir nechta alohida hujjatlarga bo'lish uchun hech qanday sabab yo'q. Ayniqsa, agar ular mustaqil tarkib bo'lmasa.
iframe atributlari
Atribut nomi
Ma'nosi
Tavsif
qum qutisi
Ruxsat - bir xil kelib chiqishi Yuqori navigatsiyaga ruxsat berish Ruxsat berish shakllari Skriptlarga ruxsat berish
Kadrga yuklangan tarkibga bir qator cheklovlar o'rnatadi. Oldin sozlang HTML sahifani qanday yaratish kerak.
aylantirish
ha avtomatik yo'q
Kadrda varaqlarni ko'rsatish yoki ko'rsatmaslikni aniqlaydi. HTML5 da eskirgan. Buning o'rniga CSS dan foydalaning.
Ism
Ism
Ramka nomini belgilaydi.
Tegishlash
chap o'ng yuqori o'rta pastki
Atrofdagi elementlarga nisbatan ramkaning tekislanishini aniqlaydi. Eskirgan. Buning o'rniga CSS dan foydalaning.
ramka chegarasi
ha (yoki 1) yo'q
Ramka atrofidagi chegarani ko'rsatishni yoqish uchun foydalaniladi. HTML5 da eskirgan. Buning o'rniga CSS dan foydalaning.
longdesc
URL
Ramka mazmunining uzun tavsifini o'z ichiga olgan sahifaning URL manzilini belgilash uchun foydalaniladi. Eskirgan. Buning o'rniga CSS dan foydalaning.
chegara kengligi
piksellar
Tarkibdan ramka chegarasigacha bo'lgan plomba kengligini boshqarish uchun ishlatiladi. Eskirgan. Buning o'rniga CSS dan foydalaning.
src
URL
IFRAME da ko'rsatiladigan hujjat URL manzilini belgilaydi.
vspace
piksellar
Kadrdan atrofdagi tarkibga vertikal chegaralarni o'rnatadi. Eskirgan. Buning o'rniga CSS dan foydalaning.
kengligi
piksel %
HTML sahifadagi ramka kengligini belgilaydi.
Ushbu nashr "maqolaning tarjimasi" ", do'stona loyiha jamoasi tomonidan tayyorlangan
Salom, aziz blog o'quvchilari. Bugun biz HTML tilidagi ramkalar haqida gaplashamiz. Biz boshidan boshlashimiz aniq, ya'ni bu qanday hayvon. Shuningdek, biz ushbu elementlarning hozirgi (Frame) va kelajagi (Iframe) haqida gipermatn belgilash tilining joriy versiyasida va yangi Html 5 standartida gaplashamiz.
Maqolaning oxirida, Html kodida o'rnatilgan ramkalar va ularning klassik tuzilishini yaratish jarayonining batafsil tavsifidan so'ng (allaqachon kamdan-kam qo'llaniladi), biz ularda sayt yaratishning dolzarbligiga to'xtalamiz, shuningdek, mumkin bo'lgan narsalarni muhokama qilamiz. Mening blogim misolidan foydalanib, ularni hozirgi davrda ishlatish usullari.
Bu nima va Iframe ramkadan qanday farq qiladi?
Bu nima? Ma'lum bo'lishicha, ular nafaqat veb-saytlarda, balki dasturlarning har qanday ilovalarida ham qo'llanilishi mumkin, ammo ular veb-sahifa yoki dastur oynasi bir nechta sohalarga bo'linishi bilan farq qiladi, ularning har biriga alohida hujjat yuklanadi. . Bundan tashqari, ushbu ramka joylari bir-biridan mustaqil ravishda harakat qiladi.
Ehtimol, deyarli barchangiz duch kelgan ulardan foydalanishning eng aniq misoli - bu sizning kompyuteringizda o'rnatilgan ko'plab dasturlarda mavjud bo'lgan yordam fayllari.
Yordam menyusi bo'lgan fayl chap oynaga yuklanadi va o'ng oynada tanlangan menyu bandiga mos keladigan hujjat ko'rsatiladi. Shunisi e'tiborga loyiqki, ushbu tuzilma o'ngdagi yangi hujjatni ochishda menyu bilan faylni chap oynaga qayta yuklashdan qochish imkonini beradi. Aynan shu narsadan iborat ramkalardan foydalanishning asosiy afzalligi HTMLda.
Aslida, ushbu elementlarning nomi mustaqil oyna sifatida talqin qilinishi kerak. Ramkalar yordamida biz bitta katta oynani bir nechta bo'laklarga bo'lish imkoniyatiga egamiz, bu esa o'z navbatida bir-biridan mustaqil bo'lgan alohida hujjatlar (sahifalar, matnlar, tasvirlar, videolar va boshqalar) uchun qabul qiluvchi bo'lib xizmat qilishi mumkin.
Gipermatnni belgilash tilida ramka tuzilishi qanday yaratilgan? Agar hozirgi vaqtda asosiy bo'lgan Html 4.01 standarti (klassifikatsiya bo'yicha) haqida gapiradigan bo'lsak, buning uchun uchta element ishlatiladi - Frame, Frameset va Noframes.
Iframe - Html 5 standartida o'rnatilgan ramka
Agar biz Html 5 standarti haqida gapiradigan bo'lsak (bizning kelajagimiz, uning ba'zi elementlari ko'plab brauzerlar tomonidan qo'llab-quvvatlanadi), unda Frame, Frameset va Noframes teglari, shuningdek klassik ramka tuzilishi bo'lmaydi; buning o'rniga bitta bo'ladi. bitta Iframe yorlig'i (ko'milgan ramka) , bu haqda biz boshida gaplashamiz, keyin esa hozirda amalda bo'lgan 4.01 versiyasidan klassik sxemaga e'tibor qaratamiz.
Iframe, quyida muhokama qilingan klassikalardan farqli o'laroq, Body tegini Frameset teglari bilan almashtirishni talab qilmaydi. Bular. bu teg oddiy sahifalarga, masalan, xatboshi ichiga yoki boshqa har qanday joyga kiritilishi mumkin. Asosiysi, bu element biz allaqachon ko'rib chiqqan Img tegiga juda o'xshaydi.
Bu o'zgartirilishi mumkin bo'lgan tarkibga ega bo'lgan inline element, chunki u xuddi ichki element kabi ishlaydi, lekin u ko'rsatadi begona tashqi tarkib. HTML tilida faqat to'rtta shunday element mavjud - Img, Iframe, Ob'ekt va Embed. Shuning uchun, bizning qahramonimiz hajmi ushbu tegning atributlari yordamida o'rnatiladigan maydonga yuklanadigan tashqi fayl mavjudligini nazarda tutadi.
Bu. Iframe tashqi ob'ekt (masalan, video) yuklanadigan cho'milish elementidir. Va sahifaga yuklanishi kerak bo'lgan ushbu faylga yo'lni ko'rsatish uchun maxsus Src atributidan foydalaning. Lekin Img dan farqli o'laroq, Iframe elementi juftlangan, ya'ni. yopilish belgisi ham mavjud:
Ushbu misol Iframe yordamida Youtube video sahifasida chiqishni ko'rsatadi. Tashqi fayl yuklanadigan ramka (oyna) maydonini cheklash uchun atributlar taqdim etiladi. Kenglik va balandlik, ularning qiymatlari piksellarda ko'rsatilgan:
Bular. bu teg ba'zi tashqi ob'ektlar yuklanadigan maydonni yaratadi (u sizning saytingizdanmi yoki boshqa manbadanmi muhim emas). Hududning kengligi va balandligi Width va Height yordamida belgilanadi va Src atributi ushbu ob'ektga yo'lni belgilaydi.
Iframe elementi ushbu atributlarning barchasini almashtirilgan tarkibga ega o'xshash ichki teglardan meros qilib oldi (masalan, yuqorida aytib o'tilgan Img). Xo'sh, u rasmlardan atributlarni ham oldi Hspace va Vspace, bu sizga ramka chegaralaridan uning atrofidagi matnga chekinishlarni o'rnatish imkonini beradi.
O'rnatilgan ramkani tekislash Html-da tasvirlarni o'rganayotganda ko'rganimizdek amalga oshirilishi ham muhimdir. Hammasi bir xil Tegishlash, lekin mumkin bo'lgan qiymatlarga ega Iframe yorlig'i uchun Pastki, Yuqori, O'rta, Chap va O'ng.
Ammo bu element, shuningdek, klassik ramka tuzilishidan Frame tegidan bir nechta atributlarni oldi, biz quyida matnda batafsil gaplashamiz. Ushbu atributlar nomini o'z ichiga oladi, uning qiymati qiymat sifatida ishlatilishi mumkin, shunda havolani bosganingizda kerakli hujjat ushbu ramka oynasida ochiladi (quyida batafsilroq o'qing).
Shuningdek, Iframe-da Frameborder atributi faqat ikkita qiymatga ega bo'lgan Frame tegidan ko'chirildi - 0 (ramka atrofidagi ramka ko'rsatilmaydi) yoki 1 (ramka ko'rinadi). Standart qiymat Frameborder=1, shuning uchun uni olib tashlash uchun siz Frameborder="0" ni kiritishingiz kerak bo'ladi:
Scrolling atributi ham Frame dan ushbu elementga o‘tkazildi, uning standart qiymati Avtomatik - kontent uni ko‘rsatish uchun mo‘ljallangan oynaning o‘lchamidan kattaroq bo‘lganda freymdagi aylantirish satrlari kerak bo‘lganda paydo bo‘ladi.
Xo'sh, Marginwidth va Marginheight atributlari ham Frame elementidan ko'chirildi. Ular matnda quyida batafsil ko'rib chiqiladi, ammo qisqacha - ular ramkaning chetidan undagi tarkibga qadar kenglik va balandlikdagi chekinishni o'rnatishga imkon beradi.
Yuqorida aytib o'tganimdek, Iframe-dan foydalanishning aniq misoli:
Iframe-ni to'g'ridan-to'g'ri veb-sahifaga kiritish orqali siz YouTube-dan videoning chiqishini olasiz. Biz ushbu element almashtirilgan tarkibga ega bo'lgan ichki elementlar va aslida klassik ramkalar o'rtasidagi xoch degan xulosaga keldik, biz hozir muhokama qilamiz.
Frame va Frameset teglari asosidagi ramkalar - ularning tuzilishi
Shunday qilib, klassik ramka tuzilishini yaratish, odatda har qanday hujjatda bo'lishi kerak bo'lgan ochilish va yopish Tana tegi o'rniga Html kodida yozgan narsangizdan boshlanadi va uni elementga asoslangan konteyner bilan almashtiradi. Frameset.
Asosiy nuqta shundaki, bu holda Tana elementidan foydalanib bo'lmaydi - Body (oddiy hujjat uchun) yoki Frameset (hujjat ramka tuzilishini yaratishda):
Asosiy ichida biz yaratadigan har bir ramka alohida element yordamida yaratilgan Ramka. Bu teg bitta va unda biz ushbu oynaga yuklanadigan hujjatga yo'lni o'rnatamiz.
Biz hali to'xtalmagan uchinchi element Nofreymlar. U bog'langan va ichiga matn yozish imkonini beradi, u brauzer tomonidan qayta ishlanadi va veb-sahifada ko'rsatiladi, agar xuddi shu brauzer (yoki boshqa displey qurilmasi) ramkalarni qo'llab-quvvatlamasa. Bu, masalan, mobil qurilmalar uchun brauzerdan foydalansangiz sodir bo'lishi mumkin.
Odatda Noframes-da ular nafaqat ramka tuzilishini qayta ishlashning mumkin emasligi bilan bog'liq mavjud vaziyat haqida ma'lumotni qo'shibgina qolmay, balki ularni ishlatmasdan ishlashni davom ettirishingiz mumkin bo'lgan boshqa sahifalarga o'tish imkoniyatini ham qo'shadilar. U haqida boshqa biror narsa deyish qiyin, keling, davom etaylik.
Ma’lum bo‘lishicha, Body tegi o‘rniga ishlatiladigan Frameset elementi ko‘rish maydoni uchun ajratilgan barcha joyni egallaydi va bu maydon ichida alohida Frame elementlari yordamida freymlar yaratiladi. Shu munosabat bilan savol tug'iladi - ko'rish maydonini alohida oynalar o'rtasida qanday ajratish yoki boshqacha qilib aytganda, ularning har birining o'lchamini qanday belgilash kerak.
Bu Frameset elementiga tegishli atributlarni qo'shish orqali amalga oshiriladi. Ulardan ikkitasi bor - Collar va qatorlar. Cols katta oynaning vertikal ramkalar yoki ustunlarga bo'linishini o'rnatadi, Rows esa uni gorizontal oyna yoki qatorlarga bo'lish imkonini beradi.
Frameset va uning Cols va Rows atributlari asosida tuzilma yaratish
Html Frameset tegining Cols va Rows qiymatlari vergul bilan ajratilgan raqamlardir (bo'shliqlarsiz). Bu raqamlar biz natijada olishni istagan oynalarning nisbatlarini belgilaydi. Shuning uchun, Cols yoki Rows-da qancha vergul bilan ajratilgan raqamlar yozilmasin, bizda mavjud bo'lgan ramkalar soni natija bo'ladi.
Masalan, ushbu belgidan foydalanib, biz kengligi 2: 5: 3 nisbatga mos keladigan uchta vertikal ustunni olamiz.
Biz uchta freym uchun nisbatlarni o'rnatganimiz sababli, hech bo'lmaganda qo'shimcha atributlarni ko'rsatmasdan, Frameset teglarini ochish va yopish orasiga uchta Frame elementini kiritishimiz kerak bo'ladi:
Natijada, uchta bo'sh oynadan iborat ramka tuzilishimiz quyidagicha ko'rinadi:
Ushbu misolda biz oyna o'lchamlarini (Frame) foizlar yordamida o'rnatamiz, ular ko'rish maydonining kengligidan (bu Cols dan foydalanilganda) yoki uning balandligidan (Qatorlar) olinadi. Ko'rish oynasini o'zgartirganda, ramka o'lchamlari o'rtasidagi foiz nisbati saqlanib qoladi. Ammo foizlar o'rniga siz shunchaki ma'noga ega bo'lgan raqamlardan foydalanishingiz mumkin. Bu erda, menimcha, tushunishda hech qanday qiyinchiliklar paydo bo'lmasligi kerak.
Ammo o'lchamlarni belgilashda juda g'ayrioddiy variant ham mavjud, bu o'xshaydi yulduzcha "*". Bundan tashqari, u oddiygina "*" yoki oldida raqam bo'lgan yulduzcha bo'lishi mumkin, masalan, "3*". Foizlarga juda o'xshash aqlli narsa va biz ramka uchun bo'sh joyni mutanosib ravishda ajratishimizni anglatadi.
Keling, bir misolni ko'rib chiqaylik. Keling, Rows yordamida ko'rish oynasini gorizontal qatorlarga bo'lishni tanlaymiz:
Ushbu kirish nimani anglatadi? Bizga vertikal ravishda mavjud bo'lgan barcha ko'rish maydoni uchta qatorga bo'linadi. Birinchisining balandligi 200 pikselda, ikkinchisi - 500 da olinadi, lekin uchinchi qator balandlikda qolgan barcha joyni egallaydi, chunki Uning o'lchami sifatida "*" ishlatilgan.
Shunisi e'tiborga loyiqki, "*" va "1*" qiymatlari bir xil ma'noni anglatadi - biz qolgan barcha bo'shliqni bittaga ajratamiz va bu qismni ushbu ramkaga beramiz (ya'ni qolgan barcha bo'sh joy).
Ammo proportsional bo'lish uchun "*" qiymatini raqam bilan ishlatsangiz nima bo'lishini ko'ring:
Sizningcha, bu holda ramkaning o'lchamlari qanday bo'ladi? Ikkinchi qatorning balandligi, albatta, 100 piksel bo'lishi aniq. Ammo qolgan joy uchinchi va birinchi qatorlar orasidagi balandlikda qanday bo'linadi?
Hisoblash juda oson - ikkitaga (2*) to'rt (4*) qo'shing va shu maxrajga (maktab o'quv dasturidagi kasrlarni eslang) ikki va to'rtga bo'ling. Bular. Biz ramkali birinchi ustun balandlikda qolgan joyning uchdan bir qismini, uchinchi ustun esa uchdan ikki qismini egallashini olamiz. Yoki, boshqacha qilib aytganda, uchinchisi birinchisidan ikki baravar yuqori bo'ladi:
Ramka oynalarini bitta atributda o'lchashning uchta usulidan foydalanishingiz mumkin, masalan:
Natijada, biz barcha mavjud maydonning o'n foizi kengligi bilan birinchi ramka ustunini olamiz, ikkinchisi - 100 piksel, qolgan uchtasi esa to'rt, uch va to'qqizdan ikkisi nisbatida kenglikka ega bo'ladi. qolgan kenglik maydoni. Shunday qilib, hamma narsa oddiy va tushunarli.
Agar siz asosiy oynani nafaqat gorizontal va vertikal ramkalarga, balki, masalan, ularning kombinatsiyalariga bo'lishni istasangiz, u holda siz Frameset elementlarining ichki o'rnatilgan tuzilishini ustunlar uchun alohida va qatorlar uchun alohida ishlatishingiz mumkin. Masalan, quyidagi skrinshotda ko'rsatilgan tuzilmani olish uchun quyidagi konstruktsiyadan foydalanish kifoya:
Bular. birinchidan, biz “frameset cols=”20%,80%”“ barcha mavjud boʻsh joyni vertikal ravishda ikkita ustunga boʻlish va oʻng ustunning mazmunini “ramka” tegi bilan belgilash uchun foydalanamiz, lekin “ramka” elementini qoʻshish oʻrniga. chap ustun uchun biz yangi “frameset rows=“10%,*”” ochamiz.
Va uning yordami bilan biz o'ng ustunni ramkalar bilan ikkita qatorga ajratamiz, ularning mazmuni ikkita "ramka" teglari yordamida o'rnatiladi, shundan so'ng biz ikkala "frameset" konteynerini yopamiz. Hammasi oddiy va mantiqiy.
Lekin biz hammamiz Frameset elementi va uning Cols va Rows atributlari haqida gaplashdik, ular yordamida strukturani shakllantiramiz va ularning o'lchamlarini o'rnatamiz. Keling, kerakli freymlarda kerakli hujjatlarni qanday ko'rsatishni va ularning oynalari orasidagi o'zaro ta'sirni qanday sozlashni aniqlaymiz.
Xo'sh, biz yaratgan derazalar ko'rinishini qanday nazorat qilamiz? Bularning barchasi Frame tegining atributlarida mavjud. Birinchisini aytib o'tish kerak Src. Html kodiga rasmlarni kiritishni ko'rib chiqqanimizda, biz buni Img tegida allaqachon ko'rganmiz. Uning mohiyati o'zgarmadi va u hali ham ramkaga yuklanishi kerak bo'lgan hujjatga yo'lni belgilashga imkon beradi.
Src-dagi hujjatga yo'l sifatida ko'rsatilishi mumkin. Nisbiy yo'llar odatda o'z manbangizda joylashgan hujjat uchun ishlatiladi, lekin hujjatni boshqa saytdan ramka oynasiga yuklamoqchi bo'lganingizda mutlaq yo'llar kerak bo'ladi.
Agar kerakli hujjatga yo'lni ko'rsatuvchi Src atributi ko'rsatilmagan bo'lsa, u holda oynaga bo'sh hujjat yuklanadi. Shaxsan men bir marta o'z blogim uchun shunga o'xshash ishni qildim (qo'shimcha navigatsiya elementi sifatida) va shu bilan birga u uchun xosting serverida alohida papka yaratdim va u erda nafaqat ramka tuzilishiga ega Html faylini (men uni indeks deb ataganman) joylashtirdim. .html), shuningdek, barchasi turli xil hujjat oynalariga yuklangan, shuningdek, fon sifatida ishlatilgan tasvir fayllari.
Shuning uchun, men uchun Frame tegining Src atributidagi nisbiy havolalardan foydalanish eng oson bo'ldi:
Shunisi e'tiborga loyiqki, agar siz ushbu kodda keltirilgan barcha havolalarni nisbiydan mutlaqga almashtirsangiz (masalan, https://site/navigator/joomla.html) va ushbu faylni brauzerda ochsangiz, Frame-da ko'rsatilgan hujjatlar yuklanadi. mening serverimdan va brauzeringizda shunga o'xshash tasvirni ko'rasiz. Bundan tashqari, freym tuzilmasi (index.html) bo'lgan faylingiz qayerda - kompyuteringizda yoki hostingda joylashganligi muhim emas.
Rasmda ko'rsatilgan misolda chap freymning oynasiga oddiy menyu bo'lgan ma'lum menyuga ega sahifa yuklangan. Lekin muhimi, menyu qanday tuzilganligi emas, balki uning havolalaridan biriga bosilgandan keyin nima sodir bo'lishidir.
Agar buni qilsangiz, hamma narsa xuddi shunday bo'ladi - hujjat pastki o'ng oynada ochiladi. Ammo buning uchun men bitta kichik hiyla ishlatishim kerak edi, chunki standart versiyada hujjat oynaning butun hajmini ochdi, ramka tuzilishini almashtirdi, bu menga umuman kerak emas edi, chunki chap va yuqori freymlarda navigatsiya menyusi. G'oyib bo'lgan.
Hujjatlarni ramkadagi havola orqali qanday ochish mumkin
Shunday qilib, biz giperhavolalar haqida gapirganda, biz "A" teg atributini Target=_blank deb aytdik. Bu nima uchun ekanligini eslaysizmi? Bog'langan hujjatni yangi oynada ochish to'g'ri. Odatiy bo'lib, u bir xil oynada ochilishi kerak, bu target="_self" ga teng.
Ammo bu imkoniyatlar Maqsad cheklangan emas. Ma'lum bo'lishicha, siz unga qiymat qo'shishingiz mumkin ramka nomi sifatida, bu Frame tegining maxsus Name atributida oldindan ko'rsatilgan. Keyin ushbu havola orqali hujjat bir xil oynada ochilmaydi, uning butun maydonini egallaydi, lekin siz ko'rsatgan ramkada. Tushunarli? Agar to'liq bo'lmasa, endi misolni tahlil qilganimizda aniq bo'ladi.
Shunday qilib, keling, yuqoridagi rasmda ko'rsatilgan misolimizga qaytaylik. Pastki o'ng (katta) ramkada chap oynadan havolalar yordamida sahifalarni ochishimiz kerak. Shuning uchun avval bu katta oynaga Frame tegidagi Name atributidan foydalanib nom berish kerak.
Ular buni yasadilar va uni "ktona" deb atashdi. Endi chap oynada menyu sifatida yuklangan faylni xavfsiz ochishingiz va undagi barcha A teglariga Target="ktona" atributini qo'shishingiz mumkin:
Joomla tarixi va VirtueMart komponenti
Albatta, qidirish va almashtirish vositasi yordamida uni barcha giperhavolalar uchun qo'yish qiyin bo'lmaydi, lekin bizda foydalanish uchun ajoyib imkoniyat mavjud bo'lganda kodni keraksiz yuklashning nima keragi bor? maxsus tayanch yorlig'i, Biz allaqachon o'sha maqolada giperhavolalar haqida aytib o'tgan edik, biz Target blankidan foydalanish haqida gapirganimizda.
Asosiy target = "ktona" elementini ochish va yopish bosh teglari va barcha havolalar orasiga joylashtirish kifoya. HTML kodi Ushbu hujjat "ktona" deb nomlangan belgilangan ramkada yangi sahifalarni ochadi:
Aytgancha, agar biz bir vaqtlar mavjud bo'lgan vositamni misol sifatida ko'rib chiqsak, unda yuqori gorizontal oynadagi barcha havolalar o'z sahifalarini chap vertikal ramkada ochishiga ishonch hosil qilishimiz kerak, bu mening chap menyum bo'lib xizmat qiladi. Buning uchun nima qilish kerak?
Birinchidan, chap vertikal ramkaga nom berishingiz kerak:
Va yuqori oynaga (gor.html) yuklangan faylga siz asosiy target="gor" elementini qo'shishingiz kerak:
Mana, endi biz hamma narsani to'g'ri qildik. Yuqori ramkadagi havolalardan keyingi barcha hujjatlar chap oynada ochiladi va undagi barcha havolalar hujjatlarni markaziy va eng katta ramkada ochadi. Menimcha, hamma narsa oddiy va mantiqiy.
Derazalarning ko'rinishini sozlash uchun ramka tegi atributlari
Endi ramkalar ko'rinishini moslashtirish uchun Frame tegida Src va Name dan boshqa qanday atributlardan foydalanish mumkinligini ko'rib chiqamiz. dan boshlaylik Oʻtkazish. Undan foydalanib, biz ramka tuzilmangizning har bir oynasi uchun o'tish satrlari ko'rinishini alohida sozlashimiz mumkin.
Scrolling sukut bo'yicha Avto qiymatiga ega - brauzer freymga yuklangan hujjat hajmiga qarab aylantirish panelini ko'rsatish yoki ko'rsatmaslikni avtomatik ravishda hal qiladi. Hujjat oynaga to'liq mos kelmasa, uning hammasini oxirigacha ko'rish imkonini beruvchi aylantirish paneli paydo bo'ladi.
Shuningdek, siz Ha (hujjat unga to'liq mos tushsa ham, oynadagi aylantirish satrlari doimo ko'rsatiladi) va Yo'q (aylantirish chiziqlari, hatto hujjatning bir qismi mos kelmasa ham, hech qachon ko'rinmaydi) qiymatlaridan foydalanishingiz mumkin. Scrolling uchun qiymatlar sifatida.
Bir vaqtlar mavjud bo'lgan asbobimda men Auto-ning standart qiymatidan foydalandim va kerak bo'lganda freymlardagi aylantirish satrlari paydo bo'ldi:
Frame tegining quyidagi atributi hisoblanadi Noresize- yagona (u hech qanday qiymatga ega emas). Uni ro'yxatdan o'tkazish orqali siz uning hajmini o'zgartirishni taqiqlaysiz, bu sukut bo'yicha ramkalar chegarasini sichqoncha bilan sudrab borish orqali amalga oshiriladi.
Sichqoncha kursorini chegaraga olib borganingizda, kursor ikki boshli o'qga aylanishini ko'rasiz va endi tugmani bosish orqali. chap tugma sichqoncha, siz hohlaganingizdek chegarani siljitishingiz mumkin. Noresize bu irodani taqiqlaydi (sichqoncha kursorini derazalar chegarasiga olib borganingizda, siz endi ikki tomonlama o'qni ko'rmaysiz).
Yana bir vizual xususiyat Frameborder. Undan foydalanib, ramkalar orasiga ramka (chegara) chizish yoki chizmaslikni belgilashingiz mumkin. Frameborder faqat ikkita mumkin bo'lgan qiymatga ega bo'lishi mumkin - 0 (ramka chizmang) yoki 1 (chegarani ko'rsatish). Standart qiymat, albatta, 1.
Bitta noziklik bor. Agar siz ko'rinadigan chegarani olib tashlamoqchi bo'lsangiz, unda siz ko'rinadigan chegaralarni olib tashlamoqchi bo'lgan ramkalarning barcha Frame teglariga Frameborder=0 qo'shishingiz kerak bo'ladi.
Xo'sh, biz hali ham Frame tegining bir nechta atributlarini ko'rib chiqishimiz kerak - Marginwidth va Marginheight, bu oynaning chegaralaridan unga yuklangan tarkibga qadar kenglik (o'ng va chap) va balandlikda (yuqori va pastki) to'ldirishni o'rnatadi (raqam to'ldirish piksellari sonini bildiradi):
Nega freymlarda veb-sayt yaratolmaysiz?
Keling, klassik tuzilmalarning asosiy kamchiliklari nimada ekanligini ko'rib chiqaylik, bu esa veb-sayt yaratishda ulardan foydalanishga chek qo'yadi. Bu ramka tuzilishiga ko'ra, aslida iborat uning ahvolini kuzatish mumkin emas.
Murakkab tuzilmalar minglab turli holatlarga ega bo'lishi mumkin (har xil ramka oynalarida ochilgan hujjatlar variantlari), lekin aynan shu strukturaning Url manzili o'zgarmaydi. Shu sababli bo'ladi Brauzer xatcho‘plaridan foydalanib bo‘lmaydi yoki boshqa foydalanuvchilarga sevimli sahifalaringizga havolalarni yuboring. Nega?
Chunki manzil brauzer xatcho'plaridan yoki elektron pochtadan ochilganda ham o'zgarishsiz qoladi Elektron pochta, siz saqlamoqchi bo'lgan holatni emas, balki ramka tuzilishining boshlang'ich holatini ko'rsatadigan sahifani olasiz.
Albatta, bu muammoni HTML vositalari bilan emas, balki server (masalan, Php) yoki mijoz dasturlash tillari (JavaScript) yordamida hal qilish mumkin va bu echimlar yuz foiz samarali bo'lmaydi. Bunday echimlar, aslida, ramka strukturasining Url manziliga uning joriy holati haqida qo'shimcha ma'lumotlarni qo'shish imkonini beradi, ammo buni qilish oson emas va ishonchlilik mutlaq bo'lmaydi.
Bu veb-saytlarni yaratish uchun ramkalardan foydalanishning birinchi kamchiligi va juda muhim, ammo yana bir katta kamchilik bor. Qidiruv mexanizmlari, albatta, ularni indekslashni va ulardan derazalariga yuklangan hujjatlarning manzillarini olishni uzoq vaqtdan beri o'rgangan. Muammo boshqacha.
Agar foydalanuvchi Yandex yoki Google qidiruv natijalaridan ramka tuzilishi asosida qurilgan veb-saytingizga kirsa, butun tuzilma emas, balki faqat ramkalardan biriga yuklangan hujjat ochiladi. Nima haqida gapirayotganimni tushunyapsizmi?
Foydalanuvchi hujjatni ko'radi va saytingizda navigatsiyani ko'rmaydi, chunki u boshqa oynalarda himoyalanadi va ular faqat butun tuzilishning bir qismi sifatida yuklanadi.
Natijada, ramkalar ustiga qurilgan sayt oddiygina yaroqsiz holga keladi. Shunga qaramay, server skriptlariga asoslangan ushbu muammoning echimlari mavjud bo'lsa-da, individual hujjatlarning manzillaridan kerakli holatda bo'lgan ramka tuzilishiga qayta yo'naltirish amalga oshiriladi, ammo bu yana juda qiyin va har doim ham ishonchli emas.
Umuman olganda, xulosa bir ma'noda chiqarilishi mumkin - Ramkalarda veb-saytlar yaratishning hojati yo'q. Ammo ular doimo turli xil ilovalar uchun yordam yaratish uchun ishlatiladi va ular boshqa kichik narsalarda foydali bo'lishi mumkin.
Misol uchun, men "Navigator" deb nomlangan ramka tuzilishini yaratdim (endi u vaqtincha o'chirildi) va u mening blogim uchun o'ziga xos kengaytirilgan tashqi menyuga aylandi, bu menimcha, manba bilan ishlashni soddalashtirishi kerak. va shuning uchun "bema'nilik yo'q" ni yaxshilash saytni reklama qilishga juda kuchli ta'sir qiladi.
Biroq, har qanday muammoga duch kelmaslik uchun qidiruv tizimlari, Men ushbu butun ramka tuzilishini ko'rishdan yopdim, shuningdek, Rodots meta tegini barcha Html fayllariga qo'shib, ularni indekslashni taqiqladim:
JOOMLA
Ammo bu cheklovlarning barchasi faqat Frame va Frameset teglaridagi tuzilmalarga tegishli va Iframe teglariga o'rnatilgan ramkalar ko'rinadigan kamchiliklari yo'q va ular sizning loyihalaringizda, hech bo'lmaganda YouTube'dan videolar kiritish uchun ishlatilishi mumkin va hatto ishlatilishi kerak.
Omad sizga! Tez orada blog sayti sahifalarida ko'rishguncha
Sizni qiziqtirishi mumkin
Html kodidagi sharh direktivalari va Doctype, shuningdek blok va inline elementlar (teglar) tushunchasi O'rnatish va ob'ekt - veb-sahifalarda media-kontentni (video, flesh, audio) ko'rsatish uchun Html teglari Img - Html yorlig'i rasmni qo'shish (Src), matnni uning atrofida tekislash va o'rash (tekislash), shuningdek fonni o'rnatish (fon) Html gipermatn belgilash tili nima va W3C validatoridagi barcha teglar ro'yxatini qanday ko'rish mumkinTanlang, Option, Textarea, Label, Fieldset, Legend - teglar HTML shakllari ochiladigan ro'yxatlar va matn maydoni Html kodidagi ro'yxatlar - UL, OL, LI va DL teglari Shrift (Yuz, o'lcham va rang), Blockquote va Pre teglar - eski matn formatlash toza HTML(CSS-dan foydalanmasdan) Html va CSS kodlarida ranglar qanday o'rnatiladi, jadvallarda RGB soyalarini tanlash, Yandex chiqishi va boshqa dasturlar