变大的元素:在不移动周围元素的情况下激活

时间:2014-07-01 02:50:41

标签: css width padding

我有一个由多个span元素组成的句子:

<span class="sentence">
    <span>First</span>
    <span>second</span>
    <span>third.</span>
</span>

点击span:active,我希望它有一个增加的字体,但不会水平移动它周围的元素。

空闲

enter image description here

第二个字:活跃

enter image description here

我不想要任何Javascript(计算元素的:active宽度,或者像这样的一些黑客),只有CSS。一种解决方案是默认添加右/左填充,并在单词:active时禁止它,但它不适用于所有字长:http://jsfiddle.net/Ampwt/1/

我知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

为您的跨度应用宽度和高度。请参阅样本css。

.sentence span {
    display:inline-block;
    vertical-align:middle;
    font-size:1.5em;
    width: 170px;
    height:30px;
}
.sentence span:active {
    font-size:2em;
}

答案 1 :(得分:1)

使用transform: scale()http://jsfiddle.net/Ampwt/2/

<span class="sentence">
    <span>First</span>
    <span>second</span>
    <span>third.</span>
</span>

<br />

<span class="sentence">
    <span>First</span>
    <span>very long word</span>
    <span>third.</span>
</span>

CSS:

.sentence span {
    display:inline-block;
    vertical-align:middle;
    font-size:1.5em;
    padding:0 1em;
}
.sentence span:active {
    -webkit-transform: scale(2);
    transform: scale(2);
}