栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

调整元素大小的CSS转换

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

调整元素大小的CSS转换

我注意到的问题是,当元素缩放时,浏览器会更改其像素比例,而不是像素数量。元素较小,但不会更改DOM中的实际像素大小。因此,我认为不存在仅CSS解决方案。

我将可缩放元素放入容器,该容器保持与其余元素相同的像素比率。使用Java脚本,我只需更改容器的大小即可。一切仍然基于CSS3转换:缩放。也许JS代码可能更简单,但是现在所有的想法都在这里(只是概念的证明);)摆弄两个例子

HTML:

<div >    <div  scalex='0.5' scaley='0.5'>        Nunc et nisi ante. Integer in blandit nisi. Nulla facilisi. Vestibulum vulputate sapien eget mauris elementum sollicitudin. Nullam id lobortis dolor. Nulla vitae nibh vitae sem volutpat pretium. Nunc et nisi ante. Integer in blandit nisi. Nulla facilisi. Vestibulum vulputate sapien eget mauris elementum sollicitudin. Nullam id lobortis dolor. Nulla vitae nibh vitae sem volutpat pretium.    </div></div>

CSS:

.overall-scalable {width: 350px; height: 150px; overflow: hidden; -webkit-transition: all 1s;}.scalable {color: #666; width: 350px; height: 150px; -webkit-transform-origin: top left; -webkit-transition: all 1s;}

JS:

$('button').click(function() {    $('.scalable').each(function(){        rescale($(this));    })});function rescale(elem) {    var height = parseInt(elem.css('height'));    var width = parseInt(elem.css('width'));    var scalex = parseFloat(elem.attr('scalex'));    var scaley = parseFloat(elem.attr('scaley'));    if (!elem.hasClass('rescaled')){        var ratioX = scalex;        var ratioY = scaley;    }else{       var ratioX = 1;        var ratioY = 1;    }    elem.toggleClass('rescaled');    elem.css('-webkit-transform', 'scale('+ratioX +', '+ratioY+')'); elem.parent().css('width', parseInt(width*ratioX) + 'px');    elem.parent().css('height', parseInt(height*ratioY) + 'px');}​


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号