2014-10-14 5 views
4

Я обсудил заголовок и нижний колонтитул. Поскольку HTML5 предоставляет элементы заголовка, нижнего колонтитула, содержимого, я считаю, что он должен использоваться один раз на странице. Я заявляю их в следующем фрагменте.Может ли нижний колонтитул иметь заголовок?

<!-- My understanding --> 
<header> 
    <!-- code goes here --> 
</header> 
<content> 
    <!-- code goes here --> 
    <!-- code goes here --> 
</content> 
<footer> 
    <!-- code goes here --> 
</footer> 

Немногие имеют элементы верхнего и нижнего колонтитула, как показано ниже.

<!-- People understanding --> 
<header> 
    <!-- code goes here --> 
</header> 
<content> 
    <!-- code goes here --> 
    <!-- code goes here --> 
</content> 
<footer> 
    <header> 
     <!-- They also use <header> in footer. --> 
    </header> 
    <!-- code goes here --> 
</footer> 

header Может быть использован в footer элемента? Другими словами, что бы вы предложили создать структуру HTML?

+0

Элемент

не представляет новый раздел, но является главой секции, и не требуется использовать только один элемент
на сайт. –

+1

@BassJobsen это правда, однако спецификация HTML5 специально указывает, что элементы 'footer' не должны иметь потомков' header'. Мой ответ [здесь] (http://stackoverflow.com/a/26357421/1317805) приводит ссылки на соответствующие разделы. –

ответ

3

Нет, это недействительно.

header элемент представляет собой заголовок для содержания, однако header элемент не должен быть потомком footer элемента.

footer часть HTML5 specification утверждает, что footer элемент:

Flow content, but with no header , footer , or main element descendants.

Если вставить следующий код в W3's HTML Validator вы получите следующее сообщение об ошибке:

Line 8, Column 20: The element header must not appear as a descendant of the footer element.

<!doctype html> 
<html> 
    <head> 
     <title>Title</title> 
    </head> 
    <body> 
     <footer> 
      <header> 
      </header> 
     </footer> 
    </body> 
</html> 

Игнорируя недействительный элемент content, ваш первый пример действителен, и вы должны придерживаться этого inst Свинец.

+0

хороший ответ james :) –

1

Я полагаю, что вы должны придерживаться вашей первой идеи линии:

// My understanding 
<header> 
    //code goes here 
</header> 
<content> 
    //code goes here 
    //code goes here 
</content> 
<footer> 
    //code goes here 
</footer> 

Для меня это более простой способ понять, как сделать HTML-файл этого формата.

0

Второй пример будет технически прекрасно работает, как и все <header>, <content> и <footer> функционально работает аналогично <div> с, но семантический было бы очень плохая практика. Я бы пошел с вашими первоначальными мыслями, которые, несомненно, будут духом, в котором эти элементы предназначены.

0

По MDN:

The HTML Element represents a group of introductory or navigational aids. It may contain some heading elements but also other elements like a logo, wrapped section's header, a search form, and so on.

, так что я не предлагаю вам использовать сноска тег внутри заголовка тега.

Смежные вопросы