Задать вопрос
50VAJJ
@50VAJJ

Как лучше сделать ссылку в списке ul li?

Привет. Есть список из ul li. Проблема в том, что перейти по ссылке возможно лишь в том случае, если кликать по тексту. Выглядит так - >
<ul>
        <li><a href="">Что-то</a></li>
 </ul>

Есть ли способ сделать так, чтобы ссылка начиналась с li, и не ставить список в ссылку ->
<ul>
        <a href=""><li>Что-то</li></a>
 </ul>

Ведь способ выше это говнокод?
  • Вопрос задан
  • 7942 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
aliencash
@aliencash
Партизан
Первый, способ приведенный вами в вопросе, единственно верный.
Чтобы ссылка "начиналась" с <li>, не нужно <li> в CSS давать padding. Давайте его для <a>. А для того, чтобы вертикальные отступы то же сработали дайте для <a>display: block или display: inline-block.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
dom1n1k
@dom1n1k
Правильный ответ:
<ul>
    <li><a href="#">Что-то</a></li>
</ul>

li > a {
    display: block;
}

Конечно, в реальном коде стили лучше вешать не на теги, а на классы. Тут просто принцип.
Ответ написан
Комментировать
Astrohas
@Astrohas
Python/Django Developer
<ul>
        <li>
           <a href="адрес_обязателен">Что-то</a>
        </li>
 </ul>
Ответ написан
Комментировать
@Michael_Fair
li {
  border: 1px solid red;
  list-style-type: none;
  width:fit-content;    /*Ширина li будет зависит от содержимого*/
  border-radius: 10px;  /*Радиус закругления углов*/
  overflow: hidden;	/* Скрывает содержимое, которое не помещается в li.  
 }                        В нашем случае, мы закруглили углы, но желтый фон ссылки выглядывает, 
                          поэтому ИСПОЛЬЗУЕМ эту строчку */


a {
  display: inline-block;     /* Инлайн-блок, чтобы работали padding'и */
  padding:15px 80px;
  text-decoration: none;
  background-color: yellow;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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