HTML'de çerçeve kavramı. HTML iframe'e nasıl gömülür: kullanım senaryosu

  • 02.08.2019

Çerçeve yapısıyla başlayalım. Özü nedir? Tarayıcıya yüklediğimiz belgede özel pencere tipi alanları düzenleme imkanımız var. Bu alanlara diğer bireysel belgeler (web sayfaları) yüklenebilir.

Bu neden gerekli? Belgeler kendi ayrı alanlarına yüklendiğinden bağımsız davranırlar. Yani, diğer belgeler değişmezken bir belgede bir şeyler yapabilirsiniz.

Bu tür çerçeve yapılarını nerede bulabilirsiniz? Bunlar yardım dosyaları, yardım dosyalarıdır (.chm uzantılı).

Çerçeveli bir belgenin basit bir örneği:

Çerçeve örneği Bu sayfayı çerçeveleri desteklemeyen bir tarayıcı kullanarak görüntülüyorsunuz.

eleman çerçeve seti. Görevi, görüş alanını kapatmak ve onu ayrı alanlara bölmektir. Şunlar. tarayıcıya bu alanları hangi oranda ve nasıl (yatay veya dikey olarak) ayırdığımızı söylemek.

eleman çerçeve- bu tür ayrı alanların her birini açıklar. Tek etiket. Çerçeve kümesinde belirtilen boyutları kaplar.

eleman çerçevesiz- tarayıcı çerçeveleri desteklemiyorsa görüntülenir.

Gövde öğesi olmadığını unutmayın. Bunun yerine çerçeve kümesi öğesi kullanılır. Bu, çerçevelerin artık web sitelerinde kullanılmamasının nedenlerinden biridir.

çerçeve kümesi öğesi özellikleri

  • cols - sayfanın görünüm alanlarına dikey olarak bölünmesi.
  • satırlar - sayfanın görünüm alanlarına yatay olarak bölünmesi.

çerçeve elemanı

Bu öğe, ayrı bir pencere bölgesini tanımlar. Herhangi bir belge içine yüklenebilir - src özniteliği kullanılarak. Örnekler:

Bağlanmak kaydırma- kaydırma (varsayılan otomatik). Belge, bu çerçevenin görünüm alanının boyutunu aşarsa, kaydırma gerçekleşir. Belge zamana tamamen uyuyorsa, kaydırma yapılmaz. Kaydırma devre dışı bırakılabilir, ancak değeri otomatik olarak bırakmak daha iyidir.

Tek özellik noresize- tarayıcıda çerçevenin yeniden boyutlandırılmasını yasaklar. Buna varsayılan olarak izin verilir.

Bağlanmak çerçeve sınırı- çerçevede bir çerçeve. '1' değeri - çiz, '0' değeri - çizme. Yalnızca bu iki değere izin verilir. Çerçeve varsayılan olarak çizilir.

Bağlanmak kenar boşluğu Bu çerçevedeki içeriğin bu çerçevenin çerçevelerinden yatay olarak uzaklaşacağı mesafeyi belirtir.

Bağlanmak kenar boşluğu– içerikten çerçeve sınırlarına dikey girinti.

Gömülü iframe

eleman iframe('satır penceresi'). Bu eleman eşleştirilir (bir açılış ve kapanış etiketi vardır). Bu öğe aynı amaca hizmet eder - belgede bir pencere öğesi düzenlemek.

Eski çerçevelerden farkı nedir? Kendi kendine yeterlidir, ek kaplara ihtiyaç duymaz. Ve herhangi bir belgede olabilir, yani bir gövde öğesinin olduğu yerde.

iframe öğesi, değiştirilebilir içeriğe sahip bir satır içi öğedir. Şunlar. herhangi bir soyut boyutta dize türünde bir alan oluşturulur ve bazı harici belgelerin (html dosyası) içeriği bu alana yüklenir.

Iframe, resimlerle aynı özelliklere sahiptir (çünkü aynı türdendirler): name, width, height, src, frameborder, scrolling, hspace, vspace, marginwidth, marginheight.

Peki çerçeveler.. ne işe yararlar ve ne gibi faydalar sağlarlar? Bu bölümde anlatmaya çalışacağım şey bu ve tabii ki bunları nasıl uygulayacağım ve onlarla çalışacağım..

Çoğu zaman, bir site oluştururken, aynı anda birkaç HTML belgesini bir tarayıcı penceresinde açmak gerekli hale gelir .. ve bu nedenle çerçeveler aynıdır ve her belge için çalışma alanlarını belirlemek için oluşturulur. Ek olarak, çerçeveler, sayfa düzeniyle başa çıkabileceğiniz iyi bir araçtır, sayfa düzeninin tablo biçimine layık bir "alternatif" olarak hizmet ederler. ve şimdiye kadar bilinen site yapımıyla karşılaştırmak oldukça zordur .. her şey sırayla ..

Başlayalım mı? Bir tarayıcı penceresinde aynı anda üç HTML belgesi açmamız ve bunları örneğin şu şekilde düzenlememiz gerektiğini varsayalım:

Bunun için neye ihtiyacımız var? Başlangıç ​​olarak tabi ki aslında bir pencerede açacağımız üç ayrı html belgesi oluşturmamız gerekiyor.. İlk belgenin grafik bir görüntü taşımasına ve logo görevi görmesine izin verin, logotype.html diyelim, ikinci belge açılacaktır. biraz içerik olun. .html , peki ve bir sürü metin içeren üçüncü belge. metin.html. Tabii ki kendi isimlerinizi ve belgelerin içeriğini de çıkarabilirsiniz ama şimdilik benimkini kopyalamak daha iyi.. hem benim için hem de sizin için daha uygun olacaktır.

Yani tek bir çatı altına yerleştirmemiz gereken logotype.html, menu.html ve text.html .. adlı üç dosya var ve henüz bir çatımız yok..

Dosyalarımızı bağlayacağımız ana belge olan "çatıyı" yazıyoruz. Ana dosya olacağı için index.html adını veriyoruz.



çerçeveler





İşte eğitimimizin en başında çiğnediğimiz bizim için olağan belge yapısı... Çerçeveler, yerleşik kalıp yargıları kırar! Belge çerçevesi yapısı şöyle görünür:



çerçeveler



Eksik etiket yeni etiketi telafi eder - bir çerçeve veya bir dizi çerçeve kurun .. bu yoldaşla aslında daha fazla çalışacağız.

Etiket niteliklere sahip satırlar ve cols- bu nitelikler tarayıcıya tarayıcı penceresinde çerçevelerin nasıl düzenleneceğini söyler

satırlar- yatay olarak cols- dikey olarak

Bizim durumumuzda, çerçevelerin yatay olarak yerleştirilmesine ihtiyacımız var .. bu yüzden şöyle yazıyoruz:



çerçeveler

satırlar="%15,%15,%70">

Eşittir işaretinden sonraki yüzdeler, büyük bir tarayıcı penceresindeki çerçeve pencerelerimizin boyutlarından başka bir şey değildir, üç pencere yerleştirmemiz gerekir - bu nedenle virgülle ayrılmış üç değer de vardır. Tablo için hücre boyutlarını nasıl belirlediğimizi hatırlayın, burada prensip aynıdır.Tablo hücrelerinde olduğu gibi, çerçeve boyutları toplam alanın yüzdesi ve piksel olarak belirtilebilir.

İşte bazı yazma örnekleri:
- böyle bir giriş, sonuncusunun tarayıcı penceresi alanının %70'ini kaplayacağı ve ilk ikisinin her birinin %15'ini alacağı üç yatay pencere olacağını gösterir.
- burada genişliği piksel olarak gösterilen üç pencere dikey olarak düzenlenmiştir.
- böyle bir kayıt, birinci ve üçüncü pencerelerin sırasıyla 100 ve 180 piksel genişliğe sahip olacağı ve ikinci karenin kalan tüm alanı kaplayacağı anlamına gelir.

Belgeleri yerleştirmeyi bitirdik, şimdi onları birbirine bağlamak ve ilk sonucun tadını çıkarmak kaldı..

Etiket ve niteliği kaynak tarayıcıya, kendisine ayrılan yerde açılması gereken html belgesinin yolunu söyler. Logotype.html, menu.html ve text.html olmak üzere üç ayrı belgemiz var, şimdi her birine bir yol yazmamız gerekiyor, ki bunu gerçekten yapıyoruz. (Dört dosyanızın da aynı klasörde olduğunu ve bunlara giden yolların türe göre en basit girişe sahip olduğunu varsayıyorum: )

index.html dosyası


çerçeveler







Dosya logotype.html


çerçeveler







menu.html dosyası


çerçeveler


Menü:

mantar çorbası
Bir tencerede İtalyan fasulyesi
Avustralya yaz salatası
... ... ...





metin.html dosyası


çerçeveler


mantar çorbası


bol metin..




Bu örnekte, index.html'nin ana olduğu ve geri kalan üçünün eklenti sayfaları olduğu dört HTML belgesini de gönderdim, bunların her biri prensipte bağımsız olarak çalışabilir ve istediğiniz her şeyi resim, tablo, metin, linkler.. Bunu çerçevelerle çalışma prensibini anlamanız için yaptım. Diğer örneklerde, sadece çerçeveli head dosyasını yükleyeceğim (aksi takdirde hepsi sayfada çok fazla yer kaplar) ve biliyorsunuz ki grafik, metin içeren diğer tüm dosyalar "orada bir yerde" var, belki de olabilir. başka bir şey .. Pekala, bana ayak uydur yavaş yavaş gelecekteki eğitim sitesi için kendi sayfalarını düzenle .. Kendin hakkında ne yazacağını bilmiyorum, ama bir kıza yemek pişirmeye adanmış bir site yazmasına yardım edeceğime söz verdim ..)) böylece tabiri caizse, bir taşla iki kuşa sallanmaya karar verdim .. kıza, tavşana ve siteye ..)) böyle bir şey ..))

Yukarıdaki örnekte, özniteliği değiştirerek tüm pencereleri yatay olarak düzenledik. satırlarüzerinde cols dikey olarak düzenleyebilirsiniz. Ama ya pencerelerimizi yerleştirmek istersen


bunun gibi mi?: veya bunun gibi mi?: hatta bunun gibi mi?:

Bir çıkış var. Örneklere bakalım.

İlk vakayla başlayalım.. Ne görüyoruz? Ve ikincisinin iki sütuna bölündüğü iki çizgi görüyoruz.

Ve şimdi sırayla:

- tarayıcı penceresini iki satıra bölün
- ilk satırda logomuzu yüklüyoruz
- ve ikinci satır iki sütuna bölünmüştür
- ilk menü olacak
- ve ikincisinde bir sürü metin
- bölme etiketini sütunlara kapatın
- satır bölme etiketini kapatın

Aslında sütun ve satır demek yanlış olur çünkü çerçevelerin tablolarla görsel benzerlik dışında bir ilgisi olmadığı için yatay ve dikey çerçeveler demek doğru olur.. Neyse, daha anlaşılır olsun diye söylüyorum..

Tamam, bir örneğe bakalım:



çerçeveler









İkinci durumda, ikincisinin iki satıra bölündüğü iki sütunumuz var, bu yüzden şöyle yazacağız:

- pencereyi iki sütuna bölün
- ilk içerik olacak
- ve ikincisi iki satıra bölünmüştür
- logo
- ve ana metin
- çizgilere yakın bölme
- bölmeyi sütunlara kapat



çerçeveler









Üçüncü durum biraz daha karmaşık, ama bundan korkmamalısınız.. özellikle mutfak sanatları ile ilgili bir site için şahsen böyle bir yapı seçtiğim için, neden biraz daha düşük olduğunu açıklayacağım. Neyimiz var? üç sütun ve ikinci sütun esasen ilk durumumuzu içeriyor ..

- pencereyi üç sütuna bölün (ikinci sütunun tam olarak 800 piksel kapladığını ve iki uç noktanın tam boyuta sahip olmadığını ve kalan alanı ikiye böleceğini unutmayın)
- ilk sütunda tamamen dekoratif bir işlev gerçekleştirecek bir html belgesi yüklüyoruz

-
-
- ikinci sütuna "ilk vakamızı" ekliyoruz
-
-
-
-

- üçüncü sütunda aynı dosyayı süslemelerle yüklüyoruz
- slam

Örneğe bakın ve sonra neden beş pencereli yolu seçtiğimi açıklayacağım.



çerçeveler













Peki neden beş pencere? Farklı İnternet kullanıcılarının monitörlerinde farklı çözünürlüklere sahip oldukları ve buna bağlı olarak sitemizin farklı ekranlarda farklı görüneceği hakkında zaten yazdığımı hatırlıyorum .. ve belirli bir boyut yoksa, tüm çizimlerimiz, metinlerimiz, tablolarımız monitör çözünürlükleri sizinkinden farklı olan kullanıcıları "yüzer" olarak adlandırılır. Bir tablo kullanarak siteyi düzenlerken, bu tabloya belirli bir genişlik ve yükseklik atanarak sayfa boyutları sorunu çözüldü, ne yazık ki bu çerçevelerle yapılamaz.. yüzdeler, ancak piksel cinsinden, son sütun hala tarayıcı penceresinin kalan genişliğine kadar uzayacak ve dedikleri gibi sayfa "sunusunu" kaybedecek. Peki nasıl olunur? Küçük numaralar yapmalıyız .. Ortadaki sütunu (aslında tüm sayfanın bulunduğu) 800 piksel boyutunda ayarlayarak, bir kez ve tüm genişliğini ve ek olarak boyutsuz birinci ve üçüncü sütunları belirliyoruz. dekora, orta sütunun üzerinde asılı olduğu bir tür "yay" görevi görür.Bu nedenle, monitörün çözünürlüğü küçük olan insanlar için bu pencereler / alanlar dar olacak ve yüksek çözünürlüğe sahip insanlar için geniş olun, böylece merkez sütun hiçbir şekilde zarar görmez ve şimdi herhangi bir nesneyi tam bir güvenle, doğru bağlama ile, gelecekteki kaderi hakkında endişelenmeden içine yerleştirebiliriz. Üç pencerenin olduğu ilk örneği ve zaten beş pencerenin olduğu üçüncü örneği karşılaştırın, daha iyi değil mi?

Bunu çerçevelerin yerleşimi ve boyutu ile bitireceğiz .. ve bu yüzden burada uzun süre oyalandık .. hadi devam edelim.

Çerçeveleri düzgün bir görünüme kavuşturuyoruz.

Son örneğimizde ilk göze çarpan şey, olması gereken yerde duran ve durmayan bir sürü kaydırma çubuğu. Hadi onlardan kurtulalım, peki, onları bir yere bırakabilirsiniz.. Bu özellik kullanılarak yapılır. kaydırma- etiket , üç değerden birine sahip olabilir:

  • hayır
  • evet- her zaman göster
  • Oto



çerçeveler


kaydırma = "hayır">

kaydırma = "hayır" >





kaydırma = "hayır">


Çerçeve kenar boşlukları veya başka bir şekilde çerçeve kenarlıklarından metne veya resme olan mesafe, bizim durumumuzda olduğu gibi, nitelikler kullanılarak piksel cinsinden ayarlanır. kenar boşluğu ve kenar boşluğu etiket



çerçeveler




marginwidth="0" marginheight="0">


kenar boşluğu = "10" kenar boşluğu = "10">





Biraz da çerçevelerimizin etrafındaki çerçevelerden bahsedelim.

Dikkat ettiyseniz, o zaman son örnekte, imleci çerçevenin sınırının üzerine getirdiğinizde, imleç, yani imleç farklı bir görünüm alır (yakalayın ve hareket ettirin) ve şimdi bu kenarlık herhangi bir yöne sürüklenebilir sol fare düğmesini basılı tutarak. Bazen çerçeve kenarlıklarının bu tür "hareketliliği" web yöneticisinin işine gelir, ancak daha sıklıkla bunu engeller .. Kullanıcının etiket için pencere boyutlarıyla oynamasını önlemek için bir özellik ile geldi noresize



çerçeveler


noresize>

noresize>

noresize>
noresize>


noresize>


Ama uzun zamandır tanıdık bir özelliğimiz var. sınır bu karelerin genişliğini kareler arasında piksel olarak ayarlar .. etiketin içine yazılır . Değerden önceki gibi sınır = "0" bizi çerçeveden tamamen kurtar.



çerçeveler

sınır = "0">

sınır = "0">

sınır = "0">







Çerçeveler ve bağlantılar.

Linklerle sitemizi canlandırmanın zamanı geldi ama sorun bu, bize tanıdık gelen sıradan bir link Bir tencerede İtalyan fasulyesi bu belgeyi bulunduğu çerçeve içinde açacaktır, bizim durumumuzda doğrudan içerikle çerçeve içinde ve içeriğin kendisi bu bağlantıya tıkladığınız anda unutulacak .. beceriksiz bir örneğe bakabilirsiniz. . içindeki herhangi bir bağlantıya tıklayın .. Gelecekte bunun olmasını önlemek için, tarayıcıya ihtiyacımız olan belgenin hangi çerçevede açılması gerektiğini söylemek gerekir, tabii ki gerçekten aynı şekilde açmanız gerekmiyorsa çerçeve.

Bağlantılar bölümünde niteliklerle zaten tanıştığımızı hatırlıyorum. isim- Isim ve hedef- amaç, çerçevelerle çalışırken de kullanılırlar, mekanizma biraz değiştirilir ve bu nedenle neredeyse aynıdır. her şeyden önce, herhangi bir belgeyi açmak istediğimiz çerçeveye ayrı bir isim atanmalıdır.

şöyle yazılır:

isim = "temel"> aklınıza herhangi bir isim gelebilir.. Asıl mesele onu unutmamak..

Şu şekilde yazılır:

hedef = "temel"> Bir tencerede İtalyan fasulyesi

Bence herhangi bir belgeye atıfta bulunmadan önce onları oluşturmanız gerektiğini açıklamanıza gerek yok .. benim durumumda dosyalar (tarifler) text.html, text1.html, text2.html .. .

Bir örneğe bakın:

index.html dosyası


çerçeveler







isim = "temel" marginwidth="10" marginheight="10" noresize>





menu.html dosyası


çerçeveler


Menü:




hedef = "temel">mantar çorbası

hedef = "temel"> Bir tencerede İtalyan fasulyesi

hedef = "temel">Avustralya Yaz Salatası

... ... ...





Daha önce olduğu gibi, belge ayrı bir pencerede açılabilir. Unutmayın, şöyle yazılmıştır:

hedef="_blank"> Bir tencerede İtalyan fasulyesi

Veya bir nitelik atayarak hedef anlam _tepe aynı tarayıcı penceresinde, ancak tam ekranda açın.

hedef = "_top"> Bir tencerede İtalyan fasulyesi

Böyle bir site çıktı..Tabii ki hala üzerinde çalışmamız ve çalışmamız gerekiyor.. ayrıca fikrime göre site navigasyonu açısından biraz farklı bir yapıya sahip olacak, yine bir dolu sayfa olacak. , güzel bir menü, ancak çerçeve yapısına gelince, aynı kalacağını düşünüyorum..

yüzen çerçeve

Bazen, ayrı bir pencerede çerçevesiz bir yapı içeren bir sayfaya başka bir HTML belgesi veya hatta bu türden birkaç belge eklemek gerekir. Bu amaç için bir etiket var.

Kayan çerçeveli bir belge örneği:



yüzen çerçeve


yüzen çerçeve


Sözde "kayan çerçeve" bu sayfaya dahil edilmiştir.
Ayrı bir pencerede, görüntülenecek başka bir html belgesi açar.



… … …




Çerçevesiz

Bazı tarayıcılar belgenin çerçeve yapısını desteklemez veya yanlış yorumlamaz, ayrıca kullanıcılar genellikle tarayıcı ayarlarında html belgesinin çerçeve yapısı desteğini kasıtlı olarak devre dışı bırakır. Ve bu tür tarayıcıların ve kullanıcıların yüzdesi küçük olsa da, hala varlar.

Şimdi sitenizi bir çerçeve yapısı kullanarak oluşturduğunuzu hayal edin ve burada, sorunun ne olduğundan şüphelenmeyen, sitenizi açmaya çalışan bazı ziyaretçiler var ve tarayıcıları hata veriyor! Siteniz hakkında ne düşünüyorlar? Şöyle bir şey düşünüyorum: "Fu .. bir tür saçmalık.. Buraya bir daha asla gelmeyeceğim!".

Kullanıcıya tarayıcı/tarayıcı ayarlarının çerçeveleri desteklemediğini açıkça belirtmek için bir etiket vardır. </b> .</p> <p>Etiket <b><noframes> </b> kullanıcının tarayıcısı çerçeveleri desteklemiyorsa veya çerçeveler kendi ayarlarında zorla kapatılmışsa, içindeki metni görüntüler. Çerçeveler kullanıcının tarayıcısı tarafından destekleniyorsa, bu etiket basitçe yok sayılır.</p> <p> <html> <br> <head> <br> <title>çerçeveler</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Üzgünüz, ancak tarayıcınız çerçeveleri desteklemiyor..











Örneğin, tarayıcınız gerçekten çerçeveleri desteklemiyorsa (burada uzun zamandır düşündüm .. :) eğer öyleyse, neden bu bölümü okudunuz?) veya çerçeve desteğini kapattıysanız fark edilecektir. bir deney olarak tarayıcı.

Etiket </b> etiketin içine yerleştirilmelidir <b><frameset> </b></p> <p>Kayan çerçeve ile daha da basittir, istediğiniz metni aralarına yazmanız yeterlidir. <b><iframe> </iframe> </b> ve tarayıcı çerçeveleri desteklemiyorsa bu yazı görüntülenecektir.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Üzgünüz, ancak tarayıcınız çerçeveleri desteklemiyor..</b></iframe> </p> <ul><p>Bir çerçeve yapısı kullanarak bir sayfa oluşturmaya başlamadan önce, düzenini, her pencerenin boyutunu, içlerinde kaydırma çubuklarının olup olmadığını vb. analiz edin. Bundan sonra, göreli konumları hakkında çok fazla endişelenmeden dahil edilen HTML dosyaları oluşturabilirsiniz. birbirlerine..</p><p>etiketi kullan <b><noframes> </b>. Tarayıcınızda site istediğiniz gibi çalışıyorsa ve görüntüleniyorsa, diğer kullanıcılar için her şeyin farklı olabileceğini unutmayın!</p> </ul> <p>Çerçevelerin uygulama alanları</p> <p>HTML belgelerinin geliştiricilerine, sayfalarda bilgi görüntülemek için oldukça zengin bir form seçeneği sunulur. Metinsel ve grafiksel bilgiler, listeler, tablolar veya basitçe hizalama seçenekleri kullanılarak, yatay çizgiler ayarlanarak, paragraflara ayrılarak sıralanabilir ve düzenlenebilir. Bazen bu özellikler yeterli olmaz ve ardından tarayıcı görünüm penceresini ayrı alanlara veya çerçevelere (çerçevelere) bölmeniz gerekir. HTML dilinin bir dizi Rusça açıklamasında, çerçeve terimi yerine çerçeve terimi kullanılır. Her iki terimin kullanım sıklığı yaklaşık olarak aynıdır.</p> <p>WWW hakkında bilgi görüntülemek için bir çerçeve yapısı seçimi aşağıdaki durumlarda doğrulanır:</p> <ul><li><span>gerekirse, başka bir alt alanda çalışırken tarayıcı görünüm penceresinin alt alanlarından birinde belge yükleme yönetimini organize edin;</span></li><li><span>ekranın diğer alt alanlarının içeriğinden bağımsız olarak, her zaman ekranda olması gereken bilgileri görüntülemek için pencereyi belirli bir yere yerleştirmek;</span></li><li><span>her biri bağımsız olarak görüntülenebilen bir pencerenin birkaç bitişik alt bölgesinde uygun şekilde düzenlenen bilgileri sunmak.</span></li> </ul><p>Yukarıdaki liste, çerçevelerin kullanılabileceği tüm olası durumları kapsamaz, ancak doğası gereği tavsiye niteliğindedir.</p> <p>Önce örnek olarak gerçek hayattaki HTML belgelerini kullanan çerçeveler için tipik kullanım durumlarına bakalım ve ardından çerçeveler içeren belgeler geliştirme kurallarına dönelim.</p> <p>Şek. Şekil 5.1, Rusya'nın finans ve borsalarından bilgi sağlama konusunda uzmanlaşmış Finmarket ajansının HTML sayfalarından birini göstermektedir.</p> <p><i><b>Pirinç. 5.1.</b>Çerçeve yapısına sahip tipik bir web belgesi</i> </p> <p>Bu sayfa, tarayıcı penceresini üç çerçeveye böler. Pencerenin alt kısmı, tüm pencerenin yüksekliğinin %20'sini kaplar ve bu durumda en önemli bölümlere istediğiniz zaman erişmenizi sağlayan bir grafik menü olan kalıcı bilgiler içerir. Bu çerçeve, kullanıcı komutları tarafından yeniden boyutlandırılamaz ve kaydırma çubuğu yoktur. Pencerenin üst kısmı (yüksekliğin %80'i) yatay olarak iki çerçeveye bölünmüştür. Sol çerçeve, kullanıcı tarafından görüntülenebilen belgelerin içindekiler tablosunu içerir. Görünüm alanının çoğunu kaplayan sağ çerçeve, belgelerin kendilerinin görüntülenmesi için tasarlanmıştır. İlk yüklemede, bu iki çerçeve tarayıcı penceresini %15 ila %85 oranında yatay olarak böler. Bu oran, görüntüleme sırasında kullanıcı tarafından değiştirilebilir; bu, yüklenen belgelerin içeriğine göre en uygun çerçeve boyutlarını seçmenize olanak tanır. Bu çerçevelerin her birinin kendi kaydırma çubuğu vardır; bu, çerçevenin boyutuna, tüm tarayıcı penceresine ve kullanılan yazı tiplerine bakılmaksızın çerçevenin tüm içeriğini görüntülemeyi mümkün kılar. Sol çerçevedeki herhangi bir bağlantıyı seçtiğinizde, ilgili belge sağ çerçeveye yüklenecektir. Bu yapı, ekranda ve belgelerin içindekiler tablosunu ve seçilen belgenin içeriğini aynı anda görmenizi sağlar.</p> <p>İşte bu yapıya sahip belgenin oluşturulduğuna göre, açıklama yapılmadan HTML kodunun bir parçası:</p> <p><FRAMESET ROWS="80%,20%"> </p> <blockquote> <p><FRAMESET COLS="15%, 85%"> </p> <p><FRAME SRC="LIST.htm"> </p> <p><FRAME scrolling=auto SRC="empty.htm" name="pages"> </p> <p></FRAMESET> </p> </blockquote> <p><FRAME SRC = "toolbar.html" scrolling=noresize> </p> <p></FRAMESET> </p> <p>Bu örnek, bir çerçevenin belgeler için içindekiler tablosu işlevi gördüğü ve diğerinin içeriklerini yüklemek için kullanıldığı çerçeve yapılarının en tipik kullanımını göstermektedir. Böyle bir problemin çerçeve kullanılmadan çözümü genellikle şu şekilde yapılır. Sayfalardan birinde, diğer belgelere veya bunların ayrı parçalarına bağlantılardan oluşan bir içindekiler tablosu vardır. Böyle bir bağlantıya tıkladığınızda, içindekiler tablosu kaybolur ve okumadan sonra genellikle içindekiler tablosuna tekrar dönmeniz gereken gerekli belge yerine yüklenir. Çerçeveleri kullanırken, içindekiler kalıcı olarak ekranın bir bölümünde yer aldığından, böyle bir dönüş gereksiz hale gelir.</p> <p>İnternette bulabilirsiniz</span> <span>Petersburg'daki popüler adres ve telefon rehberinin "All Petersburg" elektronik baskısının sitesi.</p> <p>Kılavuzun elektronik versiyonu şu adreste mevcuttur: <b>http://www.allpetersburg.ru</b> ve kullanıcı isteklerine göre ihtiyacınız olan bilgileri bulmanızı sağlar. Belgenin bu sayfası da bir çerçeve yapısına sahiptir ve birincisi 100 piksel genişliğinde, ikincisi ise görünüm alanının kalan tüm genişliğini kaplayan iki çerçeveden oluşur. Sol tarafta yer alan çerçeve, ekranda kalıcı olarak bulunan grafik menü için kullanılır ve ayrıca Nevalink şirket logosunu da içerir. İkinci çerçeve, bu durumda kullanıcının talep etmesi için bir form olan belgeyi içerir. Bu sayfanın yapısı aşağıdaki HTML koduyla tanımlanır:</p> <p><FRAMESET COLS="100,*" frameborder="0" framespacing="0" border="0"> </p> <p><FRAME NAME="Menu window" SRC="menu.htm" noresize> </p> <p><FRAME NAME=content SRC="sql.idc" noresize> </p> <p></FRAMESET> </p> <p>Çerçeveler tablolara çok benzer - her ikisi de tarayıcının görünüm alanını bazı bilgiler içeren dikdörtgen alanlara böler. Bununla birlikte, çerçevelerin yardımıyla, yalnızca bir belgenin sayfalarını biçimlendirme görevini değil, aynı zamanda aralarındaki etkileşimi de düzenleyebilirsiniz. Çerçeveler ve tablolar arasındaki temel fark, her çerçevenin ayrı bir HTML belgesine karşılık gelmesi ve tüm tablo hücrelerinin içeriğinin her zaman aynı belgenin parçası olmasıdır. Ayrıca çerçevede görüntülenen sayfa diğerlerinden bağımsız olarak görüntülendiğinde kaydırılabilir. Her çerçeve aslında ayrı bir "mini tarayıcıdır". Tüm yapısı her zaman ekranda görüntülenen çerçevelerin aksine, tablolar pencereye tam olarak sığmayabilir ve yalnızca parçalar halinde görüntülenebilir. Bu, HTML tablolarında toplam hücre sayısı pratik olarak sınırsızsa ve birkaç yüze ulaşabiliyorsa, bir belgedeki çerçeve sayısının genellikle birkaç birimi geçmediği sonucuna varır.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Yalnızca belgeyi biçimlendirmeniz gerekiyorsa, kendinizi tabloları kullanmakla sınırlamanız yeterlidir. Örneğin, bir pencerenin alt bölgeleri arasındaki etkileşimi düzenlemek veya ekranda kalıcı olarak bulunan alt bölgeler oluşturmak gibi daha karmaşık görevlerin çözülmesi gerekiyorsa, çerçevelerin kullanılması uygundur.</span> </i></p> <p>Sonuç olarak, belge yapısı seçimi - tablo veya çerçeve - birçok faktöre bağlıdır ve benzersiz bir şekilde önceden belirlenemez.</p> <p>Ayrıca orada</span><span>öncekilere benzeyen sayfalar. <span>Örneğin, alabilirsin</span> Tüm dünyada çok popüler olan, özellikle İnternet ile çalışmak için tasarlanmış yazılım ürünleri koleksiyonunun sayfası. Sunucu adresi <b>http://www.tucows.com</b>. Sunucu adının, koleksiyonun tam adının kısaltmasından türetilen bir kısaltma tarafından belirlendiğini unutmayın - Winsock Yazılımının Ultimate Koleksiyonu. Tucows kısaltmasının iki inek (iki inek) ifadesi ile uyumlu olduğu ortaya çıktığından, ineklerin görüntüsü genellikle sunucu sayfalarında bulunur ve yazılım ürünlerinin derecesi, moos ("Moo") ve karşılık gelen ineklerin bir dizisi olarak grafiksel olarak tasvir edilmiştir. Sunucu sayfalarının çoğu aynı şekilde oluşturulmuştur - pencerenin sol kısmı mevcut bölümlerin bir listesini içerir ve sağ kısım seçilen bölümün yazılım ürünlerinin bir listesini içerir. İlk bakışta, belge yapısı önceki örneklerde olduğu gibi görünmelidir. Ancak bu belgede çerçeveler kullanılmamaktadır! Bu sayfa, iki hücreli yalnızca bir satırdan oluşan bir tablo kullanılarak oluşturulmuştur. Tablonun çerçevesi yoktur ve yalnızca sayfayı biçimlendirme amacına hizmet eder. Dikey bölünmüş ekran izlenimi, tablo ızgarası değil, dikey çizgi içeren bir arka plan grafiği kullanılarak oluşturulur. Sayfayı resim yüklemeden görüntülerseniz bunu doğrulayabilirsiniz. Çerçeveler tüm tarayıcılarda görüntülenmediğinden, burada bir tablonun kullanılması, daha fazla belge erişilebilirliği nedeniyle görünmektedir.</p> <p>Bu durumda bu yaklaşımın dezavantajı, dosyaların boyutunu biraz artıran her belgede tüm bölüm listesini (sayfanın sol tarafı) tekrarlama ihtiyacıdır.</p> <p>Verilen örneklerin karşılaştırılması, tabloların ve çerçevelerin kullanımının bazen birbirinin yerine geçebileceğini ve geliştiricilerin isteklerine göre belirlendiğini göstermektedir. Genellikle üzerinde belge bulunan bir sayfaya bakarken, nasıl oluşturulduğunu belirlemenin imkansız olduğunu unutmayın. Son kullanıcının belgenin iç yapısını bilmesine gerek yoktur, ancak kendi Web sayfalarınızı geliştirirken mevcut belgelerin kaynak koduna aşina olmak son derece yararlı olacaktır. İlk örnekte (bkz. Şekil 5.1), belgenin çerçeve yapısı hemen görülebilir - iki dikey kaydırma çubuğunun varlığı, ayrı çerçevelerin varlığını zaten belirler. Sonraki iki örnek yüzeysel olarak çok benzer ve bunlardan ilkinin çerçeveler kullanılarak oluşturulduğunu ve ikincisini kullanan tabloları belirlemek mümkün değil. Farklılıklar yalnızca onlarla çalışırken görünecektir. Adres ve telefon rehberi örneğinde belge içinde gezinirken pencerenin sol tarafı yerinde kalacaktır ki bu ancak çerçeve yapısı ile mümkündür. Aşağıdaki örnekte (bir yazılım ürünleri koleksiyonu), kaydırma, pencerenin tüm içeriğini değiştirecektir.</p> <p>Belgenin yapısını Netscape tarayıcısı ile çalışırken Görünüm menüsünün Sayfa Bilgisi öğesini (Netscape tarayıcısının 3.x sürümlerinde bu menü öğesine Belge Bilgisi olarak adlandırılıyordu) kullanarak görüntüleyebilirsiniz (Şekil 5.2).</p> <span> <img src='https://i0.wp.com/webnav.ru/books/html4/frames/04.gif' height="237" width="171" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>2 . </b> Netscape Tarayıcı Görünüm Menüsü</i> </p> <p>Ayrıca, Görünüm menüsünün Sayfa Kaynağı öğesini (veya seçilen çerçeveye yüklenen belgenin HTML kodunu görüntülemek için sağ tıklama bağlam menüsünün Çerçeve Kaynağını Görüntüle öğesini) kullanarak tüm belgenin HTML kaynağını her zaman görüntüleyebilirsiniz. ).</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Çerçeve kullanımını gereksiz yere kötüye kullanmamalı ve sayıları üç veya dörtü geçmemelidir.</span> </i></p> <p>Genellikle İnternet'teki gerçek sayfalarda, bu tür çerçeve kullanma durumlarını görebilirsiniz:</span><span>iki bitişik çerçeve, aynı anda görüntülenmeye ve birbirleriyle karşılaştırılmaya uygun belgeleri yüklemek için kullanılır. Çerçevelere yüklenen iki belgenin her birinde, bilgi sunumunun tablo şeklinde bir biçimi kullanılır. Bu veri organizasyonunun bir sonucu olarak, iki tablonun her biri ayrı ayrı görüntülenebilir (veya yazdırılabilir) veya diğeriyle karşılaştırmalı olarak incelenebilir.</p> <p>Bu bölümdeki tüm örnekler, popüler WWW sunucularının sayfalarından alınmıştır ve belki de HTML belgelerinde çerçeve kullanımına örnek teşkil edebilir.</p> <p>Bu bölümün aşağıdaki bölümleri, çerçeve içeren belge yazma kurallarına ayrılmıştır.</p> <p>Çerçeve açıklama kuralları</p> <p>Şimdi çerçeve yapılarına sahip belgeler için kullanılan etiketlerin yazım kurallarını ele alalım.</p> <p>Önce orta karmaşıklıkta çerçeveler içeren bir belge oluşturan HTML'nin tamamına bir göz atalım:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE> </TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <blockquote> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p><FRAME SRC="footer.htm"> </p> </blockquote> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>

Bu örnek, Şekil 1'de gösterilen çerçeveli sayfayı oluşturur. 5.3. Gördüğünüz gibi, bu HTML kodu dört çerçeve tanımlar. Üst çerçeve, sayfanın tüm genişliğini kapsar ve başlığı içerir. Sırada, biri sol tarafta bulunan ve ekran genişliğinin yüzde 25'ini kaplayan ve ikincisi kalan alanı kaplayan iki merkezi çerçeve var. Son, dördüncü kare ekranın alt çeyreğini kaplar. Adı SRC parametresi tarafından belirlenen çerçevelerin her birine ayrı bir HTML belgesi yüklenir.

Örnekten de görebileceğiniz gibi, çerçevelerin yapısını tanımlamak için etiketler kullanılır. , ve . Bu etiketlerin amacını düşünün.</p> <span> <br><img src='https://i1.wp.com/webnav.ru/books/html4/frames/07.gif' width="100%" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>3 . </b>Örnekte gösterilen çerçeveli HTML belgesini görüntüleyen Netscape tarayıcısının sonucu</span> </i></p> <p><b>Etiket <FRAMESET> </b></p> <p>Çerçeveler, normal bir belgenin BODY bölümü yerine çerçeve içeren sayfalar için kullanılan FRAMESET adlı bir yapıda tanımlanır. Çerçevelerden oluşan web sayfaları, HTML kodlarında BODY bölümü içeremez. Buna karşılık, BODY bölümü olan sayfalar çerçeve kullanamaz.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>BODY bölümü çerçeveli sayfalara uygulanmadığından sayfanın tamamı için arka plan görüntüsü ve arka plan rengini bir bütün olarak ayarlamanın bir yolu yoktur. Bu ayarların BODY etiketinde yazılı BACKGROUND ve BGCOLOR parametreleri tarafından belirlendiğini hatırlayın. Ancak bu, her çerçeveye kendi arka plan parametrelerine sahip belgelerin yüklenmesini engellemez.</span> </i></p> <p>Etiketlerden kapsayıcı <FRAMESET>ve</FRAMESET>çerçeve tanımlarının her bloğunu sarar. Konteynerin içinde <FRAMESET>yalnızca etiketler içerebilir <FRAME>ve iç içe etiketler <FRAMESET>. </p> <p>Etiket <FRAMESET>iki parametreye sahiptir: SATIRLAR (satırlar) ve COLS (sütunlar) ve aşağıdaki gibi yazılır:</p> <p><FRAMESET ROWS="список_ значений" COLS="список_ значений">. </p> <p><i><b>Not</b> </i></p> <p><i> <span>Bazı tarayıcılar ek etiket seçeneklerine izin verir <FRAMESET></span> </i></p> <p>SATIR veya COLS veya her ikisi için değerler tanımlayabilirsiniz. Bu parametrelerden en az biri için en az iki değer tanımlamanız gerekmektedir. Başka bir parametre atlanırsa, değerinin %100 olduğu varsayılır.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>etiketinde ise <FRAMESET>ROWS ve COLS için yalnızca bir değer tanımlanır, bu etiket bir hata olarak kabul edilir ve tarayıcı bunu görmezden gelir. Başka bir deyişle, belirlemek imkansızdır. <FRAMESET>, sadece bir çerçeveden oluşur.</span> </i></p> <p>Etiketin SATIR ve COLS parametre değerlerinin listesi <FRAMESET>piksel, yüzde veya göreli birimlerde belirtilebilen virgülle ayrılmış bir değerler listesidir. Satır veya sütun sayısı, ilgili listedeki değerlerin sayısına göre belirlenir. Örneğin, giriş</p> <p><FRAMESET ROWS="100,240,140"> </p> <p>üç çerçeve kümesi tanımlar. Bu değerler piksel cinsinden mutlak değerlerdir. Başka bir deyişle, ilk kare (ilk satır) 100 piksel, ikincisi 240 ve sonuncusu 140 pikseldir.</p> <p>Çerçeve boyutlarını piksel cinsinden belirtmek çok uygun değildir. Bu, tarayıcıların farklı işletim sistemlerinde ve farklı ekran çözünürlüklerinde çalıştığı gerçeğini hesaba katmaz. Aynı zamanda bazı durumlar için mutlak boyut değerleri tanımlamak, örneğin boyutları bilinen küçük bir resmi göstermek mümkündür. En iyi seçenek, değerleri yüzde veya göreli birimlerde ayarlamak olacaktır, örneğin:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Bu örnek, ekranın tüm genişliği boyunca satırlar halinde düzenlenmiş üç çerçeve oluşturur. Üst sıra kullanılabilir ekran yüksekliğinin yüzde 25'ini, orta sıra yüzde 50'sini ve alt sıra yüzde 25'ini alacaktır. Belirtilen yüzdelerin toplamı %100'e eşit değilse, sonuç tam olarak %100 olacak şekilde değerler orantılı olarak ölçeklenir.</p> <p>Göreceli birimlerdeki değerler şöyle görünür:</p> <p><FRAMESET COLS="*,2*,3*">. </p> <p>Boşluğu orantılı olarak bölmek için bir yıldız işareti (*) kullanılır. Her yıldız bütünün bir parçasını temsil eder. Yıldızların yakınındaki sayıların tüm değerlerini toplayarak (sayı atlanırsa, o zaman bir ima edilir), kesrin paydasını alırız. Bu örnekte, ilk sütun pencerenin toplam genişliğinin 1/6'sını, ikinci sütun 2/6'sını (veya 1/3'ünü) ve sonuncusu 3/6'sını (veya 1/'sini) alacaktır. 2).</p> <p>Herhangi bir karakter içermeyen sayısal bir değerin, bir satır veya sütun için mutlak piksel sayısını tanımladığını unutmayın. Yüzde işaretli bir değer (%) görünümün toplam genişliğinin (COLS için) veya yüksekliğinin (ROWS için) oranını belirler ve yıldız işareti (*) olan bir değer kalan alanın orantılı dağılımını belirtir.</p> <p>Değerleri ayarlamak için üç seçeneğin tümünü kullanan bir örnek:</p> <p><FRAMESET COLS="100,25%,*,2*">. </p> <p>Bu örnekte, ilk sütun 100 piksel genişliğinde olacaktır. İkinci sütun, görüntü alanının tüm genişliğinin yüzde 25'ini, üçüncü sütun kalan alanın 1/3'ünü ve son olarak da son sütun 2/3'ünü kaplayacaktır. Mutlak değerlerin ilk olarak soldan sağa doğru atanması önerilir. Bunları toplam alan boyutunun yüzdeleri takip eder. Son olarak, kalan alanın orantılı bölümlenmesini belirleyen değerler yazılır.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>COLS veya ROWS parametreleri için mutlak değerler kullanıyorsanız, herhangi bir tarayıcı penceresine sığabilmeleri için bunları küçük tutun ve kalan boşluğu doldurmak için en az bir yüzde veya göreli değerle doldurun.</span> </i></p> <p>etiket kullanılıyorsa <FRAMESET>Hem COLS hem de ROWS değerlerine sahip olan bir çerçeve ızgarası oluşturulacaktır. Örneğin:</p> <p><FRAMESET ROWS="*,2*,*" COLS="2*,*"> </p> <p>Bu HTML satırı, üç satır ve iki sütundan oluşan bir çerçeve ızgarası oluşturur. İlk ve son satırların her biri yüksekliğin 1/4'ünü, ortadaki satır ise yarısını alır. İlk sütun genişliğin 2/3'ü ve ikincisi 1/3'ü kadardır.</p> <p>Konteyner <FRAMESET> </FRAMESET> ilk örnekte gösterildiği gibi, benzer başka bir kap içinde yuvalanabilir. Etiketin kullanımını daha sonra düşünün <FRAME>. </p> <p><i><b>Not</b> </i></p> <p><i> <span>Bazı HTML kaynakları, etiketin COLS ve ROWS parametrelerinin <FRAMESET>birbirini dışlar. Ancak, hem Netscape hem de Microsoft Internet Explorer, bunların birlikte kullanılmasına izin verir.</span> </i></p> <p><b>Etiket <FRAME> </b></p> <p>Etiket <FRAME>tek bir çerçeve tanımlar. Bir çift etiketin içine yerleştirilmelidir <FRAMESET>ve</FRAMESET>. Örneğin:</p> <p><FRAMESET ROWS="*,2*"> </p> <p><FRAME> </p> <p><FRAME> </p> <p></FRAMESET> </p> <p>Lütfen etiketin <FRAME>bir kapsayıcı değil ve aksine <FRAMESET>bitiş etiketi yoktur. Tek bir çerçevenin tüm tanımı, bir HTML kodu satırında yapılır.</p> <p>Çok fazla etiket yazılması gerekiyor <FRAME>etiket ayarlandığında kaç ayrı çerçeve tanımlanır <FRAMESET>. Önceki örnekte, etiket <FRAMESET>iki dize verildi, bu nedenle iki etiketin yazılması gerekiyordu <FRAME>. Ancak, çerçevelerin hiçbirinde içerik bulunmadığından bu örnek aslında işe yaramaz!</p> <p>Etiket <FRAME>altı parametreye sahiptir: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING ve NORESIZE.</p> <p><i><b>Not</b> </i></p> <p><i> <span>Bazı tarayıcılar bir dizi ek etiket seçeneğine izin verir <FRAME>. Netscape ve Microsoft Internet Explorer özelliklerine genel bir bakış bu bölümün sonunda verilmiştir.</span> </i></p> <p>İşte bir etiket girişi <FRAME>tüm seçeneklerle:</p> <p><FRAME SRC="url" NAME="window_name" SCROLLING=YES|NO|AUTO </p> <p>MARGINWIDTH="değer" MARGINHEIGHT="değer" NORESIZE></p> <p>Uygulamada etikette <FRAME>nadiren tüm parametreler aynı anda kullanılır.</p> <p>En önemli parametre SRC'dir (kaynak kısaltması). Etikette oldukça sık <FRAME>tek bir SRC parametresi belirtilir. Örneğin:</p> <p><FRAME SRC="url">. </p> <p>SRC parametresinin değeri, bu çerçevede ilk olarak yüklenecek belgenin URL'sini belirtir. Genellikle bu adres, ana belgeyle aynı dizinde bulunan bir HTML dosyasının adıdır. Ardından çerçeve tanımlama satırı şöyle görünecektir:</p> <p><FRAME SRC="sample.htm">. </p> <p>Çerçeve açıklamasında belirtilen herhangi bir HTML dosyasının bir parça değil, eksiksiz bir HTML belgesi olması gerektiğini unutmayın. Bu, belgenin HTML, HEAD, BODY etiketleri vb. içermesi gerektiği anlamına gelir.</p> <p>Elbette, SRC değeri herhangi bir geçerli URL olabilir. Örneğin, bu kitabın yayıncısının sunucusunda bulunan bir GIF görüntüsünü görüntülemek için bir çerçeve kullanılıyorsa, şunu yazmalısınız:</p> <p><FRAME SRC="http://www.bhv.ru/example.gif">. </p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Belgede çerçevelerin yapısını açıklayan herhangi bir içerik belirtmeyin.</span> </i></p> <p>Düz metin, başlıklar, grafikler ve diğer öğeler, çerçevelerin yapısını tanımlayan bir belgede doğrudan kullanılamaz. Çerçevelerin tüm içerikleri, adları SRC etiket parametresi tarafından verilen ayrı HTML dosyalarında tanımlanmalıdır. <FRAME>. </p> <p>NAME parametresi, bu çerçeveye atıfta bulunmak için kullanılabilecek çerçeve adını belirtir. Genellikle bağlantı, aynı sayfada bulunan başka bir çerçeveden ayarlanır. Örneğin:</p> <p><FRAME SRC="sample.htm" NAME="Frame_1">. </p> <p>Böyle bir giriş, başvurulabilecek "Frame_1" adlı bir çerçeve oluşturur. Örneğin:</p> <p>İndirmek için buraya tıkla</p> <p>other.htm dosyasını Frame_1 adlı bir çerçeveye belgeleyin.</p> <p>Çerçevenin adına atıfta bulunan TARGET parametresini not edin. Bir çerçeveye bir isim verilmezse, isimsiz bir çerçeve oluşturulur ve başka bir çerçeveden ona referanslar kullanmak mümkün olmaz. Çerçeve adları alfasayısal bir karakterle başlamalıdır.</p> <p>MARGINWIDTH ve MARGINHEIGHT parametreleri, çerçeve kenar boşluklarının genişliğini ayarlamanıza izin verir. Aşağıdaki gibi yazılmıştır:</p> <p>MARGINWIDTH="değer",</p> <p>burada "değer" piksel cinsinden mutlak değerdir. Örneğin:</p> <p>Bu çerçeve, 5 piksellik bir üst ve alt kenar boşluğuna ve 7 piksellik bir sol ve sağ kenar boşluğuna sahiptir. Burada çerçevelerden değil kenar boşluklarından bahsettiğimizi unutmayın. MARGINWIDTH ve MARGINHEIGHT parametreleri, çerçevenin içinde hiçbir bilginin bulunmayacağı boşluğu tanımlar. Bu parametrelerin izin verilen minimum değeri bire eşittir.</p> <p>Çerçevenin içeriği sağlanan alana tam olarak sığmıyorsa, kaydırma çubukları çerçeveler için otomatik olarak oluşturulacak ve görüntülenecektir. Bu bazen sayfanın tasarımını bozar, bu nedenle kaydırma çubuklarının görüntüsünü kontrol edebilmek güzel olurdu. Bu amaçlar için SCROLLING parametresi kullanılır. Kayıt formatı:</p> <p><FRAME SCROLLING="YES|NO|AUTO">. </p> <p>SCROLLING parametresi üç değer alabilir: YES, NO veya AUTO. AUTO değeri, SCROLLING parametresi yokmuş gibi aynı etkiye sahiptir. EVET değeri, ihtiyaçtan bağımsız olarak kaydırma çubuklarının görünmesine neden olur ve HAYIR - bunları devre dışı bırakır. Örneğin:</p> <p><FRAME SCROLLING=YES>. </p> <p>Tipik olarak, kullanıcı bir sayfayı görüntülerken çerçevelerin boyutunu değiştirebilir. Fare imlecini çerçeve çerçevesine yerleştirirseniz, imleç yeniden boyutlandırma olasılığını gösteren bir şekil alacak ve çerçeveyi istediğiniz konuma taşımanıza izin verecektir. Bu bazen güzel tasarlanmış çerçevelerin yapısını bozar. Kullanıcının çerçevelerin boyutunu değiştirmesini önlemek için NORESIZE parametresini kullanın:</p> <p><FRAME NORESIZE>. </p> <p>Bu parametre herhangi bir değer gerektirmez. Doğal olarak, çerçevelerden biri için NORESIZE parametresi ayarlandığında, bitişik çerçevelerin herhangi birinin boyutu da değiştirilemez. Bazen, çerçevelerin düzenine bağlı olarak, çerçevelerden birinde NORESIZE seçeneğinin kullanılması, herhangi birinin ekranda yeniden boyutlandırılmasını önlemek için yeterli olacaktır.</p> <p><b>Etiket <NOFRAMES> </b></p> <p>Çerçevelerle çalışma yeteneği, ne HTML 3.0 standardında ne de HTML 3.2'de tasarlanmamıştır. Yakın zamana kadar, burada gerçekten kullanılan özellikler birçok WWW sayfasında aktif olarak kullanıldığında, ancak standardın bir parçası olmadığında oldukça tipik bir durum gelişmiştir. Bu, tarayıcıların çerçeveleri yasal olarak görmezden gelebileceği anlamına geliyordu. HTML 4.0 standardının ortaya çıkmasıyla durum değişti - artık çerçeve yapıları için destek standart tarafından düzeltildi. Çoğu modern tarayıcının çerçeveleri HTML 4.O'dan önce bile tanıdığını unutmayın. Ancak çerçeve desteği olmayan tarayıcı kullanan kullanıcılara bilgi verilmesi gerekmektedir. Bu tür tarayıcılar için, bir çift etiket arasına yazılan alternatif bilgileri sağlayabilirsiniz. <NOFRAMES>ve. Şuna benziyor:

</p> <p>HTML belgesinin tamamı</p> <p>

Etiketler arasında herhangi bir şey ve, çerçeve özelliklerine sahip olmayan tarayıcılar tarafından oluşturulacaktır. Çerçeveleri destekleyen tarayıcılar, bu etiketler arasındaki tüm bilgileri yok sayar.

Gerçek hayatta, HTML sayfalarının geliştiricilerinin genellikle etiketin özelliklerini kullanmadığını unutmayın. çerçeve yapıları olmayan sayfalar oluşturmak, ancak HTML belgelerinin iki versiyonunu oluşturmak yeterlidir. Bu seçenek için, başlangıç ​​sayfası genellikle çerçeve yapısı olan veya olmayan bir belge yükleme seçeneği sunar. Ayrıca, kullanıcının seçimine bağlı olarak belgenin yalnızca bir sürümü yüklenir.</p> <p><b><span>Çerçeve yapılarının tanımının özellikleri</span> </b></p> <p>Çerçeve yapılarının tanımlanmasında kullanılan en önemli etiketlerden biri etikettir. <FRAME>. Etiketin, hiçbiri gerekli olmayan veya diğerlerine bağlı olmayan bir dizi parametresi vardır, ancak bunları yazarken akılda tutulması gereken birkaç şey vardır.</p> <p>Herhangi bir belgenin daha sonra yüklenebileceği bir çerçeve oluşturmak gerekirse, örneğin başka bir çerçeveden bir komutla, etikette olması gerektiği ortaya çıktı. <FRAME>SRC parametresini yazın. Eğer bu</p> <p>parametre atlanırsa, çerçeve oluşturulmayacak, ancak bunun için boşluk bırakılacaktır. Örneğin, şöyle bir giriş <FRAME NAME="B">oldukça mantıklıdır ve başlangıçta içine hiçbir belgenin yüklenmediği "B" adlı bir çerçeve tanımlayabilir. Ancak, SRC parametresinin olmaması nedeniyle, bu ada sahip bir çerçeve bulunmayacaktır, bu nedenle içine herhangi bir belge yükleme girişimleri başarısız olacak ve bu çerçeve için ayrılan penceredeki alan boş olacaktır. Ayrıca, bazı tarayıcılar (örneğin, Windows 3.xx için Microsoft Internet Explorer sürüm 3) böyle bir çerçeveye bir belge yüklemeye çalışırken bir hata mesajı verir ve çıkar.</p> <p>SRC parametresini ayarlama gereksinimi mantıksal açıklamaya meydan okur, bu nedenle bu gerçeği not etmek en iyisidir. Daha sonra en baştan bu çerçeveye yüklenmesi gereken herhangi bir belge olmasa bile SRC parametresinde bir dosyanın adını belirlemelisiniz. Örneğin, böyle bir dosya, içeriği mümkün olan minimum doğru HTML belgesi olacak olan empty.htm (boş - boş) olarak adlandırılabilir, yani:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><BODY> </p> <p></BODY> </p> <p></HTML> </p> <p>Bu belgeyi iki etikete indirgeyebilirsiniz: <HTMLX/HTML>, bu da geçerli bir HTML belgesi olacaktır. "Boş" belgenin boyutundaki maksimum küçültme yolunu izleyerek, kendinizi boşluk karakterini (veya görüntülenemeyen herhangi bir başka karakteri) depolayan, boyutu bir bayta eşit olan bir dosyayla sınırlayabilirsiniz. Bu dosya geçerli bir HTML belgesi olmayacak, ancak çoğu tarayıcıda sorunlara neden olmayacak. Netscape tarayıcısı tarafından yüklendiğinde, belgenin veri içermediğine dair bir uyarı mesajı (Şekil 5.4) verildiğinden, böyle bir dosyanın boyutunun sıfıra daha da düşürülmesi haklı değildir.</p> <span> <img src='https://i1.wp.com/webnav.ru/books/html4/frames/08.gif' height="119" width="332" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>4 . </b> Sıfır uzunlukta bir dosya yüklerken uyarı mesajı</span> </i></p> <p>Bu durumda, tuşuna basarak bu mesaja cevap vermek gerekir. <Enter>veya fare düğmesi. Belgeyi yeniden yüklediğinizde veya tarayıcı görünüm portunu yeniden boyutlandırdığınızda, mesaj yeniden görünecektir.</p> <p>Var olmayan bir dosyanın adını da belirtebilirsiniz, ancak bu durumda Netscape tarayıcısı, daha fazla çalışmayı engellemeyecek, ancak benzer rahatsızlıklara yol açacak bir uyarı mesajı görüntüler (Şekil 5.5).</p> <span> <img src='https://i1.wp.com/webnav.ru/books/html4/frames/09.gif' height="139" width="314" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>5 . </b> Var olmayan bir dosya yüklemeye çalışırken uyarı mesajı</span> </i></p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Bir bayt boyutunda ve boşluk karakteri içeren boş.htm adlı bir dosya oluşturun. Etiket yazarken bunu bir kural haline getirin <FRAME>belirli bir dosyanın adını belirtmek hemen mümkün değilse, her zaman SRC=empty.htm belirtin.</span> </i></p> <p>Çerçeve örnekleri</p> <p>Bu bölüm, çerçeve tanımlarının bazı tipik örneklerini sağlar.</p> <p>Bu bölümün başında verilen örneğe dönelim (Şekil 5.3). Bu örnek, iç içe geçmiş bir yapı kullanır <FRAMESET>. Harici etiket <FRAMESET>görünümün toplam yüksekliğinin yüzde 25, 50 ve 25'inde sırasıyla üç satır yüksekliğinde oluşturur:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Bu kapsamda ilk ve son satırlar basit çerçevelerdir:</p> <p><FRAME SRC="header.htm"> <FRAME SRC="footer.htm"> </p> <p>Bu çizgilerin her biri ekranın tüm genişliğini doldurur. Ekranın üst kısmındaki ilk satır yüksekliğin yüzde 25'ini, alttaki üçüncü satır da yüksekliğin yüzde 25'ini kaplıyor. Ancak aralarında iç içe geçmiş bir etiket bulunur. <FRAMESET>: </p> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p>Bu etiket, ekranın orta sırasının bölündüğü iki sütunu tanımlar. Bu iki sütunu içeren satır, dış etikette tanımlandığı gibi ekran yüksekliğinin yüzde 50'sini kaplar. <FRAMESET>. Sol sütun ekran genişliğinin yüzde 25'ini kullanırken, sağ sütun genişliğin kalan yüzde 75'ini kaplıyor.</p> <p>Bu sütunlar için çerçeveler, iç içe geçmiş bir etiket çifti içinde tanımlanır <FRAMESET>ve</FRAMESET>, ilk ve son satır için çerçevelerin tanımı bu çiftin dışında, ancak dış satırın içinde yazılır. <FRAMESET>uygun sırada.</p> <p>Yuvalanmış bir blok düşünüyorsanız, kayıt yapısını anlamak kolaydır. <FRAMESET>ayrı bir unsur olarak <FRAME>. Örneğimizde, dış etiket <FRAMESET>üç çizgi tanımlar. Her birinin tamamlanması gerekir. Bu durumda, önce ayrı bir elemanla doldurulurlar. <FRAME>, sonra - iç içe blok <FRAMESET>iki sütun genişliğinde ve ardından bir eleman daha <FRAME>. </p> <p>Şimdi, etiketin SRC parametresinin değeri olarak mümkün olup olmadığı sorusu ortaya çıkabilir. <FRAME>sırayla çerçeve yapısının bir açıklamasını içeren dosyanın adını ayarlayın. Evet, izin veriliyor. Bu durumda, etiket <FRAME>çerçeve yapısı olan ve tek bir çerçeve olarak kullanılan bir HTML belgesine işaret etmek için kullanılacaktır.</p> <p>Örneğe geri dönelim ve iç içe geçmiş <FRAMESET>ayrı için <FRAME>. Doğal olarak, iç içe geçmiş olduğundan, bir yerine iki HTML dosyasına ihtiyacınız olacak. <FRAMESET>artık ayrı bir belgede yer alacaktır. İşte ilk (harici) dosyanın içeriği:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <p><FRAME SRC="frameset.htm"> </p> <p><FRAME SRC="footer.htm"> </p> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>Tarayıcınız çerçeveleri görüntüleyemiyor</p> <p>

İkinci dosya olan frameset.htm aşağıdaki kodu içerir:

Bu durumda, üst ve alt sıralar aynı şekilde davranır. Ama ikinci sıra artık diğerleri gibi basit bir çerçeve. Ancak, SRC parametresinin işaret ettiği frameset.htm dosyası kendi çerçeve yapısını tanımlar. Sonuç olarak, ekran tam olarak orijinal örnektekiyle aynı şekilde görüntülenecektir.

Not

İç içe yapılar oluşturmak temelde mümkündür etiketleri kullanma aynı çerçeve yapısı dosyasına atıfta bulunur, ancak bu yapılmamalıdır. Bu durum sonsuz özyinelemeye yol açacak ve daha fazla çalışmaya izin vermeyecektir. Bazı tarayıcılar bu durumu kontrol eder ve çökme ihtimalini engeller. SRC'ye kaydedilen adres, çerçeve hiyerarşisindeki önceki adreslerden biriyle eşleşirse, SRC parametresi hiç yokmuş gibi yoksayılır.

Tavsiye

İç içe yapıları kullanma çeşitli kombinasyonlarda, akla gelebilecek hemen hemen her çerçeve ızgarasını oluşturmak mümkündür. Ancak, kullanıcı dostu bir arayüz oluşturmanız gerektiğini ve sadece çerçevelerle çalışma yeteneğinizi göstermeniz gerektiğini unutmayın.

Düzenli bir dikdörtgen çerçeve ızgarası oluşturmaya bir örnek:

Bu örnek, iki satır ve üç sütunlu bir çerçeve ızgarası oluşturur (Şekil 5.6). Altı çerçeve kümesi tanımlandığından, altı ayrı çerçeve tanımının verilmesi de gereklidir. . Çerçeve tanımlarının satır satır verildiğine dikkat edin. Bu ilk etiket ilk satırdaki ilk sütunun, ikinci sütunun ikincisinin içeriğini tanımlar ve üçüncü, ilk satırın son sütununun verilerini tanımlayan sonlar. Son üç kare daha sonra ikinci satırın sütunlarını doldurur.


Pirinç. 5. 6 . 2'ye 3 çerçeve ızgarası

Ayrıca COLS parametresindeki yüzde değerlerinin toplamının 100 değil, sadece yüzde 90 olduğunu unutmayın. Endişelenecek bir şey yok, çünkü tarayıcı bu çelişkiyi ortadan kaldırmak için sütunların genişliğini orantılı olarak otomatik olarak değiştirecektir.

Çerçeveleri kullanırken gezinme özellikleri

Çerçeve yapısına sahip belgelerle çalışmak, bilmeniz gereken bazı özelliklere sahiptir. JB'nin bu özellikleri esas olarak belgeler yüklenirken gezinmede kendini gösterir. Gezinmedeki önemli farklılıklar, yalnızca farklı tarayıcıların değil, aynı tarayıcının farklı sürümlerinin de özelliğidir.

Netscape tarayıcı 3.x ve 4.x sürümleri, Geri düğmesine bastığınızda, belgeyi en son üzerinde işlem yapılan çerçeveye döndürür. Çerçevelerin herhangi birinde bağlam menüsü çağrılırken Geri öğesi seçilirse aynı eylemler gerçekleştirilecektir. Bağlam menüsünün sağ fare düğmesine basılarak çağrıldığını hatırlayın. Böylece bağlam menüsü hangi çerçevelerde çağrılırsa çağrılsın Geri düğmesine basıldığında son işlem başka bir çerçevede gerçekleştirilmiş olsa bile iptal edilecektir.

Netscape 2.x tarayıcısı tamamen farklı bir şekilde çalıştı. Bağlam menüsü, son işlemi geri almak yerine belgeyi geçerli çerçeveye döndüren Çerçeveye Dön komutunu içerir.

Netscape'in herhangi bir sürümünde, seçilen çerçevede bulunan belgeye yer işareti koyabilirsiniz. Bunu yapmak için, yukarıda belirtilen içerik menüsünden Yer İşareti Ekle modunu seçin. Tarayıcının ana menüsünden Yer İşareti Ekle modu basitçe seçilirse, belgede çerçevelerin yapısını açıklayan bir yer işareti yapılacaktır. , bu tam olarak belirli bir çerçeveye işaret etmeyecektir. Belgede ayrı bir çerçevenin yer imi oluşturma olasılığı, bu yer iminin daha fazla kullanılmasının aynı çerçeve yapısında sonuçlanacağı anlamına gelmez. Yer iminin gösterdiği belge, çerçeve yapısının dışında tam bir pencereye yüklenecektir.

Çerçeveler arasındaki etkileşim

Web'de gezinmenin en basit biçimi, sayfaları okumaktan ve tarayıcı penceresindeki geçerli belgeyi başka bir belgeyle değiştiren bağlantıları takip etmekten oluşur. Çerçevelerle çalışırken, belgeleri yüklemek için daha kullanıcı dostu bir şema düzenleyebilirsiniz.

Çerçeveler arasındaki etkileşim, başka bir çerçeveden komutlarla seçilen çerçeveye belgelerin yüklenmesi olasılığından oluşur. Bunun için TARGET tag parametresi kullanılır.<А>. Bu parametre, bu bağlantının işaret ettiği belgenin yükleneceği çerçevenin veya tarayıcı penceresinin adını belirtir. Varsayılan olarak, TARGET parametresi yoksa belge mevcut çerçeveye (veya pencereye) yüklenir. Bu varsayılan, etiketi ayarlayarak geçersiz kılınabilir TARGET parametresinin istenen değeri ile. Varsayılan yükleme çerçevesinin adını belirtmek, çok sayıda bağlantının belgeleri belirli bir çerçeveye yönlendirmesi gerektiğinde kullanışlıdır. Bu bölümün başında, ilgili belgeleri bitişik bir çerçeveye yükleyen bağlantıların bir çerçevede içindekiler tablosu ile tipik bir durum gösterilmiştir (Şekil 5.1). Bu örnek için bölümde LIST.htm adlı dosyaya aşağıdaki satırı yazmanız önerilir: . Aksi takdirde, her bağlantı için TARGET parametresinin belirtilmesi gerekir.

Çerçeve adları Latince bir harf veya sayı ile başlamalıdır. Ad, mevcut bir pencere veya çerçevenin adı olabilir veya altında yeni pencerenin açılacağı yeni bir ad olabilir. Belirtildiğinde özel eylemler gerçekleştiren dört ayrılmış ad vardır. Bu adlar bir alt çizgi (_) ile başlar: "_blank", "_self", "_parent" ve "_top". Alt çizgi ile başlayan başka adlara izin verilmez.

HEDEF="_blank" - belgenin yeni bir pencerede yüklenmesini sağlar. Bu pencerenin bir adı olmayacak ve bu nedenle içine başka bir belge yüklemek mümkün olmayacak.

HEDEF="_self" - belge geçerli çerçeveye (veya pencereye) yüklenecektir. Böyle bir giriş, etiket tarafından verilen varsayılanı atlamak için kullanılmalıdır. .

HEDEF="_top" - Belgenin tam pencerede yüklenmesine neden olur. Belge zaten tam penceredeyse, bu değer ile aynı etkiye sahiptir."_öz".

HEDEF="_parent" - belgenin, geçerli çerçevenin ana çerçevesi tarafından işgal edilen alana yüklenmesine neden olur. Ana çerçeve yoksa, bu parametre değeri ile aynı etkiye sahiptir."_tepe" .

Not

Bazı HTML kaynakları hatalı olarak, bir çerçevenin ebeveyni yoksa "_parent" öğesinin "_self" ile eşdeğer olduğunu belirtir. Böyle bir ifade her zaman doğru değildir.

Uyarı

Ayrılmış çerçeve adları "_blank", "_self", "_parent" ve "_top" küçük harflerle İngilizce yazılmalıdır. Bu titizliğin Netscape'e özgü olduğunu unutmayın. Microsoft Internet Explorer, her durumda yazılan ayrılmış adları doğru şekilde tanır.

Burada çerçeveler ve tek tek tarayıcı pencereleri arasındaki etkileşim örnekleri verilmiştir. Aşağıdaki HTML kodunu göz önünde bulundurun:

Çerçeveleri Kullanma

Bu HTML belgesi, "A", "B" ve "C" adlı üç çerçeveden oluşan bir yapıyı tanımlar. Çerçeveler arasındaki bağlantıları düzenlemek için daha sonra çerçeve adları gerekecektir. Bu örnekte "A" adlı çerçeveye başvurulmayacağına ve dolayısıyla adsız bırakılabileceğine dikkat edin. Yukarıdaki belge tarayıcıya yüklendiğinde, çerçeveler SRC parametresi tarafından belirtilen dosyalarda bulunan bilgileri görüntüleyecektir. "A" çerçevesi, frame_a.htm dosyasının içeriğini alacak ve diğer iki çerçeve, görüntü verisi olmayan boş.htm dosyasından veri alacak. Çerçevelerin yapısını tanımlayan HTML belgesinin bir bölümü olmadığını bir kez daha hatırlayın. .

İşte frame_a.htm adlı dosyanın metni:

A çerçevesi için belge

D

4. Belgeyi yeni pencerede yükleme

5. Bir belgeyi tam pencerede yükleme

6. Belgeyi geçerli çerçeveye yükleme

Bu belge, bölümleri olan eksiksiz bir HTML belgesidir. ve ve sırayla, frame_a.htm dosyasıyla aynı dizinde bulunan test.htm adlı bir dosyaya bağlantılar içerir.

test.htm dosyasının metni son derece basittir:

test belgesi

Belge metnini test edin

İçeriği "A" çerçevesine yüklenen frame_a.htm dosyası, TARGET parametresinin farklı bir değeriyle aynı test.htm dosyasına altı referansa sahiptir.

Bu bağlantılar uygulandığında ortaya çıkacak eylemleri düşünün. TARGET="B" ile ilk bağlantı, test.htm dosyasını "in" adlı bir çerçeveye yükleyecektir. Altı bağlantıdan herhangi birini uyguladıktan sonra, Netscape tarayıcısının altısını da aynı dosyaya işaret ettikleri için otomatik olarak farklı bir renkte renklendireceğini unutmayın. Microsoft Internet Explorer, yalnızca gerçekten uygulanan bağlantıları işaretler.

İkinci bağlantı, "C" çerçevesi için aynı şeyi yapacaktır. Başlangıçta "B" ve "C" çerçevelerinde hiçbir şey yoktur (daha doğrusu boş bir boş.htm dosyasının içeriği yüklenir). Birinci ve ikinci bağlantıların uygulanması bu çerçeveleri dolduracaktır.

TARGET=MD" değerine sahip üçüncü bağlantı, "D" adında yeni bir tarayıcı penceresi oluşturacak ve içine test.htm dosyasını yükleyecektir. Bu bağlantının biçiminin ilk ikisinden farklı olmadığını unutmayın. iki durumda, çerçeve yapısı ile dosyada isimleri tanımlanmış mevcut çerçevelere referans verildi ve bu durumda var olmayan bir nesneye referans verildi. Bu bağlantı en az bir kez çalıştırılırsa , daha sonra "D" adında bir pencere oluşturulacak ve bağlantıyı takip ederek tekrarlanacak ve verileri yalnızca mevcut "D" penceresine yeniden yükleyecektir. bu link Şekil 5.7 ilk üç linkin uygulanmasından sonraki durumu göstermektedir.Ekrandaki pencerelerin konumu ve boyutlarının kullanıcı tarafından tanımlandığını hatırlayın.

Pirinç. 5. 7 . Sol çerçevede bulunan ilk üç bağlantının sıralı olarak uygulanmasından sonra elde edilen durum

TARGET="_top" ile beşinci bağlantı, belgeyi tüm çerçeve yapısı yerine tam bir pencereye yükleyecektir. TARGET parametresinin bu değeri ile yeni bir pencere oluşmaz. Geri düğmesine basılarak çerçeve yapısına geri dönülebilir.

Not

Çerçevelerin veya tarayıcı pencerelerinin adları, indirilebilir belgelerin adlarıyla karıştırılmamalıdır. Çerçeve adları görünümün hiçbir yerinde görünmez, yalnızca etkileşimi düzenlemek için gereklidir ve bu nedenle kullanıcıdan gizlenir. Bunları yalnızca HTML dosyalarının kaynak metnini görüntülerken görebilirsiniz.

Tavsiye

Yüklenen belgelerin adlarının etiket tarafından belirtildiğini hatırlayın. . Belge tam bir pencerede yüklenirse, adı tarayıcı penceresinin en üstünde görüntülenir. Belge bir çerçeveye yüklenirse, başlığı hiçbir yerde görüntülenmez ve belgenin çerçeve yapısının açıklamasını içeren belgenin başlığı pencerenin üst kısmında yer almaya devam eder. Bu nedenle, çerçevelerde görüntülenmesi amaçlanan belgelerin isimleri çok önemli değildir. Örneğin, Şek. 5.7 aynı belge "iç" ve "C" çerçevelerine ve ayrıca "D" adlı ayrı bir pencereye yüklenirken belgenin adı yalnızca "D" penceresinde görünür. Bununla birlikte, örneğin bir çerçeve içinde bulunan bir belgede veya görüntülenen belgeler listesinde yer işareti oluştururken Yer İşaretleri listesinde görünebileceklerinden, çerçevelere yüklenen belgelerin adlarının atlanması pek tavsiye edilmez.</span> </i></p> <p>Çerçeveler ve tarayıcı pencereleri arasındaki etkileşimi düzenlemenin başka bir ilginç örneğini düşünün. Yüklenen ana HTML belgesinin metni olsun:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Pencere adlarını kullanma

Çerçevelenmiş belgeyi yeni bir pencereye

Çerçeveleri Kullanma

Ana belge standart bir HTML belgesiyse, ana belgedeki bağlantıdan yüklenen çerçeve.htm dosyasının çerçeve yapısını ve sırayla boş.htm dosyasına bağlantılar içerdiğini unutmayın.

Ana belgeyi yükledikten sonra, tarayıcı penceresi Şekil 2'de gösterildiği gibi görünecektir. 5.8 (sol pencere). Belgenin tamamı iki bağlantıdan oluşur. Gelelim ilk linke. Test.htm dosyasının metninin görüneceği "D" adında yeni bir pencere oluşacaktır (Şekil 5.8, sağ pencere). Bu bağlantıyı tekrarlamak, yalnızca "D" penceresindeki verileri yeniden yükleyecektir.


Pirinç. 5.8. Etkileşimli çerçeve pencerelerine bir örnek

Gelelim ikinci linke. "C" ve "D" adlı iki çerçeveyi tanımlayan frame.htm dosyasını yükleyecek yeni bir adsız pencere oluşturulur (Şekil 5.8, alt pencere). Her iki çerçevede de hiçbir şey yoktur (daha doğrusu boş bir belge empty.htm yüklenir). Artık "D" adında bir açık pencere ve bir tanesi de "D" olarak adlandırılan çerçeveli bir pencere olduğunu unutmayın. İlk bağlantıya geri dönelim. İlk durumdan farklı olarak, veriler "D" penceresine değil, "D" adlı çerçeveye yüklenecektir. Açıklanan tüm eylemlerin sonucu Şekil 2'de gösterilmektedir. 5.8.

Not

Açılan pencerelerin ve içeriklerinin görünümü, bazen kullanıcının eylemlerinin sırasına bile bağlı olabilir. Davranışı tahmin edilmesi zor olan belgelerle çalışmak, genellikle adil kullanıcı rahatsızlığına neden olur ve geliştiriciler tarafından veri yapısının dikkatli kullanılmadığını gösterir.

Eylemlerin sırasını değiştirirseniz, yani önce ikinci bağlantıyı, ardından ilkini yürütün, ardından "D" adlı pencere hiç görünmeyecektir! Bunun nedeni, ikinci bağlantının uygulanmasından sonra "D" adlı bir çerçeve oluşacak ve ilk bağlantının yeni bir pencere açmasına gerek kalmayacaktır.

Bu örnek kesinlikle bir rol modeli değildir, yalnızca etkileşimi organize etmenin olası karmaşıklığını gösterir. Aksine, özellikle kullanıcının eylemlerinin sırasına bağlı olarak sonucun değiştiği durumlar yaratmamak için verilerin organizasyonunu gereksiz yere karmaşıklaştırmamaya çalışmalısınız.

Tavsiye

Çerçeve ve pencere adlarında çarpışmalardan kaçının. Aynı isme sahip çerçevelerin olması teknik olarak yasak olmasa da bu durum kafa karışıklığına neden olabilir.

Uyarı

Çerçeve ve pencere adları büyük/küçük harfe duyarlı olarak karşılaştırılır. Yani örneğin "frame_1" ve "Frame_1" adlı kareler farklı olacaktır.

Çerçeveler arasında daha karmaşık etkileşim örnekleri

Yukarıda çerçeveler arasındaki etkileşimin oldukça basit tipik örnekleri ele alındı. Yeni pencereler oluşturma, tek tek çerçevelerin içeriğini değiştirme ve tüm çerçeve yapısının imhasıyla bir belgeyi tam bir pencereye verme görevleri göz önünde bulunduruldu. Özel çerçeve adlarının yanı sıra "_blank", "_self" ve "_top" ayrılmış adlarının kullanımına ilişkin örnekler verilmiştir. Son ayrılmış adın "_parent" kullanımı daha karmaşıktır ve aşağıda açıklanacaktır.

Bu bölümde, çerçeveler arasındaki etkileşim için daha karmaşık seçenekler ele alınacaktır. Özellikle, birkaç bitişik çerçevenin içeriğinin değiştirilmesi uygulanacaktır.

Bu bölümde daha önce bahsedilmiş olan çerçevelerin en yaygın kullanımlarından biri, biri bağlantıların listesini içeren ve diğeri belgelerin kendilerinin yüklendiği iki çerçeve durumudur (Şekil 5.1).

Sorunun ifadesini genişletmeye çalışalım. Bölümlere ayrılmış bölümlerden oluşan yeterince büyük bir belgenin içeriğini ekranda görüntülemenin gerekli olduğunu varsayalım. Tipik bir örnek, herhangi bir konudaki teknik literatürdür. Böyle bir belgenin ekranda istenilen temsilini anlatalım. Ekranı, biri kitap bölümlerinin bir listesini, ikincisi - seçilen bölümün bölümlerinin bir listesini ve üçüncüsü - seçilen bölümün metnini içeren üç çerçeveye bölelim. İkinci çerçevede bir bağlantı seçtiğinizde üçüncü çerçevenin içeriği değişmelidir. Bu gereksinimin uygulanması önemsizdir. İlk karede bir bağlantı seçtiğinizde, hem ikinci hem de üçüncü karelerin içeriği aynı anda değişmelidir. İlk bakışta, bu görevin HTML'de uygulanması imkansızdır (JavaScript programlama vb. kullanılmadan), çünkü bağlantı yürütüldüğünde, iki veya daha fazla değil, yalnızca bir belge yüklenir. Ancak, bu sorunun çözümü oldukça mümkündür.

Basit bir örnek kullanarak böyle bir sorunu çözmek için olası bir şema gösterelim. Diyelim ki ekranda üç çerçeve görüntülemek ve bunlara bazı belgeler yüklemek gerekiyor. Bu çerçevelerin her birinde, örneğin uygulaması iki çerçevenin içeriğini değiştiren bağlantılar oluşturma görevini belirleyelim. İlk çerçeve pencerenin genişliğinin %50'sini ve yüksekliğinin %100'ünü kaplasın ve pencerenin sol tarafında konumlansın. Pencerenin sağ yarısı da yatay olarak ikiye bölünmüş ve iki çerçeve daha içeriyor. Böyle bir yapı aşağıdaki kodla tanımlanır:

Bu HTML kodu yardımı ile gerekli yapı oluşturulacaktır, ancak görevin çözümü imkansızdır. İç içe yapının kaldırılması gerekiyor ayrı bir dosyaya dönüştürün ve bu HTML kodunda oluşturulan dosyaya atıfta bulunan bir çerçeveyi tanımlayın. Ardından orijinal belgenin metni şöyle görünecektir:

Çerçeveler arasındaki etkileşime bir örnek

İç içe yapıya sahip oluşturulan dosya 1_2.htm olarak adlandırılır ve aşağıdaki kodu içerir:

1-2

İlk bakışta, kesinlikle hiçbir şey değişmedi. Her iki durumda da left.htm, 1.htm ve 2.htm belgelerinin sırasıyla yüklendiği üç çerçeve vardır. Ancak çerçeveler etkileşime girdiğinde fark ortaya çıkacaktır. İlk durumda çerçevelerin hiçbirinin bir ana çerçevesi yoksa, ikinci durumda iki çerçevenin ebeveyni "İki_Çerçeve" adlı çerçeve olacaktır. Bu nedenle, iki çerçeveden herhangi birinde TARGET parametresinin değeri "_parent" değerine eşit olan bir bağlantı uygularsanız, sonuç birinci ve ikinci durum için farklı olacaktır. İlk durumda, böyle bir bağlantının uygulanması, belgenin tam pencereye yüklenmesiyle, mevcut çerçeve yapısının değiştirilmesiyle sonuçlanacaktır. Burada "_parent" değer özelliği devreye girer ve üst çerçeve yoksa "_top" gibi davranır. İkinci durumda, ekranın sağ yarısını kaplayan ve esas olarak iki çerçeveden oluşan "Two_Frames" adlı çerçeve değiştirilecektir.

İkinci durum, başvurulabilecek "Two_Frames" adlı bir çerçevenin varlığıyla da ilkinden biçimsel olarak farklıdır. Sadece bu özellik sorunu çözmemize izin verecek.

İlk olarak dikkate alınan çerçevelerden ilkine yüklenen left.htm dosyasının içeriği:

sol çerçeve

pencerenin sağ tarafında bulunan iki çerçeve içinde belgeler.

Belge konumu için bir seçenek belirleyin:

1 _2.htm" TARGET="Two_Frames">Seçenek 1-2

Seçenek 2-1

2-1<TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="*,*"> </p> <p><FRAME SRC="2.htm"> </p> <p><FRAME SRC="1.htm"> </p> <p></FRAMESET> </p> <p></HTML> </p> <p>1_2.htm ve 2_1.htm dosyalarının metninin yalnızca 1.htm ve 2.htm dosyalarına başvuru sırasına göre farklılık gösterdiğine dikkat edin.</p> <p>Şimdi sol çerçeveye yüklenen bir belgenin yapısını düşünün. TARGET="Two_Frames" parametresiyle iki bağlantısı vardır. Bu bağlantılardan herhangi birinin uygulanması, "Two_Frames" çerçevesinin (bu, ekranın sağ yarısıdır) konumunda iki çerçeve oluşturur, 1.htm ve 2.htm belgelerini bir sırayla yükler. Böylece 1-2 seçeneği seçildiğinde, belge 1.htm sağ üst çerçeveye, 2.htm ise sağ alt çerçeveye yüklenir. 2-1 seçeneğinin seçilmesi belgelerin sırasını değiştirir. Sonuç olarak, alternatif seçenek seçimi, iki çerçevedeki belgelerin yer değiştirdiği izlenimini yaratır. Bu tam olarak elde etmeye çalıştığımız etkidir (Şekil 5.9).</p> <p>1.htm ve 2.htm belgelerinin içeriği, açıklanan örnek için önemsizdir. Ancak örnek olarak, önemsiz belgeler yerine, aynı eylemleri uygulayan bağlantılara sahip belgeler oluşturalım.</p> <p>Metin dosyası 1.htm:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Belge 1

Belge 1

Seçenek 1-2

Seçenek 2-1

Dosya 2.htm, yalnızca başlıkta 1.htm'den farklıdır.

Burada, ana çerçeveye işaret eden TARGET="_parent" değerine sahip iki bağlantı vardır. Bu referanslar ayrıca ana çerçevenin adıyla açıkça yazılabilir, yani TARGET="Two_Frames", ancak örtük adı kullanmak genellikle daha uygundur. Örneğin, bağlantılar sol çerçeveden (belge left.htm) çıkarılmışsa, ana çerçeve yapısının açıklamasında verilen "Two_Frames" çerçeve adı atlanabilir. Bu, adsız bir çerçeve oluşturur, ancak 1.htm ve 2.htm belgelerindeki TARGET="_parent" içeren bağlantılar yine de düzgün çalışır.

Tavsiye

Mümkün olduğunda örtük çerçeve adları kullanın. Örneğin, "ebeveyn", "üst", "kendi" yerine belirli isimler vermek.


Pirinç. 5.9. Yüklenen belgeleri değiştirmenin etkisiyle etkileşimli çerçevelerin pencereleri

Çerçeveler ve tarayıcı pencereleri arasındaki fark

Çerçevelerle çalışırken, bir tarayıcı penceresinin çerçeve yapısını düzenlemek ile birden çok pencere oluşturmak arasındaki temel fark sorusu ortaya çıkar. İlk bakışta, pencereler ve çerçevelerle çalışmak çok benzer olduğu için, birden çok pencere oluşturma yeteneği ile idare edebilecekmişsiniz gibi görünebilir. Her çerçevenin yüklenmesi için ayrı bir belge gerekir, bağımsız olarak kaydırma özelliği vardır ve diğer çerçevelerden gelen komutlarla değiştirilebilir. Çerçevelerin bu özellikleri, tarayıcı pencerelerinin özelliklerine benzer. Tablo şeklinde bir veri organizasyonu ile böyle bir hareket özgürlüğü elde etmek imkansızdır.

Ancak, çerçeveler ve pencereler arasında önemli bir fark vardır. Çerçeve organizasyonu ile, görünüm alanının çerçevelere bölünmesi, boyutları ve konumlarını gösteren HTML belgesinin kendisi tarafından gerçekleştirilir. Kullanıcı, yapılarının açıklamasında yasaklanmamışsa, görüntülerken çerçevelerin boyutunu değiştirebilir. Pencerelerin düzeni, Windows sistemiyle çalışmak için genel kurallar tarafından belirlenir - kullanıcı herhangi bir pencereyi tam ekrana açabilir, bir simgeye küçültebilir veya boyutu ve konumu keyfi olarak ayarlayabilir. Pencereler, çerçevelerin aksine üst üste gelebilir. Bu kadar çok seçeneğin dezavantajı vardır - her seferinde pencereleri manuel olarak ekrana yerleştirmeniz ve en uygun görüntüleme seçeneğini elde etmek için yeniden boyutlandırmanız gerekir. Çerçeveler söz konusu olduğunda, boyut oranının optimal varyantı genellikle geliştirici tarafından çerçeve yapısının açıklamasında belirtilir ve çoğu zaman değiştirilmesi gerekmez.

Tavsiye

Çerçeveler, tek tek pencerelerle çalışmanın tüm özelliklerini sağlamasa da, rasyonel düzenlemeleri kullanıcı için maksimum rahatlığı yaratacaktır.

Pencerelerle çalışmanın başka dezavantajları da vardır. Her pencereyi oluşturmak çok fazla bellek gerektirir. Esasen, Netscape'de her pencere tarayıcının başka bir kopyasıdır ve eksiksiz bir düğme ve menü seti ile birlikte gelir. Aynı durum Microsoft Internet Explorer için tipiktir.

Tarayıcılarda tek tek pencerelerin organizasyonunun farklı şekilde yapıldığını unutmayın. Belgeli yeni bir pencere oluşturmak, Windows sisteminde çalışan görevler listesini görüntülerken görülebilen ayrı bir görevin ortaya çıkmasına neden olur. Bu nedenle, pencereler arasında geçiş yapmak, örneğin bir klavye kısayoluna basarak farklı görevler arasında geçiş yapmakla aynı şekilde yapılabilir. +.

Birçok popüler Windows uygulamasında bir belge penceresi kavramı vardır. Örnekler, Microsoft Word kelime işlemcisini veya Paint Shop Pro grafik programını ve diğerlerini içerir. Bu uygulamaların her biri, aynı anda birden fazla veri penceresinin kullanılmasına izin verir ve tipik olarak, pencereleri listeleyen ve bunlar arasında geçiş yapmanızı sağlayan bir Pencere menüsüne sahiptir. Bu tür uygulamalarda yeni bir pencerenin oluşumu genellikle mevcut bir dosya açıldığında veya yeni bir dosya oluşturulduğunda meydana gelir. Ancak bu programlarda yeni bir pencere oluşturmak yeni bir çalışan görev oluşturmaz.

Netscape ayrıca mevcut pencereleri listeleyen bir Pencere menüsüne sahiptir. (Netscape 4.x sürümlerinde bu özellik, Communicator menüsündeki Pencere öğesi tarafından sağlanır.) 5.8. Bu örnekte, her biri temelde ayrı bir tarayıcı olan üç pencere aynı anda açıktır. Ancak, kullanıcı için hepsi aynı tarayıcının birbiriyle etkileşime girebilen pencereleridir. Bu pencerelerin herhangi birinde Pencere menüsünü açabilir ve üç pencerenin bir listesini görebilirsiniz. Şek. 5.10, alt pencere için bu yapıldığında durumu gösterir.


Pirinç. 5.10. Netscape tarayıcısında çerçeve pencerelerini açma

Pencerelerin her biri ayrı ayrı kapatılabilir (Dosya menüsündeki Kapat komutu kullanılarak). Herhangi bir pencerede tarayıcıyla çalışmayı bitirmek için Dosya menüsünü açabilir ve Çıkış öğesini çalıştırabilirsiniz (Şekil 5.11).

Aynı anda birkaç pencere açılmışsa, hepsi kapatılacaktır, ancak bundan önce bir uyarı mesajı görünecektir (Şekil 5.12).

Her tarayıcı penceresinin kendi ayarları olabilir (hepsi olmasa da). Şek. 5.11. Biri üç çerçeveye bölünmüş iki pencere açıktır. Aynı belge, üç çerçeveden ikisine ve ayrı bir pencereye yüklenir. Her pencerenin parametrelerini bağımsız olarak ayarlama yeteneği, aynı belgeyi farklı şekillerde görüntülemenize olanak tanır. Yukarıdaki örnekte, belgenin yazı tipi boyutu bir pencerede diğerinden daha büyüktür. Bu efekt, pencerelerin her biri için farklı kodlamalar ayarlayarak elde edilir (Seçenekler menüsünün Belge Kodlama öğesi veya sürüm 4.x için Görünüm menüsünün Karakter Kümesi öğesi), her iki kodlama da aynı yazı tipini ancak farklı boyutları kullanır. Genel Tercihler menüsündeki herhangi bir öğeyi değiştirmek tüm pencereleri etkiler.


Pirinç. 5.11. Netscape Tarayıcısından Çıkmak

Pirinç. 5.12. Netscape tarayıcısında pencereyi kapat uyarısı

Ek tarayıcı özellikleri

Yukarıda karşılık gelen parametrelerle birlikte listelenen çerçeve açıklama etiketlerinin tümü, Netscape ve Microsoft Internet Explorer'da neredeyse aynı şekilde uygulanır, ancak bu tarayıcıların her biri, ek olarak kendi benzersiz etiketlerini veya parametrelerini kullanmanıza izin verir.

Netscape Tarayıcı Özellikleri

Netscape Browser 3.0 ve sonraki sürümleri üç ek seçeneğe izin verir: BORDER, FRAMEBORDER ve BORDERCOLOR. BORDER parametresi yalnızca etiket için geçerlidir . BORDER parametresinin değeri, piksel cinsinden çerçeveler arasındaki sınırların kalınlığını belirler.

FRAMEBORDER parametresi hem etikette kullanılabilir , ve etikette ve çerçeveler arasında bir çerçevenin varlığını belirler. Bu parametre Evet veya HAYIR olarak ayarlanabilir. Parametre etikette yazıyorsa , etkisi bu grubun tüm karelerine uygulanır. Tek bir çerçeve için değer geçersiz kılınabilir. Varsayılan, Evet'tir.

BORDER ve FRAMEBORDER parametrelerinin birbirinden bağımsız çalıştığını unutmayın. Örneğin, ÇERÇEVE KENARI HAYIR ve KENARLIK sıfırdan farklı bir değere ayarlanırsa, çerçeveler arasına çerçeve çizilmez, ancak KENARLIK parametre değeri tarafından belirtilen boşluk yine de tahsis edilir.

BORDERCOLOR parametresi hem etikette kullanılabilir , ve etikette ve rengin adı veya onaltılık gösterimi olabilen çerçevenin rengini tanımlar.

İşte bir örnek:

Bu HTML kodunun ilk satırı, aralarında 10 piksel kalınlığında bir kenarlık bulunan üç çerçeveyi tanımlar (Şekil 5.13).


Pirinç. 5.13. Netscape tarayıcısında çerçeveler arasında çerçeve çizme

FRAMEBORDER parametresinin HAYIR olarak ayarlanması nedeniyle "A" ve "b" çerçeve kutuları arasına çerçeve çizilmez, ancak çerçevenin rengi kırmızıdır. Son çerçeve "c" için, FRAMEBORDER değeri Evet olarak ayarlanır ve ilk satırda ayarlanan değeri geçersiz kılar. Bu nedenle, "in" ve "C" adlı çerçeveler arasında 10 piksel kalınlığında kırmızı bir kenarlık çizilmeye devam edecektir.

Not

Çerçeveler arasına çerçeveler çizilmezse, Netscape, NORESIZE seçeneği mevcut olmasa bile, çerçevelerin fare ile sürüklenerek yeniden boyutlandırılmasına izin vermez. Microsoft Internet Explorer için durum farklıdır.

Kenarlıksız çerçevelerin çok nadir olmadığını unutmayın. Çerçevelerin yokluğunun kaydırma çubuklarının görünümünü engellemediği unutulmamalıdır (Şekil 5.14).


Pirinç. 5.14. Kenarlıksız bir çerçevede kaydırma çubukları

Microsoft Internet Explorer'ın Özellikleri

Microsoft Internet Explorer, FRAMEBORDER parametresini yukarıda açıklanan amaçlarla kullanmanıza izin verir, ancak çerçevelerin rengini ve kalınlığını ayarlamanıza izin vermez. Ancak, FRAMEBORDER parametresi için tek geçerli değer, çerçevenin çizimini iptal etmek için "0" sayısal değeri veya çerçeveyi çizmek için sıfır olmayan sayısal bir değerdir.

Farklı tarayıcılar için FRAMEBORDER parametresinin değerlerini ayarlama kurallarındaki fark oldukça rahatsız edici. Örneğin, FRAMEBORDER=Evet ayarını deneyin. Bu giriş Netscape için doğrudur, ancak Microsoft Internet Explorer için kenarlık olmamasına neden olur. Önceki örnek (Şekil 5.13) Microsoft Internet Explorer'da görüntülendiğinde kenarlıksız olarak görüntülenecektir.

Tavsiye

FRAMEBORDER parametresinin değerinin her zaman sayısal biçimde yazılması önerilebilir, örneğin, FRAMEBORDER=0. Bu, Microsoft Internet Explorer için bir parametre yazma kurallarına uyar, ancak Netscape kurallarını ihlal eder (sonuncusu tarafından doğru şekilde anlaşılmasına rağmen).

Not

Çerçeveler arasındaki çerçeveler çizilmezse, Microsoft Internet Explorer (Netscape'in aksine), NORESIZE parametresinin yokluğunda, çerçeveleri fareyle sürükleyerek çerçeveleri yeniden boyutlandırmanıza "dokunmanıza" izin verecektir. Fare işaretçisinin şeklini değiştirerek çerçevenin olması gereken yeri yakalayabilirsiniz.

Microsoft Internet Explorer tarayıcısı, etikette yazılı ek FRAMESPACING parametresinin kullanılmasına izin verir. değeri, boş bırakılacak kareler arasındaki piksel sayısını belirten .

Görüntülenme sonucu Şekil 1'de gösterilen bir örnek verelim. 5.15.

Çerçeveler arasındaki boşluğu değiştirme


Pirinç. 5.15. Microsoft Internet Explorer'da çerçeveler arasındaki boşluk

Not

Ne yazık ki, HTML dilinin birçok açıklaması hatalı olarak etikette FRAMESPACING parametresinin kullanılması gerektiğini belirtir. . Microsoft Internet Explorer yalnızca bu parametrenin bir etikette kullanılmasına izin verir .

yüzen çerçeveler

Microsoft Internet Explorer benzersiz etikete izin verir . TEGS'de

Microsoft Internet Explorer tarayıcısı, sözde "kayan" çerçeveleri destekleyen ilk tarayıcıdır (ve şimdiye kadar tek tarayıcıdır).

Bu tür çerçeveler, grafik ve tablolarla aynı şekilde ekranın herhangi bir yerine yerleştirilebilir.

Bu metnin sağındaki çerçeve, özel bir etiket kullanılarak sayfaya yerleştirilir.

Bu etiketin isteğe bağlı öznitelikleri width="width" ve height="height" iken, gerekli öznitelik src="frame address" şeklindedir.

Etiket nitelikleri ve özellikleri

1. Özellik COLS="Parametreler"
Dikey sayfa sonlarının sayısını belirtir.

2. Özellik SATIR = "Parametreler"
Yatay sayfa sonlarının sayısını belirtir.

Şimdi bölümleme parametrelerini nasıl ayarlayabileceğinize bakalım.

a) Piksel sayısına karşılık gelecek bir sayı kullanmak. Örneğin, cols = "100,100,300", sayfayı her biri sırasıyla 100 piksel, 100 piksel ve 300 piksel genişliğinde olacak üç bölgeye ayrılacak şekilde ayarlar.

b) Yüzde yardımı ile toplam genişlik/yükseklikten. Yukarıda tartışılan örneklerde tam olarak yüzde bölünmesini kullandık, bu yüzden bir örnek vermek bana anlamsız geliyor.

c) * (yıldız) ile. Örneğin, cols = "2*,3*,100" ilk iki bölgeyi 2:3 oranına ayarlar ve üçüncü bölge 100 piksel genişliğinde olur.

Her üç yöntem de birleştirilebilir. Örneğin, cols="2*,100,15%,4*" .

3. Öznitelik frameborder="(evet|hayır)"
Çerçevenin kenarlığı olup olmadığını belirler. Cevap evet ise, sonraki dördüncü sınır özelliği etkindir.

4. Nitelik sınırı = "parametre"
Piksel cinsinden kenarlık, çerçeve alanının konturunun kalınlığını belirtir. Örneğin, frameborder = "2", 2 piksellik bir seçili kenarlık alanını belirtir.

5. Özellik bordercolor="color"
Varsa kenarlığın rengini belirtir. Renk hem kelimelerle hem de kodla ayarlanabilir (html renk paletine bakın).

Not: Lütfen etiketin bir kapanış etiketine ihtiyacım var .

Etiket nitelikleri ve özellikleri

1. Özellik src="öğe adresi"
Elemanın adresinin tam URL'si burada parametre olarak belirtilmelidir. Bu özellik gereklidir. O size zaten tanıdık geliyor çünkü. 1. ve 2. örneklerde mevcuttu.

2. Özellik marginwidth="sayı"
Çerçeve içindeki girintiyi kenarlıklardan genişlik olarak piksel olarak ayarlar. Örneğin, marginwidth="10", içeriğin dolgusunu çerçevenin kenarlığının soluna ve sağına ayarlar.

3. Özellik marginhight="sayı"
Girintiyi yükseklik olarak ayarlaması farkıyla, ikincisine benzer.

4. Öznitelik kaydırma="(evet|hayır|otomatik)"
Çerçeve, kendisine ayrılan alanın çerçevesine sığmazsa kaydırma özelliğini ayarlar. Varsayılan değer auto'dur (gerekirse bir kaydırma oluşturmanız gerektiği anlamına gelir).

5. noresize özniteliği
Bu öznitelik ayarlanırsa, kullanıcının çerçevenin sınırlarını değiştirmesi yasaktır. Varsayılan olarak bu öznitelik ayarlanmamıştır ve kullanıcı sınırları istediği gibi değiştirebilir.

5. Özellik adı = "ad"
Bu özellik ile çerçeveye bir isim verebilirsiniz. Bu, diğer çerçevelerin bu çerçeveye erişebilmesi için gereklidir. Örnek No. 2'de tam da böyle bir durum ele alınmaktadır.

Not:
Ad alt çizgi "_" ile başlamamalıdır.

6. Nitelikler frameborder, border ve bordercolor
Bu üç nitelik çerçeve kümesiyle aynıdır (yukarıdaki çerçeve kümesi niteliklerine bakın).

Çerçevelerin avantajları ve dezavantajları

Çerçevelerin avantajları

  • Bir pencerede birkaç sayfayı bağımsız olarak görüntüleme yeteneği (yukarıdaki örnek 1 ve 2);
  • Sayfayı yeniden yüklemeden sayfa içeriğini değiştirebilme (ekranın yalnızca bir alanı değişir);
  • Site yapısını esnek bir şekilde oluşturma yeteneği (başlık, menü, altbilgi vb. - tüm statik bilgiler dosyalarda ayrı olarak saklanır ve bu, sitenin bir bölümünü hızlı bir şekilde düzenlemenizi sağlar);
  • noresize seçeneği ayarlanmamışsa, kullanıcı görünümün boyutunu kendisi değiştirebilir;

Çerçevelerin Eksileri

  • Arama motorları, yüklenen dosyaları çerçeveler içinde yorumlayamadıkları için çerçevelerdeki siteleri iyi bir şekilde indekslemezler. Arama motoru sayfaları adreslerine (URL) göre ayırır ve çerçeveler için farklı durumlara rağmen sayfa adresi değişmez. Bu, arama motorunun kurallarına aykırıdır, yani arama motorunun siteyi indeksleyebileceği bir gerçek değildir.
  • Bir siteyi çerçevelere işaretlemek imkansızdır, çünkü Sayfa URL'si aynı olacaktır. Böylece çerçevenin yalnızca orijinal durumunu kaydedebilirsiniz.
  • Tüm tarayıcılar çerçeveleri desteklemez.

Çerçevelerin geleceği:
Birçok web yöneticisi, çerçeveleri terk ettiğinden beri uzun zamandır. Bunun nedeni arama motorlarında yükselmenin zorluğudur. Artık herkes, bilgileri sitenin bir sayfasında göstermenin daha dinamik ve modern bir yolu olarak Ajax'a geçiyor.

Sevgili okuyucu, çerçevelerle ilgili html belgesinin etiketlerini inceledik. Bu yönün şüpheli geleceğine rağmen, her web yöneticisi çerçeveler hakkında bilgi sahibi olmalıdır.




Bilgisayar yardım sitesi

© Telif hakkı 2022,
rzdoro.ru - Bilgisayar yardım sitesi

  • Kategoriler
  • Ütü
  • Windows 10
  • Tarama
  • Windows 7
  • Ütü
  • Windows 10
  • Tarama
  • Windows 7