Вроде возможно, но все еще не уверен, что вы бы хотели
И создает некоторые серьезные проблемы, которые варьируются в зависимости от контекста.
Одна из проблем заключается в том, что ваша заявленная цель состоит в том, чтобы уменьшить беспорядок и избыточность html. Однако, чтобы иметь ссылку, вам все равно нужно иметь элемент привязки (<a></a>
) в качестве корня для ссылки.
Тем не менее, в одну сторону вы могли бы сделать что-то подобное с сегодняшними браузерами (теперь, когда псевдоэлементы поддерживаются более широко), это отделить текст от a
, который оставляет пустым якорь в вашем коде. Таким образом, у вас все еще есть HTML a
в коде, но вы исключаете излишний текст . Насколько это действительно полезно? Не очень моя мысль. Особенно, если вы имеете дело с встроенными ссылками, которые являются частью текста , потому что то, что вам нужно сделать, это добавить текст к этим ссылкам через псевдоэлемент, что-то вроде:
a[href='#oneUrl']:before {
content: 'your anchor text';
}
Посмотрите на этот пример скрипки .
Однако есть другой способ , который еще больше сокращает HTML , но имеет некоторые другие серьезные ограничения. Вы могли бы иметь ссылки в самом тексте (скажем), который учитывает соответствующую реальную формулировку содержания в них. Однако каждый из них может иметь два ( max в настоящее время) связанных псевдоэлемента, которые могут «расширяться» до отдельных ссылок в верхних и нижних колонтитулах и т. Д. Посмотрите на этот пример скрипки, Очевидно, это требует от вас точного определения местоположения этих ссылок (возможно, с использованием position: fixed
, как в примере), что может быть проблематичным. Большая проблема, однако, заключается в том, что поисковые системы не будут собирать эти дополнительные ссылки или их текст, а программы чтения с экрана - нет, поэтому ваша «основная навигация» фактически становится невидимой в некоторой степени. Это может показаться мне нежелательным, но действительно ограничивает вашу избыточность html .