HTML
← Volver a Sintaxe obsoleta Marcos Seguir con Capas


Os marcos (frames en inglés) son unha técnica que permite “partir” unha páxina web en distintos espazos, independentes os uns dos outros, de xeito que en cada un destes espazos se coloque unha páxina distinta codificada nun ficheiro HTML distinto.

A partir da versión 4 de HTML considérase o seu uso obsoleto. As follas de estilo substituíron esta técnica, dado que fornecen técnicas mellores para manter fixo un contido nunha paxina.

A continuación falarase desta técnica, da súa historia, e mesmo explicarase o seu uso ─para aqueles que se desentendan das recomendacións─.

Historia

editar

Os marcos foron unha técnica innovadora que se engadiu por vez primeira ás versións 2.0 dos navegadores Netscape Navigator e Internet Explorer. Ao principio creáranse como etiquetas privativas propiedade do Netscape, e de seguida a potencia do recurso provocou que o seu uso se estendese por toda a rede. Posteriormente, e a causa da súa popularidade, o Internet Explorer adaptouse a esta tecnoloxía.

Finalmente, coa publicación da especificación 4 da HTML, esta técnica incluíuse debido á súa popularidade, se ben non está aconsellado o seu uso.

Concepto

editar

Como xa se mencionou, os marcos permiten dividir a visualización dunha “páxina” por parte dun navegador en diferentes áreas, que serán independentes as unhas das outras e codificaranse por tanto en ficheiros HTML distintos ─polo que en realidade se trata dun conglomerado de páxinas web máis que dunha soa─. Cos marcos se indica o espazo que ocupará cada área, e de non abondar dito espazo para amosar todo o contido da páxina correspondente a unha área, dita área disporá de barras de desprazamento de seu (tanto horizontais como verticais).

Outrora, cando o seu uso estaba estendido, era común ver páxinas que utilizaban un marco para a barra de navegación, estando esta fixa nunha parte do conglomerado de páxinas que visualizaba o navegador.

Sintaxe

editar

A definición dos marcos está composta de elementos frameset e frame, coas que se indica a disposición de cada un dos cadros. O elemento frameset indica as divisións que se amosarán no navegador web e o elemento frame corresponderá a cada un dos cadros onde se colocará unha páxina independente.

Grupo de marcos

editar

O elemento frameset forma o corpo do documento cando se utilizan capas, e por tanto utilizarase dentro da estrutura dun documento HTML en substitución do corpo (body).

O elemento frameset (grupo de marcos) conta con atributos opcionais para determinar o número de filas e columnas ─así coma as súas proporcións─. As divisións en filas ou columnas realízanse mediante os atributos cols ─co que se indica unha partición de columnas─ e rows ─co que se indica unha partición de filas─. Iso si, nun frameset só pode conter un destes dous atributos, é dicir, ou se fai unha división en columnas ou se fai en filas. Para conseguir a combinación recórrese ao uso de elementos frameses subordinados ─entre as etiquetas do elemento frameset poden especificarse novos elementos frameset─.

Os valores deses dous atributos consisten en grupos de datos, separados por comas, cada un dos cales identifica as dimensións de cada un dos marcos en que se dividirá o documento HTML. Estes datos identificarán o ancho dos marcos para o atributo cols (división en columnas) ou o alto para o atributo rows (división en filas). Cada un dos datos pode ser unha proporción ─se o dato vai seguido do símbolo «%»─, un tamaño en píxeles ─se se trata simplemente dun número─, ou un comodín ─representado mediante o asterisco: «*»─. O comodín significa que o marco que o leva como valor ocupará o tamaño que quede tras aplicar as outras dimensións ao resto dos marcos.

Os seguintes son exemplos de definicións de valores para estes atributos: rows="33%,67%", cols="10%,*,250".

Entre as etiquetas do elemento frameset engádense a continuación elementos frame (marco), un por cada marco definido mediante o elemento frameset.

O elemento frame debe definir a ruta ao ficheiro HTML que se amosará no marco correspondente, o cal se fai mediante o atributo src. Ademais, mediante o atributo name pode establecerse o nome a utilizar para referirse a el dende outros marcos.

O seguinte é un exemplo simple do uso de marcos:

<!-- [...] -->
  </head> 
  <frameset cols="20%,*,150"> 
     <frame src="menú.html"> 
     <frame src="contido.html"> 
     <frame src="publicidade.html"> 
  </frameset> 
</html>

Este exemplo crearía unha columna esquerda que ocupase o 20% da páxina co contido de «menú.html», unha columna dereita co contido de «publicidade.html» que ocupase 150 píxeles, e unha columna central co contido de «contido.html» e que ocupase o espazo restante. Próbese nun navegador web.

Como xa se mencionou antes, dentro do elemento frameset, pode substituírse un elemento frame por outro elemento frameset que á súa vez conteña marcos de seu, o que permite crear grupos de marcos realmente complexos.

Ligazóns

editar

En principio, as ligazóns que aparezan nun marco, ao premerse, situarán o contido ligado nese mesmo marco que contiña a ligazón. Porén, pódese conseguir que unha ligazón nun marco cambie o contido doutro marco distinto.

Para isto, hai que facer dúas cousas:

  • A primeira, darlle un nome ao marco que se vai actualizar ao premer a ligazón. Isto faise mediante o atributo name que xa antes se mencionou.
  • A segunda é engadirlle á ligazón o atributo target, co mesmo valor que se lle deu anteriormente ao atributo name do marco onde se cargará o novo ficheiro HTML.

Un exemplo dunha ligazón deste tipo podería ser o seguinte:

<a href="ficheiro.html" target="marcodecarga">texto da ligazón</a>

Contido alternativo

editar

Posto que algúns navegadores web non poden amosar marcos, deberíase especificar un contido alternativo que poidan visualizar os usuarios destes navegadores dentro dun elemento noframes, á súa vez dentro do elemento frameset.


HTML
← Volver a Sintaxe obsoleta Marcos Seguir con Capas