我隐藏了一个儿童形象,并在有人悬停父母形象时显示它。 问题是,当子图像显示时,它显示在父图像的右侧。
我希望它出现在父图像下面,因为它是默认值。没有将显示设置为" initial"使元素达到默认状态?
.child {
display:none;
}
.parent:hover .child {
display:initial;
}

<div class="parent">
<img src="https://lh4.ggpht.com/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300">
<div class="child">
<img src="http://xiostorage.com/wp-content/uploads/2015/10/test.png" width="200">
</div>
</div>
&#13;
这个问题仅供我理解CSS属性display:initial
。我不需要在父图像的上方,下方,右侧或左侧显示子图像。
答案 0 :(得分:1)
值initial
表示不同的内容,具体取决于您为其指定的属性。
如果您将其分配给非继承属性,例如您的display
,则其值会更改为{中为该属性定义的initial
值{3}}(不到您之前在样式表中定义的值 - 这就是您获得问题中描述的行为的原因:display
默认为{{1} }},即initial
)
如果您将其分配给继承的属性,例如inline
,那么该属性将采用先前在样式表中定义的任何值,如果则存在任何。如果没有,则默认返回CSS规范中定义的color
值。 (例如,CSS specification因浏览器而异,但它通常是initial
)
相关链接:
答案 1 :(得分:0)
initial
值只表示整个属性的值。它依赖于财产而不是其他任何东西。
作为示例: display: initial;
表示内联,这是因为它是指定的属性初始值。
在大多数情况下,浏览器的默认值为block,因为该元素是div。
不确定这是否有利于您的理解,但是你去了。
答案 2 :(得分:0)
因此,initial实际上是某个元素的默认状态。
div
或p
等特定元素默认为display: block
。因此将其设置为display: initial
将是相同的。
img
- 标记默认为display: inline
。因此将其设置为display: initial
与将其设置为inline
相同。