html - 如何固定左列和右列以及中间部分水平滚动?

标签 html css html-table

我有一个表格,我必须设置左列和右列将被固定,并且只水平滚动中心内容。我尝试了一些代码,但它无法正常工作。左列和右列显示已修复但无法正常工作。我在这里更新了我的代码:

 table { border-collapse:separate; border-top: 3px solid grey; }
    td {
        margin:0;
        border:3px solid grey; 
        border-top-width:0px; 
        white-space:nowrap;
    }
    div { 
        width: 600px; 
        overflow-x:scroll;  
        padding:30px;
        position: relative;
        margin: 0 auto;
    }
    .headcol, .headcol_right {
        position:absolute; 
        width:5em; 
        top:auto;
        border-right: 1px #solid black; 
        border-top-width:3px;
        margin-top:-3px;
        overflow:hidden;
        background-color : red;
    }
    .headcol{
    	left: 0;
    }
    .headcol_right {
	right:0;
    }
<div>
<table border="1">
	<thead  class="bg-primary">
		<tr>
			<th class="headcol">Sr. No</th>
			<th>No</th>
			<th>Date</th>
			<th>Student Name</th>
			<th>Standard</th>
			<th class="headcol_right">Actions</th>
			</tr>
	</thead>

	<tbody>
		<tr>
				<td class="headcol">1</td>
				<td>NOV17-00002</td>
				<td>09-11-2015 13:48:53</td>
				<td>jkajsaskjkljlk</td>
				<td>X</td>
				<td class="headcol_right"><a href="">edit</a></td>

		</tr>

				<tr>
				<td class="headcol">1</td>
				<td>NOV17-00002</td>
				<td>09-11-2015 13:48:53</td>
				<td>jkajsaskjkljlk</td>
				<td>X</td>
			   <td class="headcol_right"><a href="">edit</a></td>

		</tr>	
	</tbody>
</table>
	</div>

enter image description here

最佳答案

试一试。

table {
 	border: 0;
 	border-spacing: 0;
    border-collapse: collapse;
}
            td {
                margin:0;
                border:3px solid grey; 
                border-top-width:0px; 
                white-space:nowrap;
                display: table-cell;
    
            }
            td, th{
            	width: 15%;
            }
            .container-block { 
                width: 800px; 
              /*  padding:30px;*/
                position: relative;
                margin: 0 auto;
            }
            .headcol, .headcol_right {
                position: absolute;
                /*width: 5em;*/
                top: auto;
                border-top-width: 3px;
                overflow: hidden;
                background-color: red;
                border: 3px solid grey;
            }
            .headcol{
               left: -45px;
            }
            .headcol_right {
            right: 20px;
            }
            .table-block {
                  margin-left: 85px;
                  overflow-x: scroll;
                  width: 565px;
            }
<div class="container-block">
        <div class="table-block">
        <table border="1">
            <thead>
            <tr>
			<th  class="headcol">Student Name</th>
			<th style="min-width: 75px;">Invoice No</th>
			<th>Invoice Date</th>
			<th>Standard</th>
			<th>Subjects</th>
			<th>Amount</th>
			<th>Discount</th>
			<th>Tax</th>
			<th style="min-width: 110px;">Invoice Amount</th>
			<th style="min-width: 118px;">Payment Method</th>
			<th class="headcol_right">Actions</th>
			</tr>
            </thead>

            <tbody>
                <tr>
 						<td class="headcol"><input type="checkbox" name="name">Naren</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>

                        <tr>
                        <td class="headcol"><input type="checkbox" name="name">Praveen</td>
                         <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                       <td class="headcol_right"><a href="">edit</a></td>

                </tr>   
                      <tr>
                        <td class="headcol"><input type="checkbox" name="name">Ajeet</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>


                         <tr>
                        <td class="headcol"><input type="checkbox" name="name">Amit</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>
                <tr>
 						<td class="headcol"><input type="checkbox" name="name">Naren</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>

                        <tr>
                        <td class="headcol"><input type="checkbox" name="name">Praveen</td>
                         <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                       <td class="headcol_right"><a href="">edit</a></td>

                </tr>   
                      <tr>
                        <td class="headcol"><input type="checkbox" name="name">Ajeet</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>


                         <tr>
                        <td class="headcol"><input type="checkbox" name="name">Amit</td>
                        <td>00002</td>
                        <td>09-11-2015 13:48:53</td>
                        <td>X</td>
                        <td>maths</td>
                        <td>2500</td>
                        <td>100</td>
                        <td>10</td>
                        <td>15000</td>
                        <td>Cheque</td>
                        <td class="headcol_right"><a href="">edit</a></td>

                </tr>

            </tbody>
        </table>
            </div>
          </div>

关于html - 如何固定左列和右列以及中间部分水平滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47216729/

相关文章:

html - 使背景图像响应流畅

html - 在 <head> 元素之外使用 &lt;style&gt; 标签是否正确?

html - 为什么悬停在 IE11 中有效,但在 Chrome 中无效?

JavaScript 遍历表问题

php - 将输入类型复选框与输入类型文本关联

html - 只触发一次动画,ani js scrollreveal

javascript - 加载(缓存?)网络元素到新页面

android - Android默认浏览器如何调试查看HTML和CSS源码?

html - 当我调整浏览器窗口大小时,页眉和页脚看起来很糟糕

javascript - 悬停在表格中的单元格时突出显示特定单元格