2017-04-25 43 views
0

我有此表下面,我想有滚动 水平,但我不想被固定的,而列表都 的第一个和最后一个栏在两者之间是可滚动的。有关 如何完成此任何想法?我想做这个没有任何插件或 JavaScript。我的CSS进一步下来后的HTML。谢谢。如何使表滚动水平与固定的第一和最后一列

<div class="gameinfo-score__details"> 
      <div class="gameinfo-score__details_div"> 
       <div class="gameinfo-score__details__table-div"> 
        <table class="gameinfo-score__details__table-div__table"> 
         <tr class="gameinfo-score__details__table-div__table__row"> 
          <th class="gameinfo-score__details__table-div__table__row__head headcol"> 
          </th> 
          <td class="gameinfo-score__details__table-div__table__row__head" 
           ng-repeat="scoreHeading in scoreColumns"> 
           {{scoreHeading}} 
          </td> 
          <td class="gameinfo-score__details__table-div__table__row__head"> 
           - 
          </td> 
          <td class="gameinfo-score__details__table-div__table__row__head headcol2"> 
           - 
          </td> 
         </tr> 
         <tr class="gameinfo-score__details__table-div__table__row"> 
          <th class="gameinfo-score__details__table-div__table__row__data headcol"> 
           <img class="profile-pic" alt="Profile Picture" height="50" width="100"> 
          </th> 
          <td class="gameinfo-score__details__table-div__table__row__data" 
           ng-repeat="scoreHeading in scoreColumns"> 
           - 
          </td> 
          <td class="gameinfo-score__details__table-div__table__row__data">-</td> 
          <td class="gameinfo-score__details__table-div__table__row__data headcol2">-</td> 
         </tr> 
         <tr class="gameinfo-score__details__table-div__table__row"> 
          <th class="gameinfo-score__details__table-div__table__row__data headcol"> 
           <img class="profile-pic" alt="Profile Picture" height="50" width="100"> 
          </th> 
          <td class="gameinfo-score__details__table-div__table__row__data" 
           ng-repeat="scoreHeading in scoreColumns"> 
           - 
          </td> 
          <td class="gameinfo-score__details__table-div__table__row__data">-</td> 
          <td class="gameinfo-score__details__table-div__table__row__data headcol2">-</td> 
         </tr> 
        </table> 
       </div> 
      </div> 
     </div> 



.gameinfo-score__details{ 

margin-bottom: 5px; 

.gameinfo-score__details_div { 
    background-color: #999999; 
    color: #ffffff; 
    position: relative; 

    .score__summary-name { 
    @include flex-grow(1); 
    margin-top: 5px; 
    margin-bottom: 5px; 
    margin-left: 15px; 
    } 

    .gameinfo-score__details__table-div { 
    background-color: #999999; 
    width: 100%; 
    overflow-x: scroll; 
    margin-left: 100px; 
    overflow-y: visible; 
    padding: 0; 

    table { 
     border-collapse: separate; 
     border-spacing: 0; 
    } 

    td, th { 
     margin: 0; 
     white-space: nowrap; 
     border-top-width: 0px; 
    } 

    .headcol { 
     position: absolute; 
     left: 0; 
    } 

    .headcol2 { 
     position: absolute; 
     right: 0; 
    } 

    .gameinfo-score__details__table-div__table { 

     .gameinfo-score__details__table-div__table__row { 
     border-top: solid 1px #737373; 

     .gameinfo-score__details__table-div__table__row__head { 
      height: 24px; 
      width: 121px; 
      color: $gray-lighter; 
      font-size: $font-size-small; 
      text-align: center; 
      background-color: #3a3a3a; 

      &:last-child { 
      width: 44px; 
      } 
     } 

     .gameinfo-score__details__table-div__table__row__data { 
      height: 54px; 
      width: 44px; 
      background-color: white; 
      color: black; 
      font-size: $font-size-xsmall; 
      text-align: center; 
      text-transform: initial; 
      border-right: solid 1px #737373; 
      border-bottom: solid 1px #737373; 

      &:first-child { 
      width: 121px; 
      } 
     } 

     } 
    } 
    } 

} 

}

+0

此表中是否有任何JS或jQuery? – Sank6

+0

其实我弄明白了。事实证明,我需要为包装和表格添加一个特定的宽度。谢谢。 – izuuriver

+0

欢迎,如果你想,请upvote我的答案... – Sank6

回答

0

这个问题已经被问过,但这里是有固定列滚动表的代码:

table { 
 
    border-collapse: separate; 
 
    border-spacing: 0; 
 
    border-top: 1px solid grey; 
 
} 
 

 
td, th { 
 
    margin: 0; 
 
    border: 1px solid grey; 
 
    white-space: nowrap; 
 
    border-top-width: 0px; 
 
} 
 

 
div { 
 
    width: 500px; 
 
    overflow-x: scroll; 
 
    margin-left: 5em; 
 
    overflow-y: visible; 
 
    padding: 0; 
 
} 
 

 
.headcol { 
 
    position: absolute; 
 
    width: 5em; 
 
    left: 0; 
 
    top: auto; 
 
    border-top-width: 1px; 
 
    /*only relevant for first row*/ 
 
    margin-top: -1px; 
 
    /*compensate for top border*/ 
 
} 
 

 
.headcol2 { 
 
    position: absolute; 
 
    width: 5em; 
 
    right: 0; 
 
    top: auto; 
 
    border-top-width: 1px; 
 
    /*only relevant for first row*/ 
 
    margin-top: -1px; 
 
    /*compensate for top border*/ 
 
    background-color: white; 
 
} 
 

 
.headcol:before { 
 
    content: 'Row '; 
 
} 
 

 
.long { 
 
    background: yellow; 
 
    letter-spacing: 1em; 
 
}
<div> 
 
<table> 
 
     <tr><th class="headcol">1</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td></tr> 
 
     <tr><th class="headcol">2</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td></tr> 
 
     <tr><th class="headcol">3</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td></tr> 
 
     <tr><th class="headcol">4</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td></tr> 
 
     <tr><th class="headcol">5</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td></tr> 
 
     <tr><th class="headcol">6</th> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td> 
 
     <td class="headcol2">END</td> 
 
     </tr> 
 
</table> 
 
</div>

希望它可以帮助。

+0

谢谢,但我应用这个我的代码水平滚动不起作用。该条出现并且表中的元素溢出,但我无法滚动。我已经编辑了顶部的代码,以包含上述答案中给出的代码。有什么想法吗? – izuuriver

相关问题