Pet*_*ver 5 html css css3 flexbox responsive-design
假设我<ul>在响应式设计中使用以下内容:
li {
display: inline;
padding-right: 1em;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>
MenuItemHeinz
</li>
<li>
MenuItemHinrich
</li>
<li>
MenuItemRoffen
</li>
<li>
MenuItemStaffRoffeltack
</li>
<li>
MenuItemHeinz
</li>
</ul>Run Code Online (Sandbox Code Playgroud)
当我调整浏览器窗口的大小或查看手机中的页面时,它会像这样断开:
如何让菜单项在打破时很好地排列在网格上,例如像这样?最好只使用css ...当然;)
使用CSS flexbox,这种布局相对简单.
ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
padding-left: 0;
}
ul li {
flex: 0 0 calc(50% - 10px);
margin: 5px;
padding: 5px 0;
text-align: center;
box-sizing: border-box;
border: 1px dashed red;
background-color: yellow;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
</ul>Run Code Online (Sandbox Code Playgroud)
浏览器支持: 所有主流浏览器都支持 Flexbox,IE <10除外.最近的一些浏览器版本,例如Safari 8和IE10,需要供应商前缀.要快速添加前缀,请使用Autoprefixer.这个答案的更多细节.