我正试图设置一个左边的meny,其中li
元素伸展到屏幕的整个高度,无论屏幕大小如何。
我不能让li元素用css3 flex属性填充整个屏幕高度。我一直在寻找一份好的文档:
http://css-tricks.com/snippets/css/a-guide-to-flexbox/
我正在使用ul
元素列表。不知道这是否导致问题..
这就是我要做的事情:
#left-drawer-menu {
width: 100%;
list-style-type: none;
margin: 0px;
padding: 0px;
display: -webkit-flex;
-webkit-flex-direction: column;
display: flex;
flex-direction: column;
}
#left-drawer-menu li{
background-color: white;
text-align: center;
min-height: 100px;
height: 20%;
}
<ul id="left-drawer-menu">
<li data-icon="contacts"><span class="km-icon km-mostrecent"></span>Available 1</li>
<li data-icon="globe"><span class="km-icon km-mostviewed"></span>Available 2</li>
<li data-icon="camera"><span class="km-icon km-organize"></span>Available 3</li>
<li data-icon="organize"><span class="km-icon km-featured"></span>Available 4</li>
<li data-icon="settings"><a href="#profile"><span class="km-icon km-action"></span>Available 5</a></li>
</ul>
感谢您的帮助。
答案 0 :(得分:5)
你需要:
a)将高度100%设置为所有元素链,包括ul,body和html
b)至少设置flex-grow到元素
body, html {
height: 100%;
padding: 0px;
}
#left-drawer-menu {
width: 100%;
height: 90%;
list-style-type: none;
margin: 0px;
padding: 0px;
display: -webkit-flex;
-webkit-flex-direction: column;
display: flex;
flex-direction: column;
}
#left-drawer-menu li{
background-color: white;
text-align: center;
flex-grow: 1;
}