Какой тег следует использовать для элемента логотипа, если логотип является текстом?
Я прочитал, что<h1>
tag не подходит для логотипа. Но если ваш логотип простой текст, что вы должны использовать? Я чувствую, что <p>
и <span>
также не подходят. Вот пример:
<header>
<nav>
<a id="logo" href=".">
<span>Company Name</span>
</a>
<a id="linkOne" href="#thingOne">
<img src="…">
</a>
<a id="linkTwo" href="#thingTwo">
<img src="…">
</a>
<a id="linkThree" href="#thingThree">
<img src="…">
</a>
</nav>
</header>
спасибо!
3 ответов
учитывая ваш пример разметки, вы, кажется, спрашиваете о ссылке в nav
элемент. Если это так, вы не должны использовать элемент заголовка для него, потому что элемент заголовка будет помечать nav
раздел (это, вероятно, не то, что вы хотите передать; если у вас будет заголовок в nav
, Это, вероятно, должно быть что-то вроде "навигации").
в этом случае вам вообще не понадобится специальный элемент, просто перечислите ссылки в nav
(идеально в пределах a ul
):
<header>
<nav>
<ul>
<li><a id="logo" href="." rel="home">Company Name</a></li>
<li><a id="linkOne" href="#thingOne"><img src="…" alt="…"></a></li>
<li><a id="linkTwo" href="#thingTwo"><img src="…" alt="…"></a></li>
<li><a id="linkThree" href="#thingThree"><img src="…" alt="…"></a></li>
</ul>
</nav>
</header>
однако, если вы говорите об имени сайта, которое (как правило) отображается в баннере/заголовке сайта на каждой странице, используя h1
имеет смысл, потому что он представляет сайт, в котором должны быть все разделы страницы (например, навигация по всему сайту), и он дает контуру документа метку верхнего уровня (которая в противном случае не была бы указана). В таком случае он не должен быть частью nav
; его ближайшая секция должна быть body
срезания корень.
семантически не имеет значения, отображается ли имя/логотип сайта в виде изображения или текста. В случае изображения alt
атрибут предоставляет эквивалентное содержимое в виде текста.
поэтому для логотипа сайта у вас может быть:
<body>
<header>
<h1><a href="/" rel="home"><img src="…" alt="ACME Inc."></a></h1>
</header>
</body>
и для имени сайта у вас может быть:
<body>
<header>
<h1><a href="/" rel="home">ACME Inc.</a></h1>
</header>
</body>
нет "семантического" способа (т. е. синтаксиса) разметки логотипа в HTML, поэтому на фундаментальном уровне нет правильного или неправильного способа. Тем не менее, я бы не использовал <h1>
для логотипа, так как заголовок-теги должны структурировать ваш HTML.
Я обычно использую простой <div>
или <a>
с логотипом в качестве фонового изображения, потому что я думаю, что это хороший способ, чтобы скрыть это от читателей экране. Честно говоря, я не вижу большой ценности размещения логотипа в качестве <img>
на <section>
С раздел должна охватывать тематическую группировку содержания.
в вашем случае, я бы отформатировать <a>
as inline-block
и установите логотип в качестве фонового изображения.
Я считаю, что тег будет в основном от вас.
Я не вижу, почему это не должно быть h1, учитывая, что это обычный текст.
но анализируя ваше дело, вот что я бы сделал.
1. Используйте h1 и определите его как тег, который будет использоваться для отображения логотипа. Никогда больше он не должен использоваться в dom. 2. Создайте новый тег для логотипа, например . Они называются "пользовательские элементы". Это должно быть что-то вроде это:var logo = document.registerElement('com-logo', {
prototype: Object.create(HTMLElement.prototype)
});
тогда вам придется отформатировать логотип с помощью CSS.
читать этой чтобы узнать немного больше о пользовательских элементов! :)