绝对位置元素上的高度100%

杰伊

我试图在此处http://www.templatemonster.com/demo/51129.html
HTML上制作演示的导航栏

  <div class="main-container">
      <div class="top-nav-wrap">
        <div class="top-nav">
          <ul>
          <li class="border"><a href="#" >HOME</a></li>
          <li class="border submenu"><a href="#" >BLOG</a>
            <div class="submenu-wrap">
              <ul class="submenu-1">
              <li><a href="#">TESTIMONIALS</a></li>
              <li><a href="#">ARCHIVES</a></li>
              <li><a href="#">FAQS</a></li>

            </ul>
          </div>
          </li>
          <li class="border"><a href="#" >SERVICES</a></li>
          <li class="border"><a href="#" >OUR GALLERY</a></li>
          <li class="border"><a href="#" >CONTACTS</a></li>
        </ul>
      </div>
      </div>
      <div class="top-container">

      </div>
    </div>

CSS:

* {
  margin: 0;
  padding: 0;
}
body {
  background-image: url(../images/header-img.jpg);
  font-family: 'Roboto Condensed', sans-serif;
  height: 1900px;
}
.top-container {

  overflow: hidden;
}
.top-nav-wrap {
  width: 100%;

}
div.top-nav-scrolled.top-nav-wrap {
  position: fixed;
  top: 0;
  left: 0;
  background: white;
}
.top-nav {

  width: 1200px;
  margin: auto;
  /*overflow: hidden;*/
}

.top-nav ul {
  /*overflow: hidden;*/
  list-style: none;

}
.top-nav ul li {
  position: relative;
  float: left;
  padding-top: 30px;
  margin-left: 50px;
  padding-bottom: 10px;

}
.top-nav ul li:first-child {
  margin-left: 0;
}

.top-nav li a {

  text-decoration: none;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 1px;
  color: #ba4b07;
}
.top-nav li.border::before {
  position: absolute;
  left: -25px;
  content: '\\';
  font-size: 20px;
  color: #ba4b07;
}

.top-nav li.border:first-child::before {
  content: '';
}
.top-nav li.border> a::after {
  position: absolute;
  top: -30px;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 20px;
  background:  #ba4b07;
  transition: all 0.3s ease;
}
.top-nav li.border a.hoverNav::after {
  top:0px;
}


.submenu-wrap {
  height: 0px;
  position: absolute;
  top: 100%;
  overflow: hidden;
  transition: all 0.3s ease;

}
.submenu:hover > div {
  height: 100%;
}
ul.submenu-1 {
  width: 300px;
  padding-top: 15px;
  padding-bottom: 30px;

  background:#ba4b07;
}
ul.submenu-1 li{
  padding: 0px;
  float: none;
  margin: 0;
}
ul.submenu-1 li a {
  display: block;
  padding: 20px;
  color: white;
  font-size: 1em;
}

ul.submenu-1 li:hover {
  background: white;
}
ul.submenu-1 li:hover a {
  color: #ba4b07;
}

Js:

$(function(){

  $('.top-nav ul li a').on('mouseover',function(){
    $(this).addClass('hoverNav');
  }).on('mouseout',function(){
    $(this).removeClass('hoverNav');
  });

  $(window).on('scroll',function(){
    $('.top-nav-wrap').addClass('top-nav-scrolled');
    if($(window).scrollTop()==0){
      $('.top-nav-wrap').removeClass('top-nav-scrolled');
    }

  });



});

在这里的问题是.submenu:hover > divheight:100%;我在这里看到了很多有关身高100%的答案,但无法理解。
height:100%在这里只占整体的一部分div而不是全部。
我本可以使用硬编码的像素,但所有子菜单的大小都不同,并且使用相同的类。编辑:而且使用height:auto不会让我的CSS过渡到工作。和使用max-height相同。
我希望我的CSS过渡保留下来。

弗朗特

将子菜单更改为height:auto,这样它将根据内部的子元素计算高度,如下所示。

更新以实现height transition,您可以尝试以下操作,仍然height可以auto,但是可以transit使用inner elements

 .submenu:hover >.submenu-wrap {
   height:auto;
 }
.submenu:hover >.submenu-wrap> ul.submenu-1 {
  padding-top: 15px;
  padding-bottom: 30px;
 }
.submenu:hover >.submenu-wrap> ul.submenu-1 li a {
    padding-top: 20px;
    padding-bottom: 20px;
 }

检查更新的jsFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS全屏显示-绝对位置与高度的100%

来自分类Dev

将父级的高度与子级元素相匹配-相对位置和绝对位置

来自分类Dev

查询元素的绝对位置

来自分类Dev

在绝对位置元素上捕获点击事件

来自分类Dev

在一个元素上的绝对和相对位置?

来自分类Dev

位置绝对元素上的100%宽度

来自分类Dev

绝对位置没有高度

来自分类Dev

可变高度上的CSS绝对位置

来自分类Dev

位置元素内部绝对位置

来自分类Dev

身体高度时垂直居中div:100%无绝对位置

来自分类Dev

绝对位置,底部为0仅适用于高度为100%的父级

来自分类Dev

为绝对位置和高度为100的div设置边距底部

来自分类Dev

2列布局,带页脚和绝对位置,右列高度为100%

来自分类Dev

如果绝对位置是相对于HTML的,那么为什么更改HTML的高度不会影响绝对位置元素的高度?

来自分类Dev

我如何使用绝对位置子元素来获得高度灵敏的身高

来自分类Dev

Elm-元素的绝对位置

来自分类Dev

表单元素的绝对位置被忽略

来自分类Dev

对齐元素中心,保持绝对位置

来自分类Dev

绝对位置元素未显示

来自分类Dev

浮动元素被绝对位置div裁剪

来自分类Dev

Elm-元素的绝对位置

来自分类Dev

垂直居中,绝对位置,多个元素

来自分类Dev

Flexbox:在此布局中,让子级填充其父级的100%高度,而没有固定的高度或绝对位置

来自分类Dev

如何在绝对位置父级上设置子级高度

来自分类Dev

处理绝对位置元素上的过渡推动其他元素

来自分类Dev

网格绝对位置:img上的文本

来自分类Dev

CSS文字在图片上(宽度100%),没有绝对位置

来自分类Dev

jQuery中的延迟加载和不定式滚动问题,以查找位置绝对位置的元素的新高度?

来自分类Dev

基于绝对位置元素的中心移动绝对位置元素

Related 相关文章

  1. 1

    CSS全屏显示-绝对位置与高度的100%

  2. 2

    将父级的高度与子级元素相匹配-相对位置和绝对位置

  3. 3

    查询元素的绝对位置

  4. 4

    在绝对位置元素上捕获点击事件

  5. 5

    在一个元素上的绝对和相对位置?

  6. 6

    位置绝对元素上的100%宽度

  7. 7

    绝对位置没有高度

  8. 8

    可变高度上的CSS绝对位置

  9. 9

    位置元素内部绝对位置

  10. 10

    身体高度时垂直居中div:100%无绝对位置

  11. 11

    绝对位置,底部为0仅适用于高度为100%的父级

  12. 12

    为绝对位置和高度为100的div设置边距底部

  13. 13

    2列布局,带页脚和绝对位置,右列高度为100%

  14. 14

    如果绝对位置是相对于HTML的,那么为什么更改HTML的高度不会影响绝对位置元素的高度?

  15. 15

    我如何使用绝对位置子元素来获得高度灵敏的身高

  16. 16

    Elm-元素的绝对位置

  17. 17

    表单元素的绝对位置被忽略

  18. 18

    对齐元素中心,保持绝对位置

  19. 19

    绝对位置元素未显示

  20. 20

    浮动元素被绝对位置div裁剪

  21. 21

    Elm-元素的绝对位置

  22. 22

    垂直居中,绝对位置,多个元素

  23. 23

    Flexbox:在此布局中,让子级填充其父级的100%高度,而没有固定的高度或绝对位置

  24. 24

    如何在绝对位置父级上设置子级高度

  25. 25

    处理绝对位置元素上的过渡推动其他元素

  26. 26

    网格绝对位置:img上的文本

  27. 27

    CSS文字在图片上(宽度100%),没有绝对位置

  28. 28

    jQuery中的延迟加载和不定式滚动问题,以查找位置绝对位置的元素的新高度?

  29. 29

    基于绝对位置元素的中心移动绝对位置元素

热门标签

归档