Я получил эту работу, установив max-height на none, получив высоту, заново установив max-height на рассчитанную высоту. Префектно работает для меня. Я получил эту работу для меню Accordeon, с <h5>
в качестве переключателя, расширяющего <div>
внутри <div>
.
JS:
$('h5').click(function(e) {
$(this).parent('div').addClass('temp_expanded');
var getheight = ($(this).parent('div').find('div').height());
$(this).parent('div').removeClass('temp_expanded');
$(this).parent('div').find('div').css('max-height', getheight);
});
МЕНЬШЕ:
div {
> div {
max-height: 0px;
overflow: hidden;
.transition(all 0.3s ease-in-out);
}
&.temp_expanded {
> div {
max-height: none;
}
}
Я использую этот скрипт для выделения нескольких шаблонов поиска.
Ответ Канопуса, вероятно, лучший способ сделать это, если вы часто его используете, но если вы хотите сделать это с помощью ванильной установки vim (или, точнее, без установки плагины), вы можете просто сделать:
:call matchadd('Search', 'foo')
:call matchadd('Search', 'bar')
Затем вы можете удалить все совпадения с помощью
:call clearmatches()
. Также есть способы быть более суетливыми в отношении того, что вы очищаете (с помощью : call matchdelete (...)
) путем сохранения вывода matchadd в переменную. Вы можете узнать больше об этом в : help matchadd ()
и : help matchdelete ()
Если вы не используете слишком сложный файл синтаксиса (и, в частности, не используете радугу. выделение vim), вы, вероятно, также можете сделать это с помощью:
:syn keyword Search foo
:syn keyword Search bar
и очистить его с помощью
:syn clear Search
. Единственное возможное преимущество, которое я могу придумать, это то, что если есть много совпадений, которые вы ' При попытке выделить, выделить ключевое слово
намного быстрее, чем выделить совпадение
(так как последнее использует поиск по регулярному выражению). Вы по-прежнему можете выполнить сопоставление syn keyword
, если используете rainbow.vim, но эта команда намного сложнее.