【问题标题】:td border disappears when applying transform translate应用transform translate时td边框消失
【发布时间】:2018-01-23 08:50:02
【问题描述】:

我正在构建一个带有固定标题和固定第一列的表格。

通过在滚动事件上应用转换 translateX/Y 来固定标题和列。

当页面加载时,边框在顶行可见,但一旦您向下滚动一点,它们就会消失。

我需要什么 CSS 才能不让边框消失?

可以在here找到带有源代码的plunker。

【问题讨论】:

    标签: jquery css twitter-bootstrap-3


    【解决方案1】:

    我遇到了类似的情况并将border-collapse: separate;border-spacing: 0px; 添加到表中解决了这个问题。

    边框折叠:分开; -:这为表格单元格设置单独的边框,如果它的边框折叠:折叠;然后单元格共享它们的边界。

    当我们翻译时,只有共享边界的单元格移动并导致问题。

    table.scroll {
        table-layout: fixed;
        border-spacing: 0px;
        border: 1px solid #333;
        border-collapse: separate;
    }
    

    document.getElementById("table-container").addEventListener("scroll", function() {
      var translate = "translate(0," + this.scrollTop + "px)";
      this.querySelector("thead").style.transform = translate;
    
    });
    thead, tr, th, td, tbody{
    	border: 1px solid;
    	text-align: center;
    	padding: 3px;
    	
    }
    table.scroll {
        table-layout: fixed;
        border-spacing: 0px;
        border-collapse: separate;
    }
    th{
    	background-color:#99ccff;
    	height: 40px;
    	font-size: 20px;
    
    }
    
    tr{
    	width: 500%;
    	height: 20px;
    	font-size: 17px;
    }
    
    tr:nth-child(even) {
    	background-color: #CCFFFF;
    }
    tr:nth-child(odd) {
    	background-color: #fae8d1;
    }
    
    #table-container{
    	float:left;
    	height: 200px;
    	border: 2px solid;
    	overflow: auto;
    }
    <div id="table-container">
    	<table class="scroll">
    		<thead>
    			<tr>
    				<th class="col-md-2">Name</th>
    				<th class="col-md-2">Birthday</th>
    				<th class="col-md-2">Gender</th>
    				<th class="col-md-2">Marital</th>
    				<th class="col-md-2">Address</th>
    				<th class="col-md-2">Telephone</th>
    				<th class="col-md-2">Email</th>
    			</tr>
    		</thead>
    		<tbody>
    			<tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
          <tr>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    				<td>Some Data</td>
    			</tr>
    		</tbody>
    	</table>
    </div>

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多