JavaScript를 사용한 CSS 뷰포트 단위
CSS3에서는 반응형 레이아웃에 유용한 뷰포트 백분율 길이 단위인 vh 및 vw를 도입했습니다. 그러나 이러한 단위에 대한 크로스 브라우저 JavaScript 대안이 존재하는지에 대한 의문이 제기됩니다.
JavaScript/jQuery 대안
물론입니다! jQuery를 활용하여 뷰포트 단위에 대한 대안을 제공할 수 있습니다. 다음은 jQuery 기반 솔루션입니다.
<code class="javascript">/* jQuery plugin to convert viewport units to pixels */ ;(function( $, window ){ var $win = $(window) , _css = $.fn.css; function viewportToPixel( val ) { var percent = val.match(/[\d.]+/)[0] / 100 , unit = val.match(/[vwh]+/)[0]; return (unit == 'vh' ? $win.height() : $win.width()) * percent +'px'; } function parseProps( props ) { var p, prop; for ( p in props ) { prop = props[ p ]; if ( /[vwh]$/.test( prop ) ) { props[ p ] = viewportToPixel( prop ); } } return props; } $.fn.css = function( props ) { var self = this , originalArguments = arguments , update = function() { if ( typeof props === 'string' || props instanceof String ) { if (originalArguments.length > 1) { var argumentsObject = {}; argumentsObject[originalArguments[0]] = originalArguments[1]; return _css.call(self, parseProps($.extend({}, argumentsObject))); } else { return _css.call( self, props ); } } else { return _css.call( self, parseProps( $.extend( {}, props ) ) ); } }; $win.resize( update ).resize(); return update(); }; }( jQuery, window )); **Usage:** </code>
$('div').css({
height: '50vh',
width: '50vw',
marginTop: ' 25vh',
marginLeft: '25vw',
글꼴 크기: '10vw'
});
This solution seamlessly integrates the viewport unit conversion into jQuery's CSS method, allowing for easy resizing of elements based on viewport dimensions. **Safety Considerations**
위 내용은 CSS 뷰포트 단위(vh 및 vw)에 대한 크로스 브라우저 JavaScript 대안이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!