我有一个看起来像这样的元素:
___
| X|
‾‾‾
所以基本上是一个带有按钮的小盒子。
我还在元素中应用了CSS,所以当它悬停时,它会变成这样的东西:
___________________
| X|
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
简单地说,它会变得更宽。
现在。我想要做的是,只要用户将鼠标悬停在关闭按钮(X)上,该框就不会改变其大小 但是当用户在盒子上的任何其他位置上徘徊时,它的行为就像建议的那样。
这可以用纯CSS吗?
编辑:很抱歉我添加的很晚,但答案应该基于这个例子:http://jsfiddle.net/fpY34
答案 0 :(得分:3)
使用你拥有的标记,我不知道如何在没有固定宽度的情况下做到这一点,以及绝对的肮脏。但是这是我全力以赴! http://jsfiddle.net/fpY34/15/
<div id='outer'>
<div id='notOuter'>
<div id='content'>
<div id='img'>
</div>
<div id='label'>
Text example
</div>
<div id='closeButton'>
X
</div>
</div>
</div>
</div>
和美女:
#outer { height: 30px; }
#notOuter {}
#content { float: left; position: relative; }
#closeButton { background: #0f0; position: absolute; top: 0; left: 30px; width: 30px; height: 30px;}
#img { background: #f0f; width: 30px; height: 30px; position: absolute; left: 0; top: 0; }
#label { display: none; position: absolute; left: 0; top: 0; width: 60px; height: 30px; background: #f00; }
#img:hover { width: 60px; z-index: 10; }
#img:hover + #label,
#label:hover { display: block; z-index: 20; }
#img:hover ~ #closeButton,
#label:hover + #closeButton { left: 60px; }
答案 1 :(得分:0)
请你检查一下,告诉我你想要的是什么吗?
<style>
.divs
{
height: 20px;
width: 100px;
border: 1px solid;
padding: 5px 3px;
}
.divs:hover
{
width: 50px;
padding-left: 150px
}
</style>
<div class="divs"><span>X</span></div>
答案 2 :(得分:0)
你可以浮动它们:
<div class="box">
<div>
Content
</div>
<span>X</span>
</div>
.box {display:inline-block;border:1px solid black}
.box div {width:100px;float:left}
.box div:hover {width:200px}
.box span {float:left}
但可能无法在旧版浏览器中使用。