悬停时.wrapper
,其子元素.contents
应从0px
变为其自然宽度。然后,将鼠标从中移出时.wrapper
,它应重新动画到0px
。该.wrapper
元件应仅一样宽,它需要被(允许.contents
生长),所以.wrapper
应在宽度成长和收缩宽度为.contents
一样。不应设置的宽度.contents
。我正在使用CSS3,但是可以在jQuery中完成,那很好。
问题: 请参见JSfiddle
.wrapper
不仅需要它的宽度。.contents
增长时,几乎达到全宽时,它会跳到下一行当悬停于时.wrapper
,.contents
消失,应该将其动画化为0px
.wrapper {
display: inline-block;
height: 20px;
width: auto;
padding:10px;
background:#DDD;
}
.contents {
display:inline-block;
width:0%;
white-space:nowrap;
overflow:hidden;
background:#c3c;
}
.wrapper:hover .contents {
-webkit-transition: width 1s ease-in-out;
-moz-transition: width 1s ease-in-out;
-o-transition: width 1s ease-in-out;
transition: width 1s ease-in-out;
width:100%;
}
<span>+</span>
<div class="contents">These are the contents of this div</div>
我想我明白了。
.wrapper {
background:#DDD;
display:inline-block;
padding: 10px;
height: 20px;
width:auto;
}
.label {
display: inline-block;
width: 1em;
}
.contents, .contents .inner {
display:inline-block;
}
.contents {
white-space:nowrap;
margin-left: -1em;
padding-left: 1em;
}
.contents .inner {
background:#c3c;
width:0%;
overflow:hidden;
-webkit-transition: width 1s ease-in-out;
-moz-transition: width 1s ease-in-out;
-o-transition: width 1s ease-in-out;
transition: width 1s ease-in-out;
}
.wrapper:hover .contents .inner {
width:100%;
}
<div class="wrapper">
<span class="label">+</span><div class="contents">
<div class="inner">
These are the contents of this div
</div>
</div>
</div>
动画化为100%
会包装,因为该框大于可用宽度(100%减去+
以及其后的空白)。
相反,您可以为内部元素设置动画,该元素100%
的总宽度为.contents
。
问题内容: 我正在与offsetWidth属性的怪异(我认为)作斗争。 这是场景: 可以说,我的js中有一个 span 标签,在某个时候,我对该元素执行css3转换,例如: 此时,日志返回模糊值,就像它不知道说什么一样。 有什么建议吗? 问题答案: 为我返回正确的值。
问题内容: 我必须在屏幕高度上安装iframe。显然,我希望宽度为100%,但是由于这种方法不起作用,因此我使用了100vh。但是像vw这样的vh并不完全是100%。在我的笔记本电脑中,通过镀铬虽然100%的宽度可以完美呈现而不需要水平滚动条,但vw大约可以增加一厘米。 问题答案: vw和vh分别代表视口宽度和视口高度。 使用代替的区别在于,虽然将使元素适合所有可用空间,但视口宽度具有特定的度量,
我必须在屏幕高度上安装iframe。显然,我想要100%的宽度,但,因为这不起作用,我使用100VH。但像大众这样的vh并不完全是100%。在我的笔记本电脑通过chrome虽然100%的宽度呈现完美不需要水平滚动条,大众有大约一厘米额外。
问题内容: 在下面的示例中,我有一个具有以下样式的按钮… 但是它会自动缩放到100%,而不是内容的宽度。您可以设置一个明确的宽度,但是那样一来您的文本就不能自然地换行。 如何制作一个内部文本以flexbox居中但不能增长到适合容器大小的按钮? 问题答案: 而不是使用容器。 这会将容器从块级(占用其父级的整个宽度)切换到内联级(占用其内容的宽度)。 这上浆行为类似于对比。
问题内容: 如何为宽度创建CSS规则 默认使用100%宽度 如果100%的宽度超过了某个像素的宽度(例如512像素),则该宽度将被限制为该像素的宽度 我不确定宽度和最大宽度关系,也不知道如何支持calc()或可以表达这一点。这需要与最新的WebKit浏览器和Firefox 4配合使用。不需要IE8等支持。 问题答案: 这实际上是的预期用途。如果元素的计算值(实际值)超过,它将被限制为最大值,而不是
问题内容: 您可以设置诸如,和的内联元素的宽度,但是在放置它们之前不会发现任何效果。 a)我认为不能设置内联元素的内联宽度? b)假设可以设置宽度-在放置内联元素之前,我们不会注意到任何效果(因此我们指定了宽度)。位置如何/在哪里? c)为什么仅当我们“定位”内联元素时才显示它们的宽度? 问题答案: 正如其他人提到的那样,设置内联元素的宽度(或其他一些与位置相关的属性)将导致浏览器将元素显示为块元