예를 들어, a ',' 을 보유하고 있는 < div> 싶습니다 browser& center) 에 # 39 의 디스플레이 (뷰포트가). 사용자정의하려면 데릭쉐퍼드와 폭과 높이를 <, div> 계산하기 위해 ',' 요소.
내가 어떻게 해야 사용할 것인가? 브라우저 호환성 대한 정보를 입력해 주십시오.
['엘레망드제바우드링클리앵 트레스 ()'] (https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) 살펴보겠습니다.
이 방법은 객체를 반환되므로 포함된 ',' 높이 ',' 너버 및 다른 유용한 값:
{
width: 960,
height: 71,
top: 603,
bottom: 674,
left: 360,
right: 1320
}
예를 들면 다음과 같습니다.
var element = document.getElementById('foo');
var positionInfo = element.getBoundingClientRect();
var height = positionInfo.height;
var width = positionInfo.width;
I believe that '문제' 와 '이 없는 곳에서 가끔 반품하십시오 지프세비데스 자오프스테이트 지향하는' 0 ' (설명한 대로 [의견 여기서요] (https://stackoverflow.com/a/294273/363701))
또 다른 차이는 제바우드링클리앵 트레스 반환할 수 있는 '분수' () ',' 가 '와' 자오프스테이트 픽셀입니다 지프세비데스 라운드하지 가장 가까운 정수.
IE8 Note: '및' 의 높이와 너비가 IE8 below.* 제바우드링클리앵 트레스 반환하지 않습니다
, 지원 합니다 사용할 경우 '와' 자오프스테이트 지프세비데스 IE8 '':
var height = element.offsetHeight;
var width = element.offsetWidth;
이 방법으로 그 가치가 없는 일반 진짜 객체에는 객체에는 반환되었습니다 나타났다고 밝혔습니다. 그 물리량은 [ 열거 ] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties) (예를 들어, ',' t # 39 로비치스키스 doesn& 작동합니까 out-of-the-box.)
이 여기에 대한 자세한 정보: https://stackoverflow.com/questions/39417566/how-best-to-convert-a-clientrect-domrect-into-a-plain-object
참조:
Jquery 1.2.6 vmware. 중 하나를 사용할 수 있는 핵심 CSS 총괄하였습니다, '높이' 와 '너버' (',' 와 '또는' 우테레이트 우테르비데스 적절하게).
var height = $("#myDiv").height();
var width = $("#myDiv").width();
var docHeight = $(document).height();
var docWidth = $(document).width();
만일의 사태에 대비해 모든 텍스트 상자, 버튼 및 div 누구나 유용합니다 I put a 와 동일한 css.
width:200px;
height:20px;
border:solid 1px #000;
padding:2px;
<input id="t" type="text" />
<input id="b" type="button" />
<div id="d"></div>
이를 통해, 크롬, 파이어폭스 및 ie 면쪽 봤을때 내가 봤을때 내가 jquery 않고, 쉐퍼드도 기입란 사이징하는 국경 기입란 '와' 없는 노력은 한 것 같습니다. 늘 함께 ',' DOCTYPE html> <!
결과:
Firefox Chrome IE-Edge
with w/o with w/o with w/o box-sizing
$("#t").width() 194 200 194 200 194 200
$("#b").width() 194 194 194 194 194 194
$("#d").width() 194 200 194 200 194 200
$("#t").outerWidth() 200 206 200 206 200 206
$("#b").outerWidth() 200 200 200 200 200 200
$("#d").outerWidth() 200 206 200 206 200 206
$("#t").innerWidth() 198 204 198 204 198 204
$("#b").innerWidth() 198 198 198 198 198 198
$("#d").innerWidth() 198 204 198 204 198 204
$("#t").css('width') 200px 200px 200px 200px 200px 200px
$("#b").css('width') 200px 200px 200px 200px 200px 200px
$("#d").css('width') 200px 200px 200px 200px 200px 200px
$("#t").css('border-left-width') 1px 1px 1px 1px 1px 1px
$("#b").css('border-left-width') 1px 1px 1px 1px 1px 1px
$("#d").css('border-left-width') 1px 1px 1px 1px 1px 1px
$("#t").css('padding-left') 2px 2px 2px 2px 2px 2px
$("#b").css('padding-left') 2px 2px 2px 2px 2px 2px
$("#d").css('padding-left') 2px 2px 2px 2px 2px 2px
document.getElementById("t").getBoundingClientRect().width 200 206 200 206 200 206
document.getElementById("b").getBoundingClientRect().width 200 200 200 200 200 200
document.getElementById("d").getBoundingClientRect().width 200 206 200 206 200 206
document.getElementById("t").offsetWidth 200 206 200 206 200 206
document.getElementById("b").offsetWidth 200 200 200 200 200 200
document.getElementById("d").offsetWidth 200 206 200 206 200 206
따르면 [매든: 치수들을 결정하는 요소] (https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements)
'', '와' 프스테이트 프세비데스 반품해야 " 요소를 포함한 전체 공간을 차지하는 너비입니다 가시적입니다 컨텐트에서 (있는 경우), 패딩, 스크롤바 및 border".
'공간', '와' 클리나이트 클리엔트위데스 " 반품하십시오 알마예요 실제 시됩니다 콘텐츠 등 패딩 포함하지 않음), 또는 scrollbars" 테두리, 여유폭 차지합니다.
실제 크기의 ',' 스테롤위드스 '와' 스테롤하이트 반품해야 " 관계없이 내용을 얼마나 visible" 중이다.
나열할지 의존하기 때문에 현재 보기가능 영역을 빼냅니다 컨텐트에서 측정했습니다 될 것으로 예상된다.
Ie7 계산하십시오 됩니다 위해 it 및 이전 (# 39, 크기가 고정된 내용을 때만 doesn& 없다). 내가 해킹할 수 있는 HTML 을 사용하여 조건부 주석을 제한값 제안하세요 대행사를 본사를 don& # 39 세, t 지원 CSS2. 그 밖의 모든 브라우저 이:
<style type="text/css">
html,body {display:table; height:100%;width:100%;margin:0;padding:0;}
body {display:table-cell; vertical-align:middle;}
div {display:table; margin:0 auto; background:red;}
</style>
<body><div>test<br>test</div></body>
이것이 완벽한 솔루션입니다. It 센터를 ',', 크기 및 랩 축소 등 다양한 크기의 < div> redhat. 컨텐트입니다.
좀 쉽게 읽을 수 있지만 까다로운 요소이면 수정하십시오 시켜버리므로 값입니다.
> 제크롬푀테트슈타일 (요소 [, dtep]).
그 결과 이 같은 스타일 속성을 가진 오브젝트를 에르메스경일 관련하여, 지금은 모든 css 클래스뿐만.
예를 들어, 여기 스타일입니까 싫어하겠어 볼 승리를 거두었다.
<head>
<style> body { color: red; margin: 5px } </style>
</head>
<body>
<script>
let computedStyle = getComputedStyle(document.body);
// now we can read the margin and the color from it
alert( computedStyle.marginTop ); // 5px
alert( computedStyle.color ); // rgb(255, 0, 0)
</script>
</body>
그래서 수정날짜 너회의 javaScript 코드를 요소의 제크롬푀테트슈타일 포함시키십시오 프로파일링하려는 프레젠테이션이든 it& # 39 에 너비 / 높이 또는 기타 속성
window.onload = function() {
var test = document.getElementById("test");
test.addEventListener("click", select);
function select(e) {
var elementID = e.target.id;
var element = document.getElementById(elementID);
let computedStyle = getComputedStyle(element);
var width = computedStyle.width;
console.log(element);
console.log(width);
}
}
두 가지 개념의 CSS.
>. 결국 모든 값은 CSS 규칙을 및 CSS 스타일 가치 있는 계산됩니까 >. 상속은 적용한 결과, CSS 케스케이드. 볼 수 있습니다. >. 같은 1em 세로폭 또는 font-size: 125% 였다. >. >. 결국 요소 중 하나는 스타일 가치 있는 해결되었으므로 적용됩니다. >. 1em 또는 같은 값을 125% 가 상대. Browser) 는 계산됩니까 >. 예를 들어, 모든 장치를 통해 고정 및 상대경로를 가치와 >. 높이 20px 또는 글꼴 크기 16px. 형상뿐 해결됨으로 대한 속성 값을 >. 부동 소수점 width:50.5px. 같이 있을 수 있습니다.
제크롬푀테트슈타일 계산됩니까 값을 얻을 수 있지만, 오래 전에 만들어진 것으로 드러나 해결되었으므로 값은 훨씬 더 편리하게 및 표준 changed.< br>; 그래서 실제로 되돌려줍니다 제크롬푀테트슈타일 해결됨으로 property.* 가치가 있다.
다음 Note:*
제크롬푀테트슈타일 单捞磐啊 전체 속성 이름을 *
>. 항상 요구할 수 있는 속성이 운영까지도 마찬가지로 정확한 >. 파딩레프트 또는 높이 또는 너비입니다. 그렇지 않으면 수정하십시오. >. 그 결과 않을 수도 있습니다. >. >. 예를 들어, 파딩레프트 파딩토프 관심용 속성를 있습니다 / >. 대한 (elem) 자파딩 제크롬푀테트슈타일 뭐먹을까요? 아무것도아니야 또는 >. 아마 "생성" 가치를 알려진 패딩? 표준 없습니다. >. 규칙 삽입하십시오.
5 413 {{{000}}}
. css 를 통해 동일팔레트에 div 중심에서 것 같다.
<style>
.monitor {
position:fixed;/* ... absolute possible if on :root */
top:0;bottom:0;right:0;left:0;
visibility:hidden;
}
.wrapper {
width:200px;/* this is size range */
height:100px;
position:absolute;
left:50%;top:50%;
visibility:hidden;
}
.content {
position:absolute;
width: 100%;height:100%;
left:-50%;top:-50%;
visibility:visible;
}
</style>
<div class="monitor">
<div class="wrapper">
<div class="content">
... so you hav div 200px*100px on center ...
</div>
</div>
</div>
let html = "<body><span id=\"spanEl\" style=\"font-family: '\(taskFont.fontName)'; font-size: \(taskFont.pointSize - 4.0)pt; color: rgb(\(red), \(blue), \(green))\">\(textValue)</span></body>"
webView.navigationDelegate = self
webView.loadHTMLString(taskHTML, baseURL: nil)
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.getElementById(\"spanEl\").getBoundingClientRect().height;") { [weak self] (response, error) in
if let nValue = response as? NSNumber {
}
}
}