CSS 变换比例,不缩放子元素

问题描述 投票:0回答:3

如果我有一个带有一些子元素的 div,并且它正在被 css 变换缩放。我有一个我不想缩放的子元素

#parent{
    -webkit-transform: scale(.5);
}
 
span:last-child{
    -webkit-transform: Something to ignore the parent scale;
}
<div id="parent">
    <span>Child 1</span>
    <span>Child 2</span>
    <span>Child 3 (Don't Scale Me)</span>
</div>

这可以只用CSS来完成吗?无需更改 html 或使用 js。

css transform
3个回答
18
投票

不幸的是这是不可能的。

不过,您大致还有其他两个选择:

  1. 缩放所有其他元素,不包括您不想缩放的元素(但这不会缩放容器)。
  2. 缩放容器并重新缩放您不想缩放的元素(但这可能会使其看起来模糊)。

示例:

// Example 1.
span:not(:last-child) {
    display: inline-block; /* You can't scale inline elements */
    transform: scale(2);
}

// Example 2.
#parent{
    transform: scale(.5);
}

span:last-child{
    transform: scale(2);
}

4
投票

恐怕您需要使用更详细的选择器,就像这样

#parent > span:not(:last-child)
示例


1
投票

我发现 Chrome 的 hack 可以解决模糊问题。

#parent { transform: scale(5);}
#child  { transform: scale(0.2)  translate3d( 0, 0, 0);}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.