HTML - ramki
Ramki HTML służą do dzielenia okna przeglądarki na wiele sekcji, z których każda może załadować oddzielny dokument HTML. Zbiór ramek w oknie przeglądarki jest nazywany zestawem ramek. Okno podzielone jest na ramki, podobnie jak w tabelach: na rzędy i kolumny.
Wady ramek
Korzystanie z ramek ma kilka wad, dlatego nigdy nie zaleca się używania ramek na stronach internetowych -
Niektóre mniejsze urządzenia często nie radzą sobie z ramkami, ponieważ ich ekran nie jest wystarczająco duży, aby można go było podzielić.
Czasami Twoja strona będzie wyświetlana inaczej na różnych komputerach ze względu na różną rozdzielczość ekranu.
Przycisk Wstecz przeglądarki może nie działać zgodnie z oczekiwaniami użytkownika.
Nadal istnieje kilka przeglądarek, które nie obsługują technologii ramek.
Tworzenie ramek
Aby użyć ramek na stronie, używamy tagu <frameset> zamiast tagu <body>. Znacznik <frameset> określa, jak podzielić okno na ramki. Plikrows atrybut znacznika <frameset> definiuje ramki poziome, a colsatrybut definiuje ramki pionowe. Każda ramka jest oznaczona tagiem <frame> i określa, który dokument HTML ma otwierać się w ramce.
Note- Tag <frame> został wycofany w HTML5. Nie używaj tego elementu.
Przykład
Poniżej znajduje się przykład tworzenia trzech poziomych ramek -
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset rows = "10%,80%,10%">
<frame name = "top" src = "/html/top_frame.htm" />
<frame name = "main" src = "/html/main_frame.htm" />
<frame name = "bottom" src = "/html/bottom_frame.htm" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
To da następujący wynik -
Przykład
Umieśćmy powyższy przykład w następujący sposób, tutaj zastąpiliśmy atrybut wierszy kolumnami i zmieniliśmy ich szerokość. Spowoduje to utworzenie wszystkich trzech ramek w pionie -
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset cols = "25%,50%,25%">
<frame name = "left" src = "/html/top_frame.htm" />
<frame name = "center" src = "/html/main_frame.htm" />
<frame name = "right" src = "/html/bottom_frame.htm" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
To da następujący wynik -
Atrybuty tagu <frameset>
Poniżej znajdują się ważne atrybuty tagu <frameset> -
Sr.No | Atrybut i opis |
---|---|
1 | cols Określa liczbę kolumn zawartych w zestawie ramek i rozmiar każdej kolumny. Możesz określić szerokość każdej kolumny na jeden z czterech sposobów - Wartości bezwzględne w pikselach. Na przykład, aby utworzyć trzy pionowe ramki, użyj cols = "100, 500, 100" . Procent okna przeglądarki. Na przykład, aby utworzyć trzy pionowe ramki, użyj cols = "10%, 80%, 10%" . Używanie symbolu wieloznacznego. Na przykład, aby utworzyć trzy pionowe ramki, użyj cols = "10%, *, 10%" . W tym przypadku symbol wieloznaczny zajmuje pozostałą część okna. Jako względne szerokości okna przeglądarki. Na przykład, aby utworzyć trzy pionowe ramki, użyj cols = "3 *, 2 *, 1 *" . To alternatywa dla procentów. Możesz użyć względnych szerokości okna przeglądarki. Tutaj okno jest podzielone na szóste części: pierwsza kolumna zajmuje połowę okna, druga jedną trzecią, a trzecia jedną szóstą. |
2 | rows Ten atrybut działa tak samo jak atrybut cols i przyjmuje te same wartości, ale służy do określania wierszy w zestawie ramek. Na przykład, aby utworzyć dwie poziome ramki, użyj wierszy = "10%, 90%" . Możesz określić wysokość każdego wiersza w taki sam sposób, jak wyjaśniono powyżej dla kolumn. |
3 | border Ten atrybut określa szerokość obramowania każdej klatki w pikselach. Na przykład border = "5". Wartość zero oznacza brak obramowania. |
4 | frameborder Ten atrybut określa, czy między ramkami ma być wyświetlana trójwymiarowa ramka. Ten atrybut przyjmuje wartość 1 (tak) lub 0 (nie). Na przykład frameborder = "0" nie określa obramowania. |
5 | framespacing Ten atrybut określa ilość miejsca między klatkami w zestawie ramek. Może to przyjąć dowolną wartość całkowitą. Na przykład framespacing = "10" oznacza, że między klatkami powinno być 10 pikseli odstępu. |
Atrybuty tagu <frame>
Poniżej znajdują się ważne atrybuty tagu <frame> -
Sr.No | Atrybut i opis |
---|---|
1 | src Ten atrybut służy do podania nazwy pliku, który ma zostać załadowany do ramki. Jego wartością może być dowolny adres URL. Na przykład src = "/html/top_frame.htm" załaduje plik HTML dostępny w katalogu html. |
2 | name Ten atrybut umożliwia nadanie nazwy ramce. Służy do wskazania, do której ramki należy załadować dokument. Jest to szczególnie ważne, gdy chcesz utworzyć łącza w jednej ramce, które ładują strony do innej ramki. W takim przypadku druga ramka wymaga nazwy, aby zidentyfikować się jako cel łącza. |
3 | frameborder Ten atrybut określa, czy krawędzie tej ramki są wyświetlane; przesłania wartość podaną w atrybucie frameborder w znaczniku <frameset>, jeśli taki jest podany, i może to przyjąć wartość 1 (tak) lub 0 (nie). |
4 | marginwidth Ten atrybut umożliwia określenie szerokości przestrzeni między lewą i prawą krawędzią ramki a zawartością ramki. Wartość podawana jest w pikselach. Na przykład marginwidth = "10". |
5 | marginheight Ten atrybut umożliwia określenie wysokości odstępu między górną i dolną krawędzią ramki oraz jej zawartością. Wartość podawana jest w pikselach. Na przykład marginheight = "10". |
6 | noresize Domyślnie możesz zmienić rozmiar dowolnej ramki, klikając i przeciągając krawędzie ramki. Atrybut noresize uniemożliwia użytkownikowi zmianę rozmiaru ramki. Na przykład noresize = "noresize". |
7 | scrolling Ten atrybut steruje wyglądem pasków przewijania, które pojawiają się w ramce. Przyjmuje wartości „tak”, „nie” lub „auto”. Na przykład scrolling = "no" oznacza, że nie powinno mieć pasków przewijania. |
8 | longdesc Ten atrybut umożliwia udostępnienie łącza do innej strony zawierającej długi opis zawartości ramki. Na przykład longdesc = "framedescription.htm" |
Obsługa ramek przez przeglądarkę
Jeśli użytkownik korzysta ze starej przeglądarki lub dowolnej przeglądarki, która nie obsługuje ramek, wówczas element <noframes> powinien zostać wyświetlony użytkownikowi.
Musisz więc umieścić element <body> wewnątrz elementu <noframes>, ponieważ element <frameset> ma zastąpić element <body>, ale jeśli przeglądarka nie rozumie elementu <frameset>, powinna zrozumieć, co jest wewnątrz elementu element <body> zawarty w elemencie <noframes>.
Możesz przekazać miłą wiadomość dla użytkownika posiadającego starą przeglądarkę. Na przykład przepraszam !! Twoja przeglądarka nie obsługuje ramek. jak pokazano w powyższym przykładzie.
Nazwa ramki i atrybuty celu
Jednym z najpopularniejszych zastosowań ramek jest umieszczanie pasków nawigacji w jednej ramce, a następnie ładowanie stron głównych do osobnej ramki.
Zobaczmy następujący przykład, w którym plik test.htm ma następujący kod -
<!DOCTYPE html>
<html>
<head>
<title>HTML Target Frames</title>
</head>
<frameset cols = "200, *">
<frame src = "/html/menu.htm" name = "menu_page" />
<frame src = "/html/main.htm" name = "main_page" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
Tutaj utworzyliśmy dwie kolumny do wypełnienia dwiema ramkami. Pierwsza klatka ma szerokość 200 pikseli i będzie zawierać pasek menu nawigacji zaimplementowany przezmenu.htmplik. Druga kolumna wypełnia pozostałą przestrzeń i będzie zawierać główną część strony i jest zaimplementowana przezmain.htmplik. Dla wszystkich trzech linków dostępnych na pasku menu wymieniliśmy ramkę docelową jakomain_page, więc po każdym kliknięciu któregokolwiek z łączy na pasku menu, dostępne łącze otworzy się na stronie głównej.
Poniżej znajduje się zawartość pliku menu.htm
<!DOCTYPE html>
<html>
<body bgcolor = "#4a7d49">
<a href = "http://www.google.com" target = "main_page">Google</a>
<br />
<br />
<a href = "http://www.microsoft.com" target = "main_page">Microsoft</a>
<br />
<br />
<a href = "http://news.bbc.co.uk" target = "main_page">BBC News</a>
</body>
</html>
Poniżej znajduje się zawartość pliku main.htm -
<!DOCTYPE html>
<html>
<body bgcolor = "#b5dcb3">
<h3>This is main page and content from any link will be displayed here.</h3>
<p>So now click any link and see the result.</p>
</body>
</html>
Kiedy ładujemy test.htm plik, daje następujący wynik -
Teraz możesz spróbować kliknąć linki dostępne w lewym panelu i zobaczyć wynik. Targetattribute może przyjąć jedną z następujących wartości -
Sr.No | Opcja i opis |
---|---|
1 | _self Wczytuje stronę do bieżącej ramki. |
2 | _blank Wczytuje stronę do nowego okna przeglądarki. Otwarcie nowego okna. |
3 | _parent Wczytuje stronę do okna nadrzędnego, które w przypadku pojedynczego zestawu ramek jest głównym oknem przeglądarki. |
4 | _top Wczytuje stronę do okna przeglądarki, zastępując bieżące ramki. |
5 | targetframe Ładuje stronę do nazwanej ramki docelowej. |