divul 无法获取与设置自动适合高度

html-css08

divul 无法获取与设置自动适合高度,第1张

li虽然有了高度,但是因为你给li设置了了浮动,所以相当于没有高度,你可以在最后一个li的后面加一个li,单独设置这个li的样式,clear:both这样的话 ul 应该是有高度的,你可以按照我说的先试一下,给ul加个背景色就能看出来ul的高度了

HTML部分:

<div id="nav">

<ul>

<li>AAAA</li>

<li>BBBB</li>

<li>CCCC</li>

<li>DDDD</li>

<li>EEEE</li>

<li>FFFF</li>

</ul>

</div>

css部分:

#nav{

margin: 0 auto

border: 2px solid #00CED1

}

ul,li {

margin: 0px

padding: 0px

list-style: none

}

ul{

display: flex

flex-direction: row

flex-wrap: wrap

}

li{

border: 1px solid

width: 100px/*每个元素的初始化宽度*/

text-align: center

margin-top: 10px

margin-bottom: 10px

flex:auto  /*这是关键*/         

}

扩展资料:

Flex是Flexible Box的缩写,用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。

采用Flex布局的元素,被称为Flex容器(flex container),简称“容器”。其所有子元素自动成为容器成员,成为Flex项目(Flex item),简称“项目”。

容器默认存在两根主轴:水平方向主轴(main axis)和垂直方向交叉轴(cross axis),默认项目按主轴排列。

main start/main end:主轴开始位置/结束位置;

cross start/cross end:交叉轴开始位置/结束位置;

main size/cross size:单个项目占据主轴/交叉轴的空间;

设置在容器上的属性有6种。

flex-direction

flex-wrap

flex-flow

justify-content

align-item

align-content

①首先你的<li>是浮动的,也就是说li脱离了文档流,故它的父级ul是无法包围li的,所以li的内容增大缩小跟ul关系是不大。

②如果是你想实现:让li水平排列。同时div的内容增加后,div向下延伸。

可以直接限制li的宽度:

li {

      float:left

      width:100px

  }

效果如下:

<ul>

      <li>

          <div>测试信息a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a </div>

      </li>

      <li>

          <div>测试信息</div>

      </li>

      <li>

          <div>测试信息bb b b b b b b b b b b b b b b b b b b</div>

      </li>

  </ul>