首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dropdown on div hover - dropdown对齐问题

Dropdown on div hover - dropdown对齐问题
EN

Stack Overflow用户
提问于 2012-03-25 00:43:59
回答 4查看 2.6K关注 0票数 2

我用图片和文本制作div。用户可以将鼠标悬停在此div上以获取下拉列表。我对下拉列表的对齐有问题。我需要它与悬停div的右边框对齐:

代码如下:

代码语言:javascript
复制
<div id="hoverDiv">
                <img alt="" width="32px" height="32px" src="http://www.fordesigner.com/imguploads/Image/cjbc/zcool/png20080526/1211776868.png" />
                <a href="#">Hover Me!</a>
                <div class="showme">
                    <p>
                        Hidden Stuff!</p>
                </div>
            </div>

和CSS

代码语言:javascript
复制
#hoverDiv
        {
            width: 100px;
            height: 40px;
            float: right;
            margin-right: 5%;
        }
        #hoverDiv:hover
        {
            background: #ff0000;
        }
        #hoverDiv:hover .showme
        {
            display: inline;
            float: left;
            position: relative;
            margin-left: 5px;
            margin-right: 5px;
        }
        .showme
        {
            display: none;
            width: 100px;
            height: 200px;
            background: #0000ff;
            margin: 0px auto;
            float: left;
            left: -999em;
            padding: 10px 5px 0px 5px;
            border: 1px solid #777777;
            border-top: none;
            z-index: 10;
            position: absolute;
            left: auto;
            top: auto;

        }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-25 00:51:23

#hoverDiv中添加position:relative

在hover中#div.showme:hover div.showme

删除float:left (冗余)

删除position:relative (冗余)

删除margin-left:5px & margin-right:5px,除非您喜欢它们

div.showme

删除float:left (冗余)

删除left:-999em (冗余)

right:0替换left:auto

这个jsFiddle已经为您完成了所有的工作。

票数 2
EN

Stack Overflow用户

发布于 2012-03-25 01:04:21

你的意思是这样的吗?http://jsfiddle.net/nbZmG/9/​​​

这是另一个- http://jsfiddle.net/nbZmG/10/

请注意,在这两种情况下,蓝色框的宽度都是120px,它们使用margin根据红色框的左侧和右侧对齐。

希望这能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2012-03-25 00:59:43

你在.showme分区上的悬停时添加了margin-left:5px,去掉它,它应该对齐:

代码语言:javascript
复制
#hoverDiv:hover .showme {
    display: inline;
    float: left;
    margin-left: 0; /* here */
    margin-right: 5px;
    position: relative;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9853470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档