Можете ли вы применить правило css `content` к дочерним элементам? - PullRequest
5 голосов
/ 20 августа 2011

Можно ли применить содержимое правила ccs к дочерним элементам?

css:

a:link:before, a:visited:before{
    content: " "attr(href)" ";
}

html:

<a href="/home">Home</a>

Результат:

 -------------
|    /home    |
|    Home     |
 -------------

Однако я хотел бы сделать следующее:

html:

<a href="/home"><span>home</span></a>

При предыдущем css значение href будет отображаться перед span.

Возможно ли сделать так, чтобы оно появилось в span?

Я пробовал это .Это для карты сайта.

Ответы [ 2 ]

4 голосов
/ 20 августа 2011

Нет, это невозможно.

Чтобы визуализировать сгенерированный контент внутри span, вам нужно a:link span:before.

К сожалению, в этом случае content: " "attr(href)" "; больше не будетработать, потому что элемент a больше не является субъектом селектора - span есть, а span не имеет атрибута href.

0 голосов
/ 20 августа 2011

Это невозможно, потому что attr(...) работает только для самого элемента, но вам действительно нужно что-то вроде этого:

a:link > span:before { content: " "parent.attr(href)" "; }

Но в CSS нет такой вещи, как parent.attr().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...