2011-09-08 1 views
0

어떤 이유로 든 top:0; left:0이 마스터 페이지 바로 아래에있는 마스터 페이지가있는 ASP.NET 페이지가 있습니다. 생성 된 DOM을 조사한 결과, <body>이 페이지 맨 위에 있다는 것을 알았습니다. 여기에서 <div>의 위치를 ​​지정해야합니다. 내 태그와 정확히 같은 위치에 내 <div>을 위치시키기 위해 JQuery를 어떻게 사용할 수 있습니까?div의 위치를 ​​HTML <body> 여는 태그와 동일한 위치로 설정하려면 어떻게해야합니까?

+2

무엇의 왼쪽과 왼쪽? 좀 더 html/css가 도움이 될 것입니다. 위쪽과 왼쪽은 상대적 인 마지막 컨테이너를 기준으로합니다 (기본값은 정적 임). 이것이 적절하게 배치되지 않은 이유입니다. jQuery로 해킹하는 것이 최상의 솔루션이라고는 할 수 없습니다. – mrtsherman

답변

2

top:0 실제로 사업부가 가능성이 position: relative 또는 position: absolute을 (이 요소에 포함되어야한다는 것이다 상단하지 않다고하는 이유, 상대적인).

이 문제를 해결하는 가장 쉬운 방법은 div를 본문에 직접 추가하는 것입니다.

$("#yourdiv").appendTo("body"); 
0

사용 .offset()는 :

$("#myDiv").offset({ top: 0, left: 0 }); 

귀하의 사업부는 position: relative 또는 position: absolute와 가장 가까운 조상을 기준으로 배치되고있다. 페이지에 상대적으로 배치하려면 총 오프셋을 계산하여 div에 적용해야합니다. .offset()이 모두 해당 작업을 수행합니다.

여기에 무슨 일이 일어나고 있는지 설명하는 데모입니다 : http://jsfiddle.net/gilly3/trSkC/

0
$("div").css($("body").offset()); 
+0

'$ ("body") .offset()'은 본문 여백이 무엇이든 (본질적으로) 반환합니다. 'body {margin : 25px; }','$ ("body"). offset()''{top : 25, left : 25}'를 반환합니다. div가 상대적으로 위치 된 조상을 가진 경우 (해당되는 것처럼 보임) 조상의 왼쪽 상단에서 25px 위치가됩니다 (페이지가 아님). – gilly3

0

CSS에서 사용해 보셨습니까?

html, body { 
    margin: 0; 
    padding: 0; 
} 
관련 문제