2012-07-03 4 views
0

테이블 셀에서 텍스트 정렬에 영향을 미치지 않고 CSS와 화살표의 영구적 인 위치를 확인 같은 : 헤더에내가 HTML 테이블이

<div> 
    <table border="1"> 
     <thead> 
      <tr class="example"> 
       <th> 
        <span id="item1"> 
         <span>Value1</span> 
         <span class="sort-up no-display">&nbsp;</span> 
        </span> 
       </th> 
       <th> 
        <span id="item2"> 
         <span>Value2</span> 
         <span class="sort-up no-display">&nbsp;</span> 
        </span> 
       </th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Example 1</td> 
       <td>Example 2</td> 
      </tr> 
      <tr> 
       <td>Example 3</td> 
       <td>Example 4</td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

, 나는 JQuery와

에 마우스 오버 /로 마우스에서 나타나는 최대 숨겨진 화살표가
<script type="text/javascript"> 
     $(function(){ 
      $(".example th").on("mouseover mouseout", function(){ 
       var $sort_up = $(this).children().find("span").first().next(); 

       $sort_up.toggleClass("no-display"); 
      }); 
     }); 

</script> 

여기서 no-displaydisplay:none css입니다.

스크린 샷 (전)

enter image description here

그리고 후 :

enter image description here

내가 마우스 오버/mouseOut 이벤트로 이동할 수 없습니다에 해당 헤더 타이틀을 원한다.

어떻게 수행하나요? 어쩌면 CSS 속임수 일 수도 있습니다.

PS : 아마 같은 : 나와 함께 양해

enter image description here

덕분에 내가 CSS에서 더 이상 지식이 없다.

답변

1

왜 이미지를 사용하여 화살표를 만들지는 모르겠지만 정렬 문제가 발생합니다. 당신은 텍스트 화살표를 만들 text()를 사용하는 경우, 위쪽 삼각형을 가리키는 악명 높은 유니 코드는 다음 정렬은 자체 유지 :

$('.example th').on('mouseover mouseout', 
        function(e){ 
         var evt = e.type, 
          sort = $(this).find('span:last'); 
         if (evt == 'mouseover'){ 
          sort.text('▲'); 
         } 
         else if (evt == 'mouseout') { 
          sort.text(''); 
         } 
        });​ 

JS Fiddle demo합니다.

+0

텍스트 요소 이외의 다른 것을 사용하는 이유는 수천 가지가 될 수 있습니다 ... (여전히 좋은 습관으로 남아있을지라도) ... – Anto

+1

* 그 이유는 무엇입니까? 불안정한.' 나는 이것을 위해 이미지를 사용하는 것의 타당성을 낮추려는 것이 아니지만, 텍스트를 깔끔하게 사용하는 것이 문제가된다는 점을 감안할 때 불필요하게 복잡해 보인다. –

+0

@DavidThomas, 방금 5 Star Rating System에 대해이 [** SO Answer **] (http://stackoverflow.com/a/11307273/1195891)에서 ASCII 코드를 사용했습니다. 그것은 부츠를 CSS없이 잘 목적으로 사용됩니다! – arttronics

0

은 화살표가 나타날 때조차 고정 remanin 것, 이제 이러한 변화

<span id="Val">Value2</span> 
#Val{position:absolute;} Add top and left as per your need. 

을 확인합니다.