Since version 0.4.0, this is an ES module (bundled with Rollup), which should work fine with Vite and others.
CSS height: 100vh
is useful when trying to implement native-app-like mobile web application.
However, on mobile Safari for example, it does not work as expected.
This "HighWall" is a React component which realizes height: 100vh
by measuring viewport's height
every window size change.
Since this component uses hook
internally, React version has to be greater than 16.8.0
.
Green will fill up the viewport.
Of course, you can set your own class like <HighWall className="myClass">
.
import {HighWall} from 'HighWall';
const Page: React.FC = () => {
return (
<HighWall style={{backgroundColor: 'green'}}>
<div>Child component</div>
</HighWall>
);
};
These settings will show debug information on head-up display.
<HighWall debug={true}> // show in default position, leftBottom.
<HighWall debug={{ position: HudPosition.rightTop }}>
Maybe sometimes you want to set viewport's height to min-height
or other properties.
This can be realized by setting Fitter
function in props.
This sample will set the height to min-height
instead of height
.
import {HighWall, Fitter} from 'HighWall';
const fitter: Fitter = viewportHeight => ({minHeight: viewportHeight});
<HighWall fitter={fitter}>
</HighWall>
This component is inspired by great repos and articles, especially: