0

如何强制将滚动添加到 div 的底部(x 轴)以使所有方块都向右移动?

CSS:

#videowall-grid{
    width:700px; 
    border:1px dotted #dddddd;
    display: none; 
    margin: 5px auto;
    padding: 5px;
    text-align:center;
}

#videowall-grid .videowall-row{
    border: 1px solid red;
    overflow-y: auto;
    width: 700px;
    height: 120px;
}

#videowall-grid .videowall-square{
    padding: 5px;
    margin: 5px;
    border: 1px dashed #dddddd;
    width: 100px;
    height: 100px;
    display: inline-block;
    vertical-align:top;
}​

HTML:

<div id="videowall-grid" style="display: block;">
    <div class="videowall-row">
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_2">sadfasfasdafsdasdfsafsadfsafsfadfasdfasfasdfasf</div>
        <div class="videowall-square" id="1_3">adfasfdasdf channel 1 camera with a very very very</div>
        <div class="videowall-square" id="1_4">asdfadsffasdsf</div>
    </div>
    <div class="videowall-row">
        <div id="2_1" class="videowall-square">asdfasd cam1</div>
        <div id="2_2" class="videowall-square">asdfasd cam2</div>
        <div id="2_3" class="videowall-square">asdfasd cam4</div>
        <div id="2_4" class="videowall-square">button</div>
    </div>
    <div class="videowall-row">
        <div id="3_1" class="videowall-square"></div>
        <div id="3_2" class="videowall-square">button</div>
        <div id="3_3" class="videowall-square">button</div>
        <div id="3_4" class="videowall-square">button</div>
    </div>
</div>​
4

2 回答 2

0

看起来谁想要一个 JS 解决方案。但是您是否考虑过使用http://flesler.blogspot.com/2007/10/jqueryscrollto.html

会让事情变得容易很多。

于 2012-12-13T12:52:38.843 回答
0
  • 添加overflow: auto;到正方形,使溢出的文本留在里面。
  • 添加white-space: nowrap;行以强制正方形位于同一行。
  • 您可以将行高设置为正方形的高度line-height: 100px; 也可以将填充设置为等于高度 (100/2 = 50)padding: 50px 0;以使文本垂直居中(评论后编辑)

带有 line-height 的垂直中心
带填充的垂直中心


示例| 代码

CSS

#videowall-grid{
    width:700px;
    border:1px dotted #dddddd;
    display: none;
    margin: 5px auto;
    padding: 5px;
    text-align:center;
}

#videowall-grid .videowall-row{
    border: 1px solid red;
    overflow-y: auto;
    width: 700px;
    height: 120px;
    white-space: nowrap;
}

#videowall-grid .videowall-square{
    padding: 5px;
    margin: 5px;
    border: 1px dashed #dddddd;
    width: 100px;
    height: 100px;
    display: inline-block;
    vertical-align:top;
    overflow: auto;
}

HTML

<div id="videowall-grid" style="display: block;">
    <div class="videowall-row">
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_1">afasfasdfas</div>
        <div class="videowall-square" id="1_2">sadfasfasdafsdasdfsafsadfsafsfadfasdfasfasdfasf</div>
        <div class="videowall-square" id="1_3">adfasfdasdf channel 1 camera with a very very very</div>
        <div class="videowall-square" id="1_4">asdfadsffasdsf</div>
    </div>
    <div class="videowall-row">
        <div id="2_1" class="videowall-square">asdfasd cam1</div>
        <div id="2_2" class="videowall-square">asdfasd cam2</div>
        <div id="2_3" class="videowall-square">asdfasd cam4</div>
        <div id="2_4" class="videowall-square">button</div>
    </div>
    <div class="videowall-row">
        <div id="3_1" class="videowall-square"></div>
        <div id="3_2" class="videowall-square">button</div>
        <div id="3_3" class="videowall-square">button</div>
        <div id="3_4" class="videowall-square">button</div>
    </div>
</div>
于 2012-12-13T12:56:11.143 回答