2016-06-24 45 views
0

现在我有一个有下拉按钮的按钮,可以显示它下面的两个按钮。我的问题是当下拉发生时,它与其他按钮的对齐混乱。隐藏和取消隐藏悬停Div时的对齐方式不正确

需要考虑的一件事是,当屏幕进入移动设备时(因为按钮堆叠在彼此之上),他们需要为下拉菜单“腾出空间”。

所以现在,它适用于我喜欢的移动设备,我正在寻找桌面解决方案,或者可能使两种解决方案都能正常工作。

我的一个愿望清单项目将会有一个下拉过渡,但我目前的解决方案使用display:none有两个原因:因为按钮是透明的,所以我不能隐藏它们后面的东西,而在移动中,我不能保留下面的空间,因为它们堆叠在一起。

zackpyle.com/photography

<style> 
.wrapcenter{ 
    text-align:center; 
} 
.homebox{ 
    display:inline-block; 
    position:relative; 
    margin:25px; 
    border:1px; 
    border-style:solid; 
    border-color:white; 
    width:250px; 
    height:140px; 
    color:white; 
    background:rgba(255,255,255,.25); 
    transition: all 0.25s ease-in-out; 
} 
h4.homeboxtext{ 
    position: absolute; 
    top: 27%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
} 

.homebox:hover { 
background:rgba(255,255,255,.4) 
    } 

h4{ 
    font-size: 25px; 
    text-transform: none; 
    font-family: "Abel"; 
    line-height: 1.2em; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    font-weight: 400; 
    font-style: normal; 
} 
h5{ 
    font-size: 18px; 
    text-transform: none; 
    font-family: "Abel"; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    font-weight: 400; 
    font-style: normal; 
    transform: translate(0%, -70%); 
} 
.submenu { 
    display: none; 
    margin:25px; 
    border:1px; 
    border-style:solid; 
    border-color:white; 
    width:250px; 
    height:50px; 
    color:white; 
    background:rgba(255,255,255,.25); 
    transition: all 0.25s ease-in-out; 
    z-index: 999; 
} 
.div_one:hover .submenu { 
    display: block; 
} 
.homeboxphotography_wrapper { 
    display:inline-block; 
    z-index: 1; 
} 
</style> 


    <div class="container wrapcenter"> 
    <ul class="menu"> 
     <li> 
      <a href="/professional-gallery"> 
       <h5>Professional</h5> 
      </a> 
     </li> 
     <li> 
      <a href="/fun-gallery"> 
       <h5>For Fun</h5> 
      </a> 
     </li> 
     <li> 
      <div id="menu1"> 
       <h5>Travel</h5> 
      </div> 
      <ul class="submenu"> 
       <li> 
        <a href="/europe-gallery">Mainland Europe</a> 
       </li> 
       <li> 
        <a href="/iceland-gallery">Iceland</a> 
       </li> 
      </ul> 
     </li> 
    </ul> 
</div> 

提前感谢!

Zack

+0

请在此处添加有意义的代码和问题描述。请不要链接到需要修复的网站 - 否则,一旦 问题得到解决,或者您链接到的网站无法访问,此问题将对未来的访问者失去任何价值。发布 [最小,完整和可验证示例(MCVE)](http://stackoverflow.com/help/mcve) 显示您的问题将帮助您获得更好的答案。欲了解更多信息,请参阅 [我网站上的某些内容不起作用。我可以只粘贴一个链接吗?](http://meta.stackexchange.com/questions/125997/) 谢谢! – j08691

回答

0

从内嵌块更改为浮动。

.homeboxphotography_wrapper { 
float: left; 
} 

最好添加媒体查询以堆叠平板设备的这些元素。

另一种方法是在子元素上使用绝对位置,确保它们位于容器内。

+0

谢谢。我曾经这样做过,但是float:left将按钮居中。有想法来抵消这种情况,但仍然能够保持良好的一致性? – CUbuffsFTW

+0

如果您创建小提琴/ codepen,我将更容易为您提供另一种不会压低内容的解决方案。 理想情况下,您需要将隐藏的按钮元素包装在容器中,并将隐藏的可见性和位置设置为绝对。从那里开始,当你将鼠标悬停在父元素上方时,你可以在下面显示按钮而不影响任何东西的高度。在平板电脑/移动设备上,这会造成不必要的影响,因此您需要创建媒体查询,只需按照您现在的操作进行即可。 –

+0

仅供参考任何人,我只是创建媒体查询来处理不同屏幕尺寸的对齐方式。谢谢您的帮助! – CUbuffsFTW