3

我写了一个简单的便签页。每个注释都是一个列表项,包含段落中的内容、跨度中的删除按钮和带有工具提示的图像。这是一段包含一个注释的 HTML:

<ul id="wall" class="ui-sortable">
  <li id="note1">
    <a href="#">
      <span class="del">x</span>
      <p>1221212 23 23 3322 3223</p>
      <img src="..."/>
      <div class="tooltip">Tooltip</div>
    </a>
  </li>
  .
  .
  .
</ul>

这是CSS:

ul li a
{
  outline: none;
  text-decoration: none;
  display: block;
  height: 200px;
  width: 200px;
  -moz-transition: -moz-transform 0.2s ease;
}

ul li a:hover
{
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  font-size: 105%;
  position: relative;
}

ul li p
{
  overflow: hidden;
  margin: 0;
  padding: 20px;
  -moz-user-select: none;
  font-size: 120%;
  font-style: italic;
}

.del
{
  -moz-user-select: none;
  font-size: 22px;
  position: absolute;
  left: 183px;
  float: right;
  display: none;
  padding: 2px 5px 0 0;
}

问题是,使用此代码,整个注释可以缩放,但是在缩放完成后,文本(在 p 和 span 中)会稍微调整一下自身的大小(我不知道,大约 1-2px),它看起来真的很糟糕。从 'ul li a' 中删除 -moz-transition 解决了这个问题,但是缩放根本不平滑。你们有没有遇到过类似的问题?我也试过这个:

-moz-transition: -moz-transform 0.2s ease;
-moz-transition: font-size 0.2s ease;

但这无济于事。有没有办法在没有“跳跃”文本的情况下使用 css 转换比例?我现在不想使用 jQueryUI,因为它只用于这个简单的任务太重了。

这是为此的jsfiddle: Notes

当然,您必须从 firefox 运行它才能观察到问题。在 chrome 上它工作正常 AFAIK。

更新:我必须在 FF8.0 下运行它,但我已经安装了 13.0.1,并且这个故障在那里也可见。

4

1 回答 1

0

只需将字体大小从 105% 更改为 100%。

ul li a:hover
  {
    -moz-box-shadow: 10px 10px 7px black;
    -webkit-box-shadow: 10px 10px 7px black;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    font-size: 100%;
    position: relative;
  }
于 2012-06-21T10:14:37.880 回答