html - 当外部 div 宽度动画为 0px 时保留内部 div 宽度

标签 html css twitter-bootstrap

我有这样的情况:http://jsfiddle.net/hLzfr06j/3/

<div class="outer col-xs-12 col-sm-6 col-md-4 col-lg-3">
    <div class="inner">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
        Sed posuere interdum sem. Quisque ligula eros ullamcorper quis,
        lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu.
        Sed arcu lectus auctor vitae, consectetuer et venenatis eget velit.
    </div>
</div>

我想将外部 div 设置为 width: 0px; 的动画,以便内部 div 的内容保持其宽度并且不会像在 fiddle 中那样在动画期间被向下推。

编辑:在动画期间应隐藏内部 div 内容的溢出部分。

编辑:让动画变成这样:

enter image description here

最佳答案

您需要做的就是在更改外部 div 的宽度之前设置内部 div 的宽度:

function slide() {
    var currentWidth = $(".inner").width();
    $(".inner").width(currentWidth);
    $(".outer").addClass("collapsed");
}
function slideBack() {

    $(".outer").removeClass("collapsed");

    setTimeout(function() {
        $(".inner").width("auto");
    }, 350);
}

在向后滑动时,我还添加了一个等于过渡持续时间的超时,这样它就不会在外部 div 仍在更改过程中时闪烁。

div.outer {
    padding: 0;//add
    overflow: hidden; //add

    margin: 20px;
    -webkit-transition: width 350ms ease-in-out;
    -moz-transition: width 350ms ease-in-out;
    -o-transition: width 350ms ease-in-out;
    -ms-transition: width 350ms ease-in-out;
    transition: width 350ms ease-in-out;
}

您还需要添加 overflow 属性并确保外部 div 没有填充。

https://jsfiddle.net/reesewill/fb1sj7zz/

关于html - 当外部 div 宽度动画为 0px 时保留内部 div 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29033631/

相关文章:

javascript - React 防止焦点窃取 onClick

jquery - FullCalendar - 在议程 View 中删除时间轴?

html - 当窗口很小时,网站无法向页面左侧滚动

twitter-bootstrap - Bootstrap 预输入 : Remove forced selection of first item

HTML 元素未进入顶栏

jquery - 当内容动态变化高度时侧边栏的高度相等

div 的 CSS 背景图像底部

php - 如何设置 PHP 生成的标签的样式?

html - 如何在我的覆盖 div 中垂直居中我的跨度?

twitter-bootstrap - 我怎样才能实现这个设计