SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

HTML5 <main> tag element

cloxy

Super Moderator
Екип
След много дебати дали да има или да няма такъв таг, най-вероятно ще го бъде и вече е официално добавен в спецификация на HTML5. Накратко, използва се за ограждане на основното съдържание в сайта. Трябва да се има предвид, че <main> тагът не е секционен елемент!

За разлика от <article> тага, <main> може да се съдържа само веднъж на страница и да съдържа в себе си не чак-толкова уникално за страницата съдържание, примерно <aside>. Но основната цел на тагът е да съдържа в себе си един или няколко <article> тага. Тоест, решава проблема, когато на страница има повече от една публикация.

При повечето сайтове има елемент с клас или ID "main", който спокойно може просто да се смени с таг <main>. Следват два такива примера, които са валидни:

1. Страничната лента е извън <main>
HTML:
<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <header></header>
    <main>
      <article></article>
      <article></article>
      [...]
    </main>
    <aside></aside>
    <footer></footer>
  </body>
</html>

2. Страничната лента е в <main>
HTML:
<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <header></header>
    <main>
      <article></article>
      <article></article>
      [...]
      <aside></aside>
    </main>
    <footer></footer>
  </body>
</html>

3. Невалидно използване, което понякога се среща, особено в блогове
HTML:
<article>
  <h1></h1>
  <main></main>
</article>

Тоест, тагът <main> трябва да е извън <article> и да съдържа в себе си цели публикации, а не само съдържанието им.

Много полезна статия с дискусия в коментарите по темата: http://html5doctor.com/the-main-element/
 
Re: HTML5 <main> tag element

Васко, мерси много, много полезно :eek:

за пример 2 да питам - как така страничната лента е в main

тя не е ли (sidewide) меню и не би ли трябвало да е в aside, но извън main ?
 
Последно редактирано от модератор:
Re: HTML5 <main> tag element

Васко, мерси много, много полезно :eek:

за пример 2 да питам - как така страничната лента е в main

тя не е ли (sidewide) меню и не би ли трябвало да е в aside, но извън main ?

И аз това се чудех, но реално <aside> си носи информация за това, че е странична информация и това е ясно, дори да е в <main>. Също така <aside> може да се поставя дори в <article>.

Дори в сайта html5dotor.com, от където тръгна цялата информация, страничната лента е поставена в <main>, а те са най-запознати с казуса. Просто при някои типове layout, няма как това да се избегне. Практиката не го позволява.

А и още тагът е в много начален стадий на интеграция. В бъдеще е възможно наистина това да се промени.
 
Re: HTML5 <main> tag element

Ако ще използвате тага, слагайте в CSS кода:

Код:
main {display:block;}

че малоумният Internet Explorer не е чувал за него (нормално) и прави проблеми, които дори html5shiv не може да реши, защото се активира под версия 9. А микромеките браузърът им дори и последната версия 10 е с 10 години назад и не е чувала за HTML5. Винаги съм казвал, че там само сменят дизайна, а отзад си е същото от миналия век, но това е друга тема.
 
За: HTML5 <main> tag element

За: HTML5 <main> tag element

много полезна статия, особено последното уточнение за CSS кода
 
Мерси за споделянето, а да използвам темата, ако може...

Само на мен ли ми засичат всички видеа в сайта, в началото, когато ги пусна? След което Опитвам да ги стартирам отново и тогава тръгват - някой път без проблем докрая, друг път със засечка тук-таме? O_O
 

Горе