This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.
The borderBoxSize
read-only property of the ResizeObserverEntry
interface returns an array containing the new border box size of the observed element when the callback is run.
Syntax
var myBorderBoxSize = ResizeObserverEntry.borderBoxSize;
Value
An array containing objects with the new border box size of the observed element. The array is necessary to support elements that have multiple fragments, which occur in multi-column scenarios. Each object in the array contains two properties:
blockSize
- The length of the observed element's border box in the block dimension. For boxes with a horizontal
writing-mode
, this is the vertical dimension, or height; if the writing-mode is vertical, this is the horizontal dimension, or width. inlineSize
- The length of the observed element's border box in the inline dimension. For boxes with a horizontal
writing-mode
, this is the horizontal dimension, or width; if the writing-mode is vertical, this is the vertical dimension, or height.
Note: For more explanation of writing modes and block and inline dimensions, read Handling different text directions.
Examples
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
if(entry.borderBoxSize && entry.borderBoxSize.length > 0) {
entry.target.style.borderRadius = Math.min(100, (entry.borderBoxSize[0].inlineSize/10) +
(entry.borderBoxSize[0].blockSize/10)) + 'px';
} else {
entry.target.style.borderRadius = Math.min(100, (entry.contentRect.width/10) +
(entry.contentRect.height/10)) + 'px';
}
}
});
resizeObserver.observe(document.querySelector('div'));
Specifications
Specification | Status | Comment |
Resize ObserverThe definition of 'target' in that specification. | Editor's Draft | Initial definition. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome
Full support 84 |
Edge
Full support 84 |
Firefox
Full support 69 |
IE
No support No |
Opera
Full support Yes |
Safari
No support No |
WebView Android
Full support 84 |
Chrome Android
Full support 84 |
Firefox Android
No support No |
Opera Android
Full support Yes |
Safari iOS
No support No |
Samsung Internet Android
No support No |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
ResizeObserverEntry.borderBoxSize by Mozilla Contributors is licensed under CC-BY-SA 2.5.