2014-09-10 3 views
3

Я пытаюсь создать выпадающее меню, используя вложенный <ul>, каждый <li>, отображающий число, сгенерированное с помощью счетчиков CSS.Счетчик CSS в скрытом подменю

Подменю скрыты с display:none, когда не парили.

Моя проблема заключается в том, что счетчики не увеличиваются, когда элемент имеет display, установленный в none.

Знаете ли вы свойство CSS, чтобы предотвратить это?

Если я заменил display: none на visibility: hidden, он работает, но я не уверен, приятно ли это использовать для моего меню, есть ли какие-либо ловушки?

+0

показать код, что вы пробовали. Будет рассмотрена скрипка – Benjamin

+0

Возможно, вместо 'display' можно изменить' height'? – Luke

+0

Возможный дубликат http://stackoverflow.com/questions/14049423/in-css-use-displaynone-on-the-element-but-keep-its-after – Holybreath

ответ

2

Вы можете имитировать поведение display: none (скрытое), установив font-size в 0px, и это заставит элемент подсчитываться свойством counter.

.hidden{ 
    font-size: 0px; 
} 

Demo


Или, немного более сложная версия выше (упоминается Hashem Qolami в комментариях)

.hidden{ 
    font: 0/0 a; 
    visibility: hidden; 
} 

Demo 2


Примечание:visibility: hidden также будет работать, но он оставил бы пространство, эквивалентное высоте одной строки на выходе.

Demo using Visibility Property

+2

Спасибо вам, а также Hashem – FLX