2

我有一个看起来像这样的元素:

 ___
|  X|
 ‾‾‾ 

所以本质上是一个带有按钮的小盒子来关闭它。

我还对元素应用了 CSS,因此当悬停时,它会变成这样:

 ___________________
|                  X|
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

简而言之,它只会变得更宽。

现在。我想要做的是,每当用户将鼠标悬停在关闭按钮 (X) 上时,该框都不会改变其大小。
但是当用户将鼠标悬停在盒子上的任何其他地方时,它会按照建议的方式运行。

纯CSS可以做到这一点吗?

编辑:对不起,我添加了这么晚,但答案应该基于这个例子:http: //jsfiddle.net/fpY34

4

3 回答 3

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; }

​</p>

于 2013-01-02T08:51:48.157 回答
0

请你检查一下并告诉我你想要什么吗?

http://jsfiddle.net/UjPtv/10/

<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>​
于 2013-01-02T08:49:29.100 回答
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}​

但可能不适用于旧版浏览器。

于 2013-01-02T08:57:17.393 回答