【发布时间】:2016-12-06 23:40:34
【问题描述】:
我有一个 div,我想在其中显示一个人的姓名。
我只想在正常状态下显示此人的名字。悬停时,姓氏应出现在名字的右侧,其宽度从 0 扩展到正常宽度。所有这些文本都向右对齐。
如果我将转换应用于姓氏范围,它甚至不会显示它。
我也尝试了 max-width (就像一个人在这里做的那样:http://jsfiddle.net/qP5fW/87/ )但它不起作用。
所以我做了一个包装器 div,使用宽度而不是最大宽度,现在它可以工作了,只是它根本不显示过渡。
我怀疑问题出在“auto”属性上,但如果有人知道如何进行转换,我将不胜感激。
这是我的小提琴:https://jsfiddle.net/drywrsy6/
HTML:
<div class="name">
<span class="first">John</span>
<div class="last-wrapper">
<span class="last">Doe</span>
</div>
</div>
CSS:
.name {
border: 1px solid lightgrey;
margin: 10px auto 0px auto;
padding: 5px;
width: 300px;
font-size: 2em;
text-align: right;
overflow: hidden;
white-space: nowrap;
}
.first {
font-style: italic;
}
.last-wrapper {
display: inline-block;
vertical-align: bottom;
overflow: hidden;
width: 0;
transition: all 1s;
}
.last {
color: red;
}
.name:hover .last-wrapper {
width: auto;
}
【问题讨论】:
-
我不知道“有效”和“无效”是什么意思。会发生什么,你想发生什么?
-
你不能传递具有
auto的宽度
标签: html css hover width css-transitions