Używanie ramek w HTML. Tworzenie atrybutów Frames znacznika Frame w celu dostosowania wyglądu okien
Co to są ramki?
Aby strona była bardziej funkcjonalna, aby umieścić dużą ilość informacji i linków w najwygodniejszej dla odwiedzającego formie, wcale nie jest konieczne korzystanie z technologii Flash. Wszystko to jest możliwe dzięki językowi HTML, w którym można tworzyć ramki.
Mówiąc laikiem, ramki to dodatkowe paski przewijania w jednym oknie. Wchodząc na stronę, odwiedzający widzi jednocześnie dwa okna na tej samej stronie - jedno z reguły z pozycjami menu lub innymi ważnymi informacjami, a drugie z treścią (tekst, ceny itp.). W takim przypadku odwiedzający może wygodniej przeglądać dość obszerne strony i jednocześnie mieć przed oczami najważniejsze informacje.
Jeśli zagłębimy się w szczegóły, strona z ramkami składa się z co najmniej trzech stron HTML na raz – dwóch widocznych dla użytkownika i jednej usługi (koordynującej wyświetlanie ramek). Widoczne strony to ramki, do których można uzyskać dostęp indywidualnie lub jednocześnie.
Niewątpliwą zaletą stosowania ramek jest wysoka jakość użytkowa. Interfejs strony staje się wielokrotnie wygodniejszy niż w przypadku stosowania standardowych metod znaczników.
Kiedyś, 5-6 lat temu, ramki zyskały popularność wśród wielu webmasterów. Dziś są używane tylko w tych witrynach, w których po prostu nie można się bez nich obejść, ponieważ niestety ramki mają znaczne wady pod względem promocji.
Ramki – dobre czy złe?
Przydatność ramek możesz rozpatrywać z trzech stanowisk – z pozycji użytkownika, z pozycji specjalisty SEO i webmastera.
W pierwszym przypadku stosunek do ram jest niejednoznaczny. Z jednej strony czasami po prostu nie da się bez nich obejść i z powodzeniem zastępują strony serwisowe otwierane w innych oknach. A ramki tylko poprawiają użyteczność dużych stron, bo użytkownik może w każdej chwili skorzystać z menu w innym oknie.
Z drugiej strony, tak naprawdę nie poprawiają wyglądu strony. Osiągnięcie dobrego wyglądu przy użyciu ramek jest dość trudne. I oczywiście nie wszystkie przeglądarki obsługują ramki, które mogą zniechęcić całą armię potencjalnych nabywców, klientów lub po prostu odwiedzających.
Z perspektywy webmastera używanie ramek ułatwia komponowanie stron i udoskonalanie interfejsu. Przecież o wiele łatwiej jest stworzyć jedną stronę z całym menu i innymi ważnymi informacjami, niż umieszczać tę treść na każdej stronie serwisu. Tu jednak kończą się uproszczenia i zaczynają komplikacje, o których niespecjalista nie musi wiedzieć. Co więcej, teraz prawie nikt nie pracuje z czystym HTML - CMS pozwala zrobić wszystko automatycznie.
Pozycja specjalisty SEO jest znacznie trudniejsza. Ramki po prostu nie pozwalają robotom wyszukiwania wyjść poza stronę główną. Oczywiście istnieją pewne sztuczki, które pozwalają na indeksowanie wewnętrznych stron witryny, ale nadal są to „sztuczki”, które nie są akceptowane przez żadną wyszukiwarkę.
Wpływ ramek na promocję serwisu.
Bez względu na to, jak doświadczony może być specjalista ds. promocji witryny, nie będzie on w stanie udzielić żadnych gwarancji w zakresie promocji, jeśli w zasobie zostaną użyte ramki. Niestety, technologia ta znajduje się na „czarnej liście” elementów utrudniających promocję w wyszukiwarkach, wraz z treściami typu flash i kradzionymi. Tego ostatniego może jeszcze nie widać, ale o oprawkach tego samego nie można powiedzieć.
Zatem jak i jaki wpływ na promocję ma użycie ramek?
Wpływ jest poważny. Faktem jest, że w ramkach znajdują się wszystkie ważne linki do wewnętrznych stron witryny. Aby je zarejestrować, projektant układu nie musi używać tagów …. Mianowicie, to po tym tagu robot wyszukiwania określa, że przed nim znajduje się link, za pomocą którego można przejść do innej strony i ją zaindeksować (lub dodać jeszcze kilka „bułki tartej” do wagi linku).
Roboty wyszukujące indeksują tylko pierwszą – główną – stronę, do której trafiają z zewnętrznych zasobów. Inne strony pozostają zamknięte dla Yandex i Google - w końcu nawet z innych witryn nie można do nich linkować, ponieważ ramki ukrywają prawdziwe adresy stron.
Dziś nie da się już skutecznie promować jednej strony głównej – nie da się na niej wskazać wszystkich żądań, a PS będzie dużo bardziej podejrzliwy wobec takiego „one-pagera”.
Oczywiście „tradycyjni rzemieślnicy” wymyślili już sposób na indeksowanie stron wewnętrznych poprzez umieszczenie linków do nich w dokumencie instalacyjnym ramek, a adresy nadal można znaleźć, otwierając osobno stronę ramki. Czy jednak wszystkie te komplikacje są konieczne, jeśli rezygnując z takich technologii, można osiągnąć więcej?
Witam, drodzy czytelnicy bloga. Dzisiaj porozmawiamy o ramkach w HTML. Jasne jest, że zaczniemy od początku, a mianowicie od tego, jakie to zwierzę. Porozmawiamy także o teraźniejszości (Frame) i przyszłości (Iframe) tych elementów w aktualnej wersji hipertekstowego języka znaczników oraz w nowym standardzie HTML 5 z rozszerzeniem .
Na końcu artykułu, po szczegółowym opisaniu procesu tworzenia wbudowanych ramek i ich klasycznej struktury w kodzie HTML (już rzadko używanym), poruszymy kwestię zasadności budowania na nich witryny, a także omówimy możliwe sposoby ich wykorzystania w bieżącym okresie na przykładzie mojego bloga.
Co to jest i czym różni się element Iframe od ramki?
Co to jest? Okazuje się, że można ich używać nie tylko na stronach internetowych, ale także w dowolnych aplikacjach do programów, różnią się jednak tym, że okno strony internetowej lub aplikacji zostanie podzielone na kilka obszarów, do każdego z których ładowany jest osobny dokument . Co więcej, te obszary ramki zachowują się niezależnie od siebie.
Prawdopodobnie najbardziej oczywistym przykładem ich użycia, z którym zetknął się prawie każdy z Was, są tzw. pliki pomocy, które posiada wiele programów zainstalowanych na Waszym komputerze.
W lewym oknie zostanie wczytany plik z menu pomocy, a w prawym wyświetlony zostanie dokument odpowiadający wybranej pozycji menu. Warto zauważyć, że taka konstrukcja pozwala uniknąć ponownego ładowania pliku z menu do lewego okna podczas otwierania nowego dokumentu w prawym. Z tego właśnie się składa główna zaleta korzystania z ramek w HTMLu.
Właściwie już samą nazwę tych elementów należy rozumieć jako niezależne okno. Za pomocą ramek mamy możliwość podzielenia jednego dużego okna na kilka fragmentów, które z kolei mogą służyć jako odbiorniki dla odrębnych, niezależnych od siebie dokumentów (stron, tekstów, obrazów, filmów itp.).
W jaki sposób tworzona jest struktura ramek w hipertekstowym języku znaczników? Jeśli mówimy o standardzie HTML 4.01 (według klasyfikacji), który jest obecnie najważniejszy, to wykorzystywane są do tego trzy elementy - Frame, Frameset i Noframes.
Iframe - wbudowana ramka w standardzie HTML 5
Jeśli mówimy o standardzie HTML 5 (nasza przyszłość, którego niektóre elementy są już obsługiwane przez wiele przeglądarek), to nie będzie tagów Frame, Frameset i Noframes, a zamiast tego będzie klasyczna struktura ramki; pojedynczy znacznik Iframe (embeddedframe), o którym porozmawiamy na początku, a następnie zwrócimy uwagę na klasyczny schemat z wersji 4.01, który jest obecnie w użyciu.
Iframe w odróżnieniu od omawianych poniżej klasyków nie wymaga zastępowania tagu Body tagami Frameset. Te. znacznik ten można wstawić na zwykłych stronach, na przykład wewnątrz akapitu lub gdziekolwiek indziej. W swojej istocie element ten jest bardzo podobny do tagu Img, który już rozważaliśmy.
Jest to element wbudowany z wymienną zawartością, ponieważ zachowuje się dokładnie jak element wbudowany, ale jest wyświetlany obce treści zewnętrzne. W języku HTML są tylko cztery takie elementy – Img, Iframe, Object i Embed. Dlatego nasz bohater sugeruje obecność zewnętrznego pliku, który zostanie załadowany do obszaru, którego rozmiar jest ustawiony za pomocą atrybutów tego tagu.
To. Element iframe to element ujścia, do którego ładowany jest obiekt zewnętrzny (taki jak wideo). Natomiast aby wskazać ścieżkę do tego pliku, który powinien zostać wczytany na stronę użyj specjalnego atrybutu Src. Ale w przeciwieństwie do Img, element iframe jest sparowany, tj. jest też tag zamykający:
Ten przykład pokazuje dane wyjściowe na stronie wideo YouTube przy użyciu ramki iframe. W celu ograniczenia obszaru ramki (okna), w którym będzie ładowany plik zewnętrzny, podawane są atrybuty Szerokość i wysokość, którego wartości podane są w pikselach:
Te. tag ten tworzy obszar, do którego ładowany jest jakiś obiekt zewnętrzny (nie ma znaczenia, czy pochodzi z Twojej witryny, czy z innego zasobu). Szerokość i wysokość obszaru określa się za pomocą opcji Szerokość i Wysokość, a atrybut Src określa ścieżkę do tego obiektu.
Element iframe odziedziczył wszystkie te atrybuty po podobnych tagach wbudowanych z zastąpioną treścią (takich jak wspomniany już Img). Cóż, on też wziął atrybuty ze zdjęć Hspace i Vspace, które pozwalają ustawić wcięcia od krawędzi ramki do tekstu, który ją otacza.
Znamienne jest również to, że wyrównywanie wbudowanej ramki odbywa się dokładnie w taki sam sposób, jak mogliśmy to zobaczyć studiując obrazy w HTML-u. Wszystkie takie same Wyrównywać, ale dla znacznika iframe z możliwymi wartościami: Dolny, Górny, Środkowy, Lewy i Prawy.
Ale ten element również przejął kilka atrybutów ze znacznika Frame z klasycznej struktury ramki, o czym szczegółowo porozmawiamy poniżej w tekście. Do atrybutów tych należy Nazwa, której wartość można wykorzystać jako wartość, dzięki czemu dokument, którego potrzebujesz po kliknięciu linku, otworzy się w oknie tej ramki (więcej informacji poniżej).
Również w iframe atrybut Frameborder został przeniesiony ze znacznika Frame, który ma tylko dwie wartości - albo 0 (ramka wokół ramki nie jest wyświetlana) albo 1 (ramka jest widoczna). Wartość domyślna to Frameborder=1, więc aby ją usunąć, musisz wpisać Frameborder="0":
Z Frame do tego elementu przeniesiono także atrybut Scrolling, który ma domyślną wartość Auto - paski przewijania w ramce będą pojawiać się w miarę potrzeb, gdy zawartość będzie większa niż rozmiar okna przeznaczonego do jej wyświetlenia.
Cóż, atrybuty Marginwidth i Marginheight również zostały przeniesione z elementu Frame. Zostaną one szczegółowo omówione poniżej w tekście, a w skrócie – pozwalają ustawić wcięcie na szerokość i wysokość od krawędzi ramki do treści, która się w niej znajduje.
Jak już wspomniałem, wyraźnym przykładem użycia ramki iframe jest:
Wstawiając element iframe bezpośrednio na stronę internetową, otrzymasz wynik wideo z YouTube. Dochodzimy do wniosku, że ten element jest skrzyżowaniem elementów inline z zastąpioną treścią i w istocie klasycznych ramek, o czym teraz porozmawiamy.
Ramki oparte na znacznikach Frame i Frameset - ich budowa
Zatem tworzenie klasycznej struktury ramki zaczyna się od tego, co napiszesz w kodzie HTML zamiast otwierającego i zamykającego znacznika Body, który zwykle powinien znajdować się w każdym dokumencie, zastępując go kontenerem opartym na elementach Zestaw ramek.
Zasadniczą kwestią jest to, że w tym przypadku nie można zastosować elementu Body - ani Body (w przypadku zwykłego dokumentu), ani Frameset (w przypadku tworzenia struktury ramki dokumentu):
Każda ramka, którą tworzymy wewnątrz głównej, tworzona jest przy użyciu osobnego elementu Rama. Znacznik ten jest pojedynczy i w nim ustalamy ścieżkę do dokumentu, który będzie wczytany do tego okna.
Trzecim elementem, którego jeszcze nie poruszyliśmy, jest Brak ramek. Jest sparowany i pozwala na wpisanie do środka tekstu, który zostanie przetworzony przez przeglądarkę i wyświetlony na stronie internetowej tylko wtedy, gdy ta sama przeglądarka (lub inne urządzenie wyświetlające) nie obsługuje ramek. Może się to zdarzyć na przykład, jeśli korzystasz z przeglądarki przeznaczonej na urządzenia mobilne.
Zwykle w Noframes dodają nie tylko informację o aktualnej sytuacji z niemożnością przetworzenia struktury ramek, ale także dodają możliwość przejścia na inne strony, na których można kontynuować pracę bez ich używania. Trudno powiedzieć o nim cokolwiek innego, więc kontynuujmy.
Okazuje się, że element Frameset zastosowany zamiast znacznika Body zajmuje całą przestrzeń przydzieloną na obszar podglądu, a wewnątrz tego obszaru zostaną utworzone ramki z wykorzystaniem poszczególnych elementów Frame. W związku z tym pojawia się pytanie – jak podzielić obszar widzenia pomiędzy osobne okna, czyli inaczej mówiąc, jak ustawić wielkość każdego z nich.
Odbywa się to poprzez dodanie odpowiednich atrybutów do elementu Frameset. Jest ich dwóch - Kolsy i wiersze. Cols ustawia podział dużego okna na pionowe ramki lub kolumny, a Rows pozwala na podzielenie go na poziome okna lub rzędy.
Tworzenie struktury opartej na zestawie ramek i jego atrybutach Cols i Rows
Wartości Cols i Rows znacznika Html Frameset to liczby oddzielone przecinkami (bez spacji). Liczby te wyznaczają proporcje okien, jakie chcemy w efekcie uzyskać. Zatem niezależnie od tego, ile liczb oddzielonych przecinkami zapiszemy w kolumnach lub wierszach, wynikiem będzie liczba klatek, które otrzymamy.
Przykładowo korzystając z tego zapisu otrzymamy trzy pionowe kolumny, których szerokość będzie odpowiadać proporcjom 2:5:3.