Распечатать CSS URL в новой строке
Для стилей печати я в настоящее время печатаю URL после текста. Возможно ли, чтобы оно появилось на следующей строке, а не рядом с текстом? Это то, что я до сих пор.
a:after {
content:" (" attr(href) ")";
}
Результат:
Напишите мне (hello@email.com)
Хотите это вместо этого:
Напишите мне
(Hello@email.com)
Пример: http://jsfiddle.net/qesRk/
3 ответа
Попробуй это -
a:after {
font-style: italic;
content: "\A and some text after."; white-space:pre;
}
Существуют различные способы сделать :after
псевдоэлемент начинается с новой строки, как показано в других ответах. Но пример в вашем вопросе говорит, что желаемый рендеринг
Напишите мне
(Hello@email.com)
Это не может быть достигнуто с помощью только CSS, если цель состоит в том, чтобы адрес из href
атрибут ссылки. Причина в том, что работающий href
значение должно начинаться с mailto:
и вы не можете ничего опустить в значении атрибута при использовании таких конструкций, как attr(href)
, То, что вы можете достичь, это
Напишите мне
(Электронная почта:hello@email.com)
Для этого дана разметка <a href="mailto:hello@email.com">Email me</a>
, вы бы использовали
a:after {
content: " (" attr(href) ")";
display: block;
margin-top: 1.2em;
}
предполагая, что вы тоже хотите пустую строку, как в вашем примере. Замените 1.2 на значение высоты строки, которое вы используете.
PS Это звучит излишне сложно в любом случае. Использование только адреса электронной почты в контенте, опционально a href
элемент, будет достаточно, как на экране, так и на печати. (При печати вы обычно хотели бы подавить подчеркивание ссылок, но это общая проблема.) Если вы задумывались о том, чтобы запретить сборщикам адресов электронной почты получать адреса из содержимого, помещение адреса в атрибут не очень помогает (они легко обрабатываются комбайнами).