Я делаю простой переход вверх/вниз по слайду.Переходы CSS - проблемы с переполнением и коробкой
Установка проста - у меня есть родительский form
элемента, который overflow: hidden; max-height: 0; transition: 200ms, all;
примененных к нему и ребенку fieldset
, который имеет border: 1px solid #ddd; margin: 0; padding: 10px; box-shadow: 0 1px 5px #aaa;
. Чтобы сделать эффект слайда, я применяю класс к родительскому объекту form
, который, в свою очередь, изменяет свой css на max-height: 100px; overflow: visible;
.
Вот скрипку его в действии:
Моя проблема связана с меня того, чтобы установить overflow: visible
на открытом состоянии, вы можете увидеть форму «выцветания», а не просто скольжения вниз (нажмите кнопку просмотра 1, чтобы увидеть это). Если я снимаю overflow: visible
, тогда box-shadow
не отображается.
Как я могу обойти эту проблему и создать мой переход вверх/вниз по слайду и сохранить видимость box-shadow
?
Мой полный HTML:
<div class="container">
<ul>
<li>
<p>view 1</p>
<form>
<fieldset>
<label>a label</label>
<input type="text" />
<br/>
<label>a label</label>
<input type="text" />
</fieldset>
</form>
</li>
<li>
<p>view 2</p>
<form>
<fieldset>
<label>a label</label>
<input type="text" />
<br/>
<label>a label</label>
<input type="text" />
</fieldset>
</form>
</li>
</ul>
</div>
Полный CSS:
/* setup */
.container { margin: 15px; border: 1px solid #ccc; }
ul { list-style: none; margin: 0; padding: 0; }
li { border-bottom: 1px solid #ccc; }
li:last-of-type { border-bottom: none; padding-bottom: 0; }
fieldset { border: 1px solid #ddd; margin: 0; padding: 10px; }
p { cursor: pointer; transition: 200ms, all; padding: 15px; margin: 0; }
p:hover { background: #fff6e3; }
.open p { background: #fff6e3; }
/* show/hide */
form { overflow: hidden; max-height: 0; transition: 200ms, all; }
.open form { max-height: 100px; overflow: visible; transition: 200ms, all; box-shadow: 0 1px 5px #aaa; }
ЯШ:
$('p').click(function(e){
$(this).parent().toggleClass('open');
});
Эй, этот вопрос был помечен как закрытый. Я собираюсь голосовать, чтобы держать его открытым, но было бы полезно, если бы вы могли немного поработать над этим, чтобы оправдать, что я трачу свое время на это. Основная проблема заключается в том, что ваш код находится на jsfiddle, а не встроен в quesiton (см.: [Ask] для получения более подробной информации об этом). SO теперь предлагает те же возможности, что и jsfiddle, поэтому вам больше не нужно покидать место.Проблема с вашим кодом только в jsfiddle заключается в том, что если этот сайт исчезнет, ваш вопрос станет нечитаемым. –
Я вижу «коробку-тень» без «переполнения: видимый». Это только я? http://jsfiddle.net/1Lqmrzgw/1/ – showdev
@EngineerDollery - я скопирую код. – boz