我们说我在一个容器内有3个方块,彼此相邻,每个视口的33.33%。当我单击其中一个时,那个将扩展到全视口宽度并显示隐藏的内容,而其他内容保持在那个旁边,但现在出现在视口之外。容器应该是水平可滚动的,因此您仍然可以访问其他容器。
我目前处于可以展开其中一个方块的位置,但其他两个方块会自动移动到它下方而不是它旁边。
我将如何实现这一目标?
演示:http://jsfiddle.net/7pg0buL8/
<div class="container">
<div class="tile"></div>
<div class="tile"></div>
<div class="tile"></div>
</div>
.container {
width:450px;
height:150px;
border: 1px solid blue;
overflow-x: scroll;
overflow-y: hidden;
}
.tile {
width:150px;
height:150px;
border:1px solid red;
box-sizing: border-box;
transition: width .5s;
float:left;
background-color:green;
}
.tile.expanded {
width:100%;
}
$(function () {
$('.tile').click(function () {
$('.tile.expanded').removeClass('expanded');
$(this).addClass('expanded');
});
});
答案 0 :(得分:1)
使用简单的规则nowrap
尝试这个<强> CSS 强>
.container {
width:450px;
height:150px;
border: 1px solid blue;
overflow-x: scroll;
overflow-y: hidden;
white-space:nowrap;
}
.tile {
width:150px;
height:150px;
border:1px solid red;
box-sizing: border-box;
transition: width .5s;
background-color:green;
position: relative;
display: inline-block;
}
.tile.expanded {
width:100%;
}
<强> DEMO HERE 强>
答案 1 :(得分:0)
试试这个:
.container {
width:550px;
height:150px;
overflow-y: hidden;
}
.tile {
width:150px;
height:150px;
border:1px solid red;
box-sizing: border-box;
transition: width .5s;
float:left;
background-color:green;
}
.tile.expanded {
width:250px;
}
答案 2 :(得分:0)
以下是容器的固定width
解决方案:http://jsfiddle.net/7pg0buL8/4/