如何将滚动条放在桌子的一侧?

时间:2013-01-22 23:46:36

标签: html css

我在这里有一个jsfiddle:http://jsfiddle.net/m4HB3/

我有一个带有固定标题的滚动表,它正常工作。我遇到的问题是放置滚动条的位置,它被放置在最后一列的下方,导致它占用最后一列的空间,从而使其他列偏离对齐。

我的问题是如何将滚动条剪切到表格的右侧,这样才不会影响占用列空间?

下面是示例表的html:

<table id="tableqanda" cellpadding="0" cellspacing="0">
    <thead>
    <tr>
        <th width="5%" class="questionno">Question No.</th>
        <th width="27%" class="question">Question</th>
        <th width="7%" class="option">Option Type</th>
        <th width="11%" class="image">Image</th>

    </tr>
    </thead>
    </table>
    <div id="tableqanda_onthefly_container">
    <table id="tableqanda_onthefly" cellpadding="0" cellspacing="0">
    <tbody>
        <tr class="tableqandarow">
<td width="5%" class="questionno">1</td>
<td width="27%" class="question">What is a RAM?</td>
<td width="7%" class="option">A-E</td>
<td width="11%" class="imagetd"><ul class="qandaul"><li>Lighthouse_4.jpg</li></ul></td>
</tr>
<tr class="tableqandarow">
<td width="5%" class="questionno">2</td>
<td width="27%" class="question">Name 3 car maneuvers you may do in a test?</td>
<td width="7%" class="option">A-F</td>
<td width="11%" class="imagetd"><ul class="qandaul"><li>Tulips_3.jpg</li></ul></td>
</tr>
    </tbody>
    </table>
    </div>

以下是css:

#tableqanda_onthefly_container
{
    width:100%;
    overflow-y: scroll;
    overflow-x: hidden;
    max-height:500px;
}

#tableqanda_onthefly
{
    width:100%;
    overflow:scroll;
    clear:both;
}

#tableqanda_onthefly td
{
    border:1px black solid;
    border-collapse:collapse;
}

#tableqanda, #tableqanda_onthefly{
    border:1px black solid;
    border-collapse:collapse;
    table-layout:fixed;
    word-wrap:break-word;
}       

#tableqanda{
    width:100%;
    margin-left:0;
    float:left;
}

#tableqanda td { 
    vertical-align: middle;
    border:1px black solid;
    border-collapse:collapse;
}

#tableqanda th{
    border:1px black solid;
    border-collapse:collapse;
    text-align:center;
}

.tableqandarow{
    border:1px black solid;
    border-collapse:collapse;
}

3 个答案:

答案 0 :(得分:2)

试试这个小提琴:http://jsfiddle.net/m4HB3/29/

我只是将您的table打包到ID为div的容器container中,从表中删除了overflow属性,并在包含div上设置了以下内容(您可以将高度更改为您想要的任何值,我只需将其保留为75即可演示):

#container
{
    height: 75px;
    overflow-x: auto;
}

编辑:经过一些调整后,这就是他想要的http://jsfiddle.net/m4HB3/37/

答案 1 :(得分:0)

不完全符合您的具体目标,但作为解决方法,您可以在标题的末尾添加额外的TD,并将其设置为滚动条的宽度。

http://jsfiddle.net/m4HB3/28/

<thead>
    <tr>
        <th width="5%" class="questionno">Question No.</th>
        <th width="27%" class="question">Question</th>
        <th width="7%" class="option">Option Type</th>
        <th width="11%" class="image">Image</th>
        **<th width="8px" class=""></th>**
    </tr>
</thead>

这至少会使它看起来更具代表性。

答案 2 :(得分:0)

Here我对CSS表格+滚动+浏览器

有完整的解释

我希望你觉得它很有用