关于给ul加了背景颜色background-color 然后背景颜色不生效的问题。
关于给ul加了margin-top 然后margin-top不生效的问题。
关于和ul并列的div的margin-top不生效的问题。
原因:li没有清除浮动。
解决方案:由于ul没有直接制定高度,其高度根据里面的li来伸缩。由于li设置了向左浮动,因此得清除浮动。
1-1. 清除浮动可以给ul添加一个display:flow-root的样式,即ul{display:flow-root}。
1-2. 清除浮动可以给ul添加一个overflow:hidden的样式,即ul{overflow:hidden}。
2-1. 或者在<ul>上,加一个清除浮动的样式,即ul::after{display: table;content: '';clear: both;}
2-2. 或者在</ul>前面加入一个清除浮动的div,即<div style="clear: both;"></div>