@seredaes

Как правильно сверстать и что почитать посоветуете?

Привет.

У меня есть меню состоящее из прямоугольных блоков и картинка внутри с текстом.
< div >
< img src='...' >
< p > text < / p >
< / div >

Как корректно сделать ссылку?
Я все это внутрь тега < a > загнал с < div > блоком внутри. Но слышал, что это плохой тон и ваще.
Но как говорил Артемий Лебедев, главный Ваш валидатор - браузер! а не всякие там сервисы.
Что Вы скажите по этому поводу? Кроме как не по стандарту могут быть баги?
  • Вопрос задан
  • 201 просмотр
Решения вопроса 4
@Wheelie
<a href="#" class="делаем ссылку прямоугольным блоком">
<img /> <span>text</span>
</a>


ну или p вместо span. Работать это будет везде.
Ответ написан
div из a все-равно вывалится, т.к. в a не может быть многих элементов (блочных в основном). Я обычно в таких случаях, когда внутри a должно быть много контента, делаю ссылку с абсолютным позиционированием, растянутой на весь блок, и располагаю ее в самом начале.
<div>
<a href="#"></a>
<img src='...'>
<p> text</p>
</div>

Не знаю, насколько это корректно с ъ-точки зрения, но это более логично в данном случае.

А если в ссылке будет только img и p, то можно даже не оборачивать все это в div, чтобы не создавать лишний уровень вложенности, а просто вложить в тэг a.
<a href="#">
<img src='... >
<p>text</p>
</a>
Ответ написан
gr1mm3r
@gr1mm3r
50% ответа в правильном вопросе. Остальное мануал.
Как один из вариантов решения
<nav>
<dl>
  <li><a href="#">menu1<a/></li>
  <li><a href="#">menu2<a/></li>
  <li><a href="#">menu3<a/></li>
  <li><a href="#">menu4<a/></li>
</dl>
</nav>


dl {
  display:flex;
  justify-content:center;
   
}
li {
  min-width:10vw;
  min-height:10vh;
 background:url(http://lorempixel.com/150/50);  
  list-style-type:none;
  padding:0.5vw;
  margin:0.5vw;
}
a {color:white; text-decoration:none; }
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега HTML
frontend developer
<a href="#">
    <figure>
        <img src='...'>
        <figcaption> text </figcaption>
    </figure>
</a>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы