我用图像和文字制作div。用户可以将鼠标悬停在此div上以获得下拉列表。
我有关于下拉列表的问题。我需要它与悬停的div的右边界对齐:
这是代码:
<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
#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;
}
答案 0 :(得分:2)
在 #hoverDiv 中,添加position:relative
在 #hoverDiv中:悬停div.showme :
删除float:left
(冗余)
删除position:relative
(冗余)
删除margin-left:5px
&amp;&amp;除非您愿意,否则margin-right:5px
在 div.showme 中:
删除float:left
(冗余)
删除left:-999em
(冗余)
将left:auto
替换为right:0
此jsFiddle已完成所有工作。
答案 1 :(得分:1)
你的意思是这样吗? http://jsfiddle.net/nbZmG/9/
这是另一个 - http://jsfiddle.net/nbZmG/10/
请注意,在这两种情况下,蓝框的宽度均为120px
,并且使用margin
根据红框的左侧和右侧对齐。
希望这会有所帮助。
答案 2 :(得分:0)
您在margin-left:5px
div上悬停时添加.showme
,删除它并且它应该对齐:
#hoverDiv:hover .showme {
display: inline;
float: left;
margin-left: 0; /* here */
margin-right: 5px;
position: relative;
}
答案 3 :(得分:0)
在#hoverDiv:hover .showme
移除margin-left
和margin-right
。
在.showme
移除margin
并将padding
修改为10px 0px 0px 0px
,将border: 1px
修改为0px
。