Взгляните на css селекторы
Вы используете этот селектор в сообщении, поэтому я думаю, что вы не используете тот же селектор в вашем коде для выполнения отображения: нет;
#fixed ul li a span{
display: none;
}
Применится дисплей: нет;в потомке (Любой элемент, совпадающий с span, который является потомком элемента, совпадающего с a, который является потомком элемента, совпадающего с li и т. д.
#fixed > ul > li > a > span{
display: none;
}
Это более "строгий" способ сделать почтито же самое (Любой элемент, соответствующий диапазону, который является прямым дочерним элементом элемента, совпадающего с, и т. д.)
Оба должны работать (см. пример ниже). Так что если нет, вы можете иметьошибка в вашем коде, которая применяет наследование свойства display или чего-то подобного, или ваш полный код имеет различия между обоими селекторами (возможно, вам нужно выбрать прямые потомки, а вы выбираете потомков).
Попробуйте сначала применитьпрямой дочерний селектор, просто добавив> между потомками, если не работает, просмотрите и попытайтесь найти, где применяется наследование.
Другая возможная причина в том, что вы можете использовать js или jquery для применения display no, и это не перехватывает селектортак что попробуйте проверить и определить, где применяется свойство display (возможно, вы закодировали $('#fixed').hide();
?
ul#first > li > a > span{display: none;}
ul#second li a span{display: none;}
<ul id="first">
<code>ul#first > li > a > span{display: none;}</code>
<li><a href="#">icon- <span>a</span></a></li>
<li><a href="#">icon- <span>b</span></a></li>
</ul>
<ul id="second">
<code>ul#second li a span{display: none;}</code>
<li><a href="#">icon- <span>a</span></a></li>
<li><a href="#">icon- <span>b</span></a></li>
</ul>
<ul id="third">
<code>No css applied</code>
<li><a href="#">icon- <span>a</span></a></li>
<li><a href="#">icon- <span>b</span></a></li>
</ul>