html — Ссылка выходит за рамки div
Всем привет, есть блок с шириной в 20%, он обернут в ссылку, все хорошо, да вот только ссылка почему-то по ширине занимает 100% документа, пробовал и задавать ширину, и прочее — не выходит, не могу понять, в чем причина, прочитал как оборачивать блок в ссылку но так, как описано — не выходит, может кто подскажет. Вот код:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>border-spacing</title> <style> .div1 { display:block; width:20%; height:80px; background:red; } </style> </head> <body> <a href="#ler"><div></div></a> </body> </html>
- html
- css
.div1 { /*display:block*/ display: inline-block; width: 20%; height: 80px; background: red; }
<a href="#ler"> <div></div> </a>
По хорошему, блочный элемент нельзя помещать в строчный. Поэтому такая ерунда и происходит.
Лучше сделать так (если есть такая возможность):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>border-spacing</title> <style> .div1 { display:block; width:20%; height:80px; background:red; } .link { display: inline-block; width: 100%; height: 100% } </style> </head> <body> <div><a href="#ler"></a></div> </body> </html>
Советую почитать вам о блочной модели документа и о том, как правильно с ней работать 🙂
Например так можно решить (поменять местами ширину немножко):
a { width: 20%; display: block; } .div1 { display:block; height:80px; background:red; }
<a href="#ler"><div></div></a>1
Добавил в css position: absolute
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>border-spacing</title> <style> .div1 { display:block; width:20%; height:80px; background:red; position: absolute; } </style> </head> <body> <a href="#ler"><div></div></a> </body> </html>
Зарегистрируйтесь или войдите
Регистрация через GoogleОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Ссылки внутри страницы | WebReference
Ссылки допустимо указывать не только на другой сайт или документ, но и на элемент внутри страницы. Такая возможность применяется для добавления оглавления страницы с быстрым переходом к нужному разделу (так делает, например, Википедия) или для создания различных элементов интерфейса вроде вкладок.
Элемент, на который требуется сделать ссылку, обозначается идентификатором, а адрес ссылки меняет свой вид на #id, как показано в примере 1.
Пример 1. Ссылка на заголовок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> .toc { padding: 0 20px; background: #f0f0f0; display: inline-block; } </style> </head> <body> <div> <h3>Оглавление</h3> <ul> <li><a href=»#t1″>Сепульки</a></li> <li><a href=»#t2″>Сепулькарии</a></li> <li><a href=»#t3″>Сепуление</a></li> </ul> </div> <h3>Сепульки</h3> <p>Важный элемент цивилизации ардритов с планеты Энтеропия.Результат данного примера показан на рис. 1. К каждому заголовку <h3> добавлен уникальный идентификатор через атрибут id, а сама ссылка имеет вид #id, где id — идентификатор элемента на который делается переход.
Рис. 1. Ссылки на заголовки
Как видите, по своему виду такие ссылки ничем не отличаются от ссылок на другой сайт. Но стоит открыть любую ссылку в примере, как браузер переместит фокус к заголовку, на который ведёт ссылка. При этом немного поменяется и адресная строка, в конец пути будет добавлено #t1 или подобное. Если нажать кнопку «Назад» в браузере, то мы вернёмся обратно к началу страницы и адресная строка примет исходный вид. Это позволяет передавать ссылки вида webref.ru/layout/#title, при открытии такой ссылки в браузере будет загружена страница и сделан переход к элементу с идентификатором title.
Псевдокласс :target
CSS позволяет управлять видом элемента, на который был сделан переход, с помощью псевдокласса :target, как показано в примере 2.
Пример 2. Использование :target
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> .toc { padding: 0 20px; background: #f0f0f0; display: inline-block; } h3:target { background: #cd529e; color: #fff; padding: 5px; } </style> </head> <body> <div> <h3>Оглавление</h3> <ul> <li><a href=»#t1″>Сепульки</a></li> <li><a href=»#t2″>Сепулькарии</a></li> <li><a href=»#t3″>Сепуление</a></li> </ul> </div> <h3>Сепульки</h3> <p>Важный элемент цивилизации ардритов с планеты Энтеропия.</p> <h3>Сепулькарии</h3> <p>Устройства для сепуления.Теперь, если переходить по ссылкам оглавления, то заголовки будут менять свой цвет и фон (рис. 2).
Рис. 2. Стиль заголовка при переходе
См. также
Автор: Влад Мержевич
Последнее изменение: 11.03.2020
Как сделать Div кликабельной ссылкой
Элементы
Выполните указанные шаги для первого решения. Речь идет о создании тега привязки внутри div и стилизации привязки таким образом, чтобы она покрывала всю область внутри div
В первом решении используется абсолютная позиция CSS, что в большинстве случаев является плохой практикой. Вы можете прокрутить вниз, чтобы увидеть другое решение.
Создать HTML
- Создатьс именем класса «контейнер».тело>
- Используйте элемент
<тело> <дел> W3Docs <промежуток> промежуток>
Создать CSS
- Установите положение «абсолютно» для внутреннего тега .
- Используйте свойство z-index, чтобы поместить ссылку над всеми остальными элементами в div.
.контейнер { размер шрифта: 5em; цвет фона: #a8a8a8; белый цвет; ширина: 8em; высота: 2см; высота строки: 2; выравнивание текста: по центру; семейство шрифтов: Helvetica, Arial, без засечек; вес шрифта: полужирный; курсор: указатель; положение: родственник; } .связь { положение: абсолютное; ширина: 100%; высота: 100%; сверху: 0; слева: 0; z-индекс: 1; }
Давайте посмотрим полный код.
Пример превращения div в интерактивную ссылку:
<голова> <стиль> . контейнер { размер шрифта: 5em; цвет фона: #a8a8a8; белый цвет; ширина: 8em; высота: 2см; высота строки: 2; выравнивание текста: по центру; семейство шрифтов: Helvetica, Arial, без засечек; вес шрифта: полужирный; курсор: указатель; положение: родственник; } .связь { положение: абсолютное; ширина: 100%; высота: 100%; сверху: 0; слева: 0; z-индекс: 1; } стиль>
- Используйте элемент
Попробуй сам »
Результат
W3Docs
Вы также можете использовать
<голова> <стиль> а { дисплей: блок; фон: оранжевый; отступ: 20 пикселей; выравнивание текста: по центру; } стиль> голова> <тело> w3docs.com/learn-html/html-introduction.html"> <дел> Это кликабельный div.
Попробуй сам »
Поскольку элемент div находится внутри тега привязки, тег привязки покрывает всю область элемента div, и, таким образом, элемент div становится ссылкой, по которой можно щелкнуть.Тег div HTML
❮ Назад Полный справочник HTML Далее ❯
Пример
Раздел
Это заголовок в элементе div
Это какой-то текст в элементе div.
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Тег Тег Любой контент может быть помещен внутрь Примечание: По умолчанию браузеры всегда помещают разрыв строки до и после Тег Тег Учебник по HTML: Блочные и встроенные элементы HTML Учебник по HTML: Макет HTML Ссылка на DOM HTML: Div Object div { ❮ Предыдущая
Полный справочник HTML
Следующий ❯ Тег
Поддержка браузера
Элемент <дел> Да Да Да Да Да Глобальные атрибуты
Атрибуты событий
Связанные страницы
Пример
display: block;
} НАБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
9000 3 Основные каталожные номера
Справочник по HTML
Справочник по CSS
javaScript Ссылка
Ссылка на SQL
Справочник Python
W3.