Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何根据内部另一个div的大小调整div的大小?_Html_Css - Fatal编程技术网

Html 如何根据内部另一个div的大小调整div的大小?

Html 如何根据内部另一个div的大小调整div的大小?,html,css,Html,Css,我有一个垂直导航“滑块”,现在需要根据用户可用的链接数量动态调整大小。我到处找了,但我找到的所有解决办法都不太管用。这可能只是我让css工作的方式。每当我试图更改“高度”属性时,整个事情都会失控。我试图完全用css来实现这一点。我知道这看起来应该很简单,我自己就是想不出来 基本上是: <div class="slideMenu"> <ul class="nav">menu items...</ul> </div> 您不需要指定高度。在本例

我有一个垂直导航“滑块”,现在需要根据用户可用的链接数量动态调整大小。我到处找了,但我找到的所有解决办法都不太管用。这可能只是我让css工作的方式。每当我试图更改“高度”属性时,整个事情都会失控。我试图完全用css来实现这一点。我知道这看起来应该很简单,我自己就是想不出来

基本上是:

<div class="slideMenu">
    <ul class="nav">menu items...</ul>
</div>

您不需要指定高度。在本例中使用100%表示高度为其父容器的100%。。。身体。不是你想要的。别说了。这里还有其他可以改进的问题,我在下面代码的注释中标记了这些问题

正文{
保证金:0;
字体系列:“Helvetica Neue”,Helvetica,Arial,“sans serif”!重要;
字体大小:12px;
}
slideMenu先生{
背景:#449bb5;
宽度:140px;
/*高度:100%;移除此*/
右边填充:40px;
位置:绝对位置;
z指数:3;
-网络工具包盒阴影:-3px0px 5px0px rgba(0,0,0,0.2);
盒影:3px0px5px0pxRGBA(0,0,0,0.2);
左:-180px;
排名:0;
颜色:#FFFFFF;
不透明度:100;
过渡:.4s易进易出;
}
.slideMenu:不(:悬停){
转换延迟:.4s;
}
.slideMenu:hover/*,.slideMenu:focus*/{
变换:translate3d(160px,0,0);
}
.slideMenu.nav{
/*位置:绝对;更改为相对*/
位置:相对位置;
最高:30%;
/*高度:自动;删除。不需要*/
/*
-webkit转换:translateY(50%);
-ms转换:translateY(50%);
转化:translateY(-50%);
删除此项。它正在尝试将菜单居中*/
字体大小:400;
}
.slideMenu.nav li{
垫底:10px;
填充顶部:10px;
列表样式类型:无;
}
.slideMenu.nav li a{
显示:块;
文字装饰:无;
颜色:白色;
光标:指针;
}
.slideMenu.nav li a:悬停{
颜色:#aaa;
}
.slideMenuTab{
背景:#449bb5;
位置:相对位置;
宽度:40px;
z指数:3;
-网络工具包盒阴影:-3px0px 5px0px rgba(0,0,0,0.2);
盒影:3px0px5px0pxRGBA(0,0,0,0.2);
左:165px;
颜色:#FFFFFF;
文本对齐:右对齐;
右边填充:8px;
填充顶部:6px;
垫底:3件;
边界半径:8px;
光标:指针;
}


你到底想做什么?你想改变什么高度?实际问题是什么?(你的JSFIDLE在我看来很好,但我不确定你认为它有什么错)我完全不确定我知道你的意思,但也许删除
.slideMenu.nav
上的大多数样式就可以了?我可能完全偏离了方向,但这就是你要找的吗?好吧,对不起,我不是很清楚。有时菜单项(nav)可能是12个,有时是3个,有时什么都可以。我需要“slideMenu”,它是一个容器,可以根据显示的菜单项的数量缩小或增大。谢谢韦德先生!成功了!做了一点小调整,但效果很好!
.slideMenu {
  background: #449bb5;
  width: 140px;
  height: 100%;
  padding-right: 40px;
  position: absolute;
  z-index: 3;
  -webkit-box-shadow: -3px 0px 5px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 3px 0px 5px 0px rgba(0, 0, 0, 0.2);
  left: -180px;
  color: #FFFFFF;
  opacity: 100;
  transition: .4s ease-in-out;
}

.slideMenu:not(:hover) {
    transition-delay: .4s;
}

.slideMenu:hover {
  transform: translate3d(160px, 0, 0);
}

.slideMenu .nav {
  position: absolute;
  top: 30%;
  height: auto;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(-50%);
  font-weight: 400;
}