javascript - 水平对齐 div 无限高

标签 javascript jquery html css

我想水平对齐 3 个或更多 div 元素,并且高度无限大,包含子 div

 <div class ="container">
  <div class ="left">//sub divs</div>
  <div class ="center">// some random number of sub divs</div>
  <div class ="right"> // sub divs here</div>
</div>
.container { 
    width: 80%;
} 
.left, .right { 
    width: 50%;
}

现在 center 完全可见,leftright 分别可见 200px。当我单击 centerleft 时,right div 应该滑动到 center 移动相应的 div 放在一边,应该是完全可见的。

我怎样才能实现这个设计?

最佳答案

HTML

<div class ="container">
    <div class="left">ONE</div>
    <div class="center">TWO</div>
    <div class="right">THREE</div>
</div>

CSS

.container {
    position: relative;
    height: 200px;
    width: 100%;
    border: 2px #000 solid;
    font-size: 0;
    transition: all .3s;
}

.container > div {
    position: absolute;
    top: 0; bottom: 0;
    font-size: 16px;
    cursor: pointer;
}

.left {
    left: 0;
    width: 20%;
    background-color: #8FB8ED;
}

.right {
    right: 0;
    width: 20%;
    background-color: #8FB8ED;
}

.center {
    left: 20%;
    width: 60%;
    background-color: #3590F3;
}

JS/JQuery

$(document).ready(function() {
    $('.container > div').on('click', function() {
        var pos = $(this).attr('class');
        if (pos !== 'center') {
            $(this).closest('.container').find('.center')
                .removeClass('center')
                .addClass(pos);
            $(this).removeClass(pos).addClass('center');
        }
    });
});

试试这个 fiddle :https://jsfiddle.net/j20ycsu0/1/

关于javascript - 水平对齐 div 无限高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33835407/

相关文章:

javascript - 如何在知道其类的 JavaScript 中获取表列索引?

javascript - 这段 JavaScript 代码安全吗?

jquery - 计算两天之间的天数

javascript - 如何对齐两个输入字段和 div 内联

html - 在同一行 Bootstrap 中设置不同宽度的列

javascript - 将数据从 div 提交到数据库,which(div) 在附加 id 后获取数据

javascript - 这是获取多个api的正确方法吗

javascript - AJAX (jquery) + 工具提示

jquery - 使用切片功能限制结果自动完成jquery ui

javascript - 从数组中选择特定数字