使用CSS缩放对象时,有没有办法保持边框大小固定?
我有一个风格低于
的对象.myObj{
width:100px;
height:100px;
border:1px solid red
}
当我缩放此对象时,此对象的边框也会正常缩放。但是如何将其保持为1px?
以下是FIDDLE
答案 0 :(得分:1)
我相信您必须转换宽度和高度(以及您需要的任何其他内容),而不是使用scale
。
.box {
transition: 1s;
}
.box:hover {
width: 200px;
height: 200px;
}
答案 1 :(得分:0)
但是,仅使用CSS3属性可以解决此问题。 但是,只有在你给出一个边界宽度的情况下才能做到这一点。 ' 2px'首先,然后将其更改为' 1px'当你将鼠标悬停在它上面时,1px是要渲染的最小单位值。
.myObj { border: 2px solid red; }
.myObj:hover { border: 1px solid red; }
为了更好地理解,FIDDLE出现了。
答案 2 :(得分:0)
当然有可能!我认为最简单的方法是更改你的jQuery代码并使用.animate-function而不是.transition-function:
$(".box").hover( function () {
$('.box').animate({height: 300, width: 300, marginLeft: '-=' + (300-75) / 2, marginTop: '-=' + (300-75) / 2});
}, function () {
$('.box').animate({height: 75, width: 75, marginLeft: '20%', marginTop: '20%'});
});
通过一点点创造力,您可以使用细边框获得相同的效果;)
答案 3 :(得分:0)
试试这个fiddle
$(".box").hover( function () {
$( ".box" ).animate({
width: "300px",
height: "300px"
}, 100, function() {
// Animation complete.
});
}, function () {
$( ".box" ).animate({
width: "75px",
height: "75px"
}, 100, function() {
// Animation complete.
});
});
答案 4 :(得分:-1)
我迟到了这个答案,但我希望它有所帮助。
当使用css刻度时,尺寸也可以缩放。您可以使用jQuery(或javascript,如果你愿意)覆盖它
var scale = 0.5, /*value of your scale, as in transform: scale(0.5)*/
absoluteSize = 1/scale + "px"
//absoluteSize = 1/0.5px = 2px
$(".box").css("border", absoluteSize);
这是纯数学
1 / 0.5 = 2
1 = 2(0.5)
1 = 1