2016-12-05 6 views
0

Когда я пытаюсь настроить таргетинг на все элементы привязки внутри элемента p, используя селектор потомков. Правила применяются только к дочерним элементам, а не к вложенным элементам.селектор потомков не работает

p a { 
 
    display: inline; 
 
    color: red; 
 
}
<p> 
 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
 
    <a href="http://www.quora.com">Go to QUORA</a> 
 
    <div> 
 
    <a href="http://www.channel9.com">channel9</a> 
 
    </div> 
 
</p>

+0

скрипку или стопка сниппает пожалуйста –

+0

Его, потому что DIV является блочным элементом, и он будет появляться в блоке до тех пор пока вы делаете это рядным также. – Aslam

+0

https://jsfiddle.net/rajinirajadev/vbfqjymg/1/ –

ответ

0

Кажется, ваш HTML является недействительным, попробуйте заменить p с div. Он должен работать. Что-то вроде ниже -

div a { 
 
    display: inline; 
 
    color: red; 
 
}
<div> 
 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
 
    <a href="http://www.quora.com">Go to QUORA</a> 
 
    <div> 
 
    <a href="http://www.channel9.com">channel9</a> 
 
    </div> 
 
</div>

Для получения дополнительной информации - Why <p> tag can't contain <div> tag inside it?

+1

Уточнение: http://stackoverflow.com/questions/8397852/why-p-tag-cant-contain-div-tag-inside-it – Roberrrt

0

Вы не можете использовать DIV внутри элемента р

p a { 
 
    display: inline; 
 
    color: red; 
 
}
<p> 
 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
 
    <a href="http://www.quora.com">Go to QUORA</a> 
 
    <span> 
 
    <a href="http://www.channel9.com">channel9</a> 
 
    </span> 
 
</p>

0
<p> 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
    <a href="http://www.quora.com">Go to QUORA</a> 
    <div> 
     <a href="http://www.channel9.com">channel9</a> 
    </div> 
</p> 

CSS

a { 
    display: inline; 
    color: red; 
} 
0

p тег не может иметь div тег внутри него. Поскольку это недопустимый html, ваш браузер исправляет это для вас. Он закрывает тег p, как только он видит тег div. А также добавляет стартовый p тег для закрытия p тега

Действительного HTML

<p> 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
    <a href="http://www.quora.com">Go to QUORA</a> 
    <div> 
     <a href="http://www.channel9.com">channel9</a> 
    </div> 
</p> 

Что это на самом деле оказывает

<p> 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
    <a href="http://www.quora.com">Go to QUORA</a> 
</p> 
<div> 
    <a href="http://www.channel9.com">channel9</a> 
</div> 
<p></p> 

А поскольку a тег с текстом channel9 не находится внутри p тег, ваш css не имеет никакого эффекта

0

Pleas e используйте этот код вместо кода выше.

.clr-rd a { 
 
    color: red; 
 
    display: inline; 
 
}
<div class="clr-rd"> 
 
    <p> 
 
    <a href="http://www.reddit.com">Go to Reddit website</a> 
 
    <a href="http://www.quora.com">Go to QUORA</a> 
 
    <div> 
 
     <a href="http://www.channel9.com">channel9</a> 
 
    </div> 
 
    </p> 
 
</div>

+0

благодарит много. оно работает –