2011-05-13 2 views
2

브라우저에는 HTML 페이지의 기본 채우기가 있습니다. 예를 들어 내 FF는 기본적으로 body 요소의 8 픽셀 여백을 설정합니다. 내가 인해 신체 요소에브라우저 기본 채우기

jQuery(window).width() - jQuery('body').innerWidth(); 

를 사용하여 HTML 페이지에 대한 기본 폭 패딩을 계산할 수있는 것은 가능한 모든 브라우저 뷰포트의 폭에 걸쳐있다.
또한 너비와 높이가 다른 값을 설정하는 다른 브라우저가 있습니다.
높이 패딩을 계산하는 방법을 제안 해 주시겠습니까?
본문 내부 높이가 실제 페이지 콘텐츠 높이를 반환하고 사용 가능한 모든 높이로 확장되지 않으므로 이전 코드가 작동하지 않습니다.

답변

3

정말로 패딩을 계산해야합니까? 패딩은 패딩과 마진에 대한 요소의 CSS 설정에서 정의됩니다.

당신은 jQuery를 쉽게이를 얻을 수 있습니다 :

// Select the body element. 
var bodyElement = $('body'); 

// Get the paddings 
var widthPadding = bodyElement.css('padding-left') + bodyElement.css('padding-right'); 
var heightPadding = bodyElement.css('padding-top') + bodyElement.css('padding-bottom'); 

// Get the margins 
var widthMargin = bodyElement.css('margin-left') + bodyElement.css('margin-right'); 
var heightMargin = bodyElement.css('margin-top') + bodyElement.css('margin-bottom'); 

당신은 기본 사용자 에이전트를 제거 할 수 있습니다 (즉, 브라우저의) CSS 파일에 정의하여 설정 : 내가 개발하고 있어요

body { 
    margin: 0; 
    padding: 0; 
} 
+0

이전에 jQuery ('body') .css ('margin')를 확인했지만 나에게 0을 반환했습니다. 귀하의 jQuery ('본문') .css ('margin-left')는 8px를 반환합니다. 일하고있어, 고마워. 이상하게도 ... –

+0

그 이유는 여백이 값 목록이 될 수 있기 때문입니다. 예 :' "10px 0 20px 30px"(위쪽, 오른쪽, 아래쪽 및 왼쪽 지정). 하나의 특정 값만 원한다면'xxx'가'top','right','bottom' 또는'left' 인 곳에'margin-xxx' 또는'padding-xxx'를 사용하십시오. – Spoike

3

이 문제를 무시하고 CSS reset을 사용하십시오.

좋은 재설정을 사용하면 직접 설정하지 않아도됩니다.

+0

제 3 자 라이브러리 및 바람직하지 않은 부작용으로 간주됩니다. –

+0

@Mykhaylo Adamovych - 당신이 당신의 질문에 넣어야 할 세부 사항입니다. – Oded

관련 문제