2013-11-20 1 views
0

Только сегодня я спросилСелектор для элемента с определенным классом, если он является единственным и единственным «видимым» дочерним элементом его родителя?

Selector for an element with certain class, if it is the one & only child of its parent?

но что, если мы должны выбирать элементы с классом, если это один & только «видна» дитя своего родителя? Я знаю, что это можно легко сделать с помощью jQuery, но я ищу чистое решение для CSS (которое работает во всех основных браузерах). Могу ли я написать выражение для селектора CSS для таких элементов?

+0

Как вы скрываете элементы, вы хотите избежать стилизации? –

+0

@DavidThomas: использование 'display: none' –

+0

да, но это может быть непосредственно на элементе или через класс –

ответ

1

Невозможно определить, является ли объект «видимым» с помощью CSS, поэтому это невозможно. Обратите внимание, что jQuery также может только определить, является ли объект «видимым» для определенного определения «видимый».

Вот example where it fails:

<body> 
    <div style="position:absolute; top: -100px">Am I visible?</div> 
</body> 

Вот another. Heck, даже visibility: hiddenis considered visible. Есть много творческих способов сделать что-то «невидимым» для человека, так что термин нуждается в строгом определении, прежде чем мы сможем начать говорить о технологиях.

+0

* visibile * для моего случая будет означать, что элемент не отображается: none' –

0

надеюсь, что это поможет, мы выбираем в CSS чувак, его просто пример того, как выбрать

div > .child:not([style*='visibility:hidden']) { 
    border-top: 1px solid #cccccc; 
    border-bottom: 1px solid #cccccc; 

} 

Demo

другой

Demo

+0

Недостаток, который вы терпите неудачу что вам нужно скрыть элемент, используя встроенные стили, а не таблицу стилей; что означает, что необходимо соблюдать и поддерживать два отдельных подхода CSS. –

+0

его просто знания основаны. –

+1

Я понятия не имею, что это ответ или не-sequitur. Но да, может быть; хотя, по-вашему, OP помнит об ограничениях, учитывая вопрос? Кроме того, каким образом это соответствует части «если и если», если это требование; ваш подход стилирует элементы, которые не скрыты (для заданного значения «скрытый»), но в био-режиме ограничивает выбор «только одним». –

Смежные вопросы