2017-11-08 1 views
0

먼저"받은 위치 : 끈적는"설정 후 작동을 멈 춥니 다 :에 "디스플레이 블록"그럴 && TBODY 모든

그래서 ... 내가 충분히 명확하게 희망하지만, 영어가 모국어 아닌 possibile 실수 실례 I 이 문제는 : 먼저 없이 스크립트를 고정 첫 번째 열 및 행 테이블을 스타일이 필요합니다. 나는 많은 것을 수색 했으니 여기에 많은 제안을 발견했다. 그래서 첫 번째 행과 열을 모두 고칠 수 있었다.

이렇게하려면 동일한 표를 사용했지만 두 가지 다른 .sass 파일에 대해 다양한 솔루션 을 별도로 구현했습니다.

table 
    thead 
     tr 
      display: block 

     .dayColumn 
      height: 35px 
      min-width: 358px 

     .hourNumber 
      min-width: 30px 

    tbody 
     display: block 
     overflow: auto 
     height: 450px 

     td 
      min-width: 367px 

내가했습니다 첫 번째 열을 동결하기 :

<table> 
    <thead> 
     <tr> 
      <th></th> 
      <th id="1" class="dayColumn">Lunedì</th> 
      <th id="2" class="dayColumn">Martedì</th> 
      <th id="3" class="dayColumn">Mercoledì</th> 
      <th id="4" class="dayColumn">Giovedì</th> 
      <th id="5" class="dayColumn">Venerdì</th> 
      <th id="6" class="dayColumn">Sabato</th> 
      <th id="7" class="dayColumn">Domenica</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td class="hourNumber">**0**</td> 
      <td class="busy"></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class="busy"></td> 
     </tr> 
     //the same thing over and over until 
     <tr> 
      <td class="hourNumber">**24**</td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
      <td class=""></td> 
     </tr> 
     //don't mind the fact that I have 25 hours 
    </tbody> 
</table> 

가 괜찮 았는데 나는이 SASS를 사용했던 첫 번째 행을 동결하기 :

테이블의 HTML입니다 이 SASS를 사용했습니다 :

table 
    tbody 
     tr 
      text-align: center 

      td 
       min-width: 300px 

     .hourNumber 
      min-width: 30px 
      position: sticky 
      left: 0px 
      border: #4d4d4d 

     .dayColumn 
      min-width: 358px 

... 올바르게 작동합니다.

문제는 : 두 가지 솔루션을 결합하면 첫 번째 열의 고정 솔루션이 작동을 멈 춥니 다. 아무도 왜 이러한 일이 발생하는지 이해하는 데 도움이 될 수 있습니까?

참고 : 나는 또한 .hourNumber 클래스에 적용되는 고정 솔루션을 사용하려고했습니다 그리고 TD를 : https://www.sassmeister.com/

NOTE2 : 당신이 SASS에 익숙하지 않은 경우 CSS3로 변환하기 위해이 사이트를 사용 : nth-child (1)하지만 문제가있어 ragequitted : P

답변

1

position: sticky은 기술적 인 이유로 테이블의 특정 부분에서 제대로 작동하지 않는 것으로 잘 알려져 있습니다. 불행히도 JS 솔루션을 사용하거나 전혀 사용하지 않아야합니다.

+0

답장을 보내 주셔서 감사합니다. 그렇다면 디스플레이 속성을 터치하지 않고 첫 번째 행을 고정하려면 다른 솔루션을 사용할 수 없습니까? 나는 그것도 동결하기 위해 끈적 끈적하고 노력했지만 성공하지 못했습니다 (문제의 SO를 읽으십시오). 불행히도 스크립트를 사용할 수 없기 때문에 CSS/SCSS/SASS 만 사용해야합니다. 내 선생님이 정말로 **** 르세요? D : – MC23

+0

HTML 구조를 변경할 수 있다면 가능할 수 있습니다. 이론 상으로는 모든 테이블 요소의 표시 유형을 변경할 수 있지만 상당히 해킹입니다. – jhpratt

+0

음, 내가 무엇을 할 수 있는지 보겠다.하지만 나는이 테이블이 ReactJS를 사용하여 생성되었다고 생각하고 정말로 모른다. 나는 내일 그것을 파헤 칠 것이다. 몇 시간의 시험 후에 나는 약간의 휴식이 필요하다. 지금 고마워요 ^^ – MC23

관련 문제