Есть ли способ отображать ссылки как сноски в печатных СМИ?

Я знаю, что вы можете поместите URL-адреса ссылок сразу после самой ссылки, но есть ли способ сделать это внизу страницы?

Если у меня есть страница, которая выглядит так:

<p>Check <a href = "http://example.com">here</a> and <a href = "http://example.net">here</a> for more information.</p>

Я могу использовать приведенный выше трюк с CSS, чтобы версия для печати выглядела так:

Check here (http://example.com) and here (http://example.net) for more information.

Есть ли способ сделать так, чтобы это выглядело вместо этого?

Check here[1] and here[2] for more information.

[1] http://example.com
[2] http://example.net

Вы можете добавить таблицу стилей печати, в которой вы можете отображать / скрывать / изменять содержимое, как обычно при работе с медиа-запросами. См. css-tricks.com/css-tricks-finally-gets-a-print-stylesheet и этот davidwalsh.name/…. Я думаю, что статья Дэвида Уолша касается того, чего вы хотите достичь.

roymckrank 31.03.2021 00:29

@roymckrank Оба они фактически используют тот же трюк, который я указал в вопросе, который помещает URL-адрес непосредственно рядом со ссылкой. Я надеялся получить что-нибудь, что вместо этого поместит их в конец страницы.

zimdanen 31.03.2021 00:31

Я могу пронумеровать их, используя комбинацию этого трюка и счетчики css; просто нужно получить ссылки в самый низ.

zimdanen 31.03.2021 00:36
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
3
27
1

Ответы 1

Я лично так бы и поступил.

Сначала создайте скрытый элемент ul внизу с я бы.

<ul id = "footnotes"></ul>

CSS

#footnotes {
    list-style: none;
    position: fixed;
    bottom: 0;
    display: none;
}

Затем вручную присвойте всем элементам a на странице индекс.

<a href = "https://google.com" data-index = "1">My link</a>
<a href = "https://amazon.com" data-index = "2">My link</a>
<a href = "https://spotify.com" data-index = "3">My link</a>

Затем покажите элемент сносок в режиме печати и прикрепите его индекс сзади.

@media print {
    a:after {
        content: "["attr(data-index)"]";
    }

    #footnotes {
        display: block;
    }
}

Теперь выполните итерацию в JavaScript по всем элементам a на странице и покажите ссылку для каждого индекса.

const footNotes = document.getElementById('footnotes');
const links = document.getElementsByTagName('a');

for (var i = 0; i < links.length; i++) {
    var li = document.createElement('li');
    li.innerHTML = '[' + links[i].getAttribute('data-index') + '] ' + links[i].getAttribute('href');

    footNotes.appendChild(li);
}

Спасибо! Я знаю, что могу сделать это с помощью javascript; просто пытаюсь понять, смогу ли я сделать это с помощью простого CSS.

zimdanen 31.03.2021 00:43

Я думаю, это невозможно без JavaScript.

Engin 31.03.2021 00:47

Другие вопросы по теме