是否有任何跨浏览器JavaScript可以使vh和vw单元正常工作
注意:好的,而我打字这个问题,我碰上了这个 问题,这说明使用@media query
,但被要求早在2011 …
正如你所知道CSS3引入了新的视口百分比长度单位,vh
并且vw
,我觉得是非常有用了坚实的响应式布局,所以我的问题是,是否有任何的JavaScript /jQuery的替代这个?除了将其用于字体大小之外,用于元素大小设置是否安全?像例子
div { height: 6vh;
width: 20vh; /* Note am using vh for both, do I need to use vw for width here? */
}
回答:
CSS(属性)修复插件等的fancybox使用.css('margin-
right')抓取元件的右边距与.css('margin-right','12px')
设置元素的右边缘。这被破坏了,因为没有检查是否props
是字符串以及是否提供了多个参数。通过检查是否props
为字符串来修复它。如果是这样并且有多个参数,则将参数重写为对象,否则parseProps($.extend( {}, props ) )
不使用。
用于响应式布局的插(在工作中)
我尝试了一下。首先,这里是CSS示例:(调整输出面板的大小)。请注意,font-
size至少在最新版本的Chrome上,不适用于视口单元。
这是我使用jQuery进行的尝试。也可以使用该字体的jQuery演示位于。尚未对其进行广泛的测试,但它似乎可用于大多数属性,因为它只是将值转换为像素,然后通过调用其插件window.resize
来保持更新。
更新了代码以与许多浏览器一起使用。如果您使用的不是Chrome,请在本地进行测试,因为jsBin的行为有点怪异window.resize
。
扩展本机css
方法。
处理插件内部的window.resize事件,以便现在无缝集成。
/* * CSS viewport units with jQuery
* http://www.w3.org/TR/css3-values/#viewport-relative-lengths
*/
;(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:
$('div').css({
height: '50vh',
width: '50vw',
marginTop: '25vh',
marginLeft: '25vw',
fontSize: '10vw'
});
以上是 是否有任何跨浏览器JavaScript可以使vh和vw单元正常工作 的全部内容, 来源链接: utcz.com/qa/399659.html