CSS3 Scale - 防止文本缩小

时间:2014-12-10 15:09:31

标签: html css css3

所以即时面对一些代码的问题,我已经快速编写了一个简单的例子来展示jsfiddle中的效果:http://jsfiddle.net/0v0syunc/

我需要做的是阻止TEXT缩放,但一直在努力做到这一点,我在缩放之前使用了背景大小,但工作正常但在任何版本的IE中都不支持,包括10/11 - 任何人有任何想法吗?



h2 {
  color: #ffffff;
}
.box {
  background: #000000;
  width: 50%;
  height: 50%;
  text-align: center;
  padding: 10px;
}
.box:hover {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
}

<div class="box">
  <h2>TEST TEXT</h2>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

你正在做的事似乎有点迟钝,但是考虑到这一点,你需要按照反比(1 / 1.3)扩展你的孩子h2

Demo Fiddle

.box:hover h2 {
  -webkit-transform: scale(0.769);
  -ms-transform: scale(0.769);
  transform: scale(0.769);
}

问题在于比例正在应用于父母和所有孩子,因此您需要将其反转以让孩子“无效”。效果。

答案 1 :(得分:1)

好像你再问过同样的问题。我会将原有的策略重写为您的重复问题:


背景和文字应该分开。背景可以是伪元素(在语义上最有效),也可以是空元素(例如<div></div>)。选择归结为您是否要支持允许转换伪元素的浏览器(如果您想使用CSS转换,但在您的问题中您没有提及它。)

我将使用伪元素方法。标记保持不变,但CSS略有修改:

h2 {
  color: #ffffff;
}
.box {
  width: 50%;
  height: 50%;
  text-align: center;
  padding: 10px;
  position: relative;
}
.box::before {
  background-color: #000;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}
.box:hover::before {
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
}

请参阅此处的小提琴:http://jsfiddle.net/teddyrised/0v0syunc/7/