我有一个无序列表listaAuto
,其中包含<li>
个项目,每个项目包含一个img
。
问题是如果我使用<li>
属性display: inline;
,它们将不会展开以包含图像。相反,如果我水平显示它们,它们就不会出错。
我已尝试使用overflow: auto
,height: auto
,clear: both:
和其他解决方案,但我仍然无法找到方法。
HTML:
<body>
<div>
<ul id="listaAuto">
<li><img src="example.png" width="121.33" height="75.92"/></li>
<li><img src="example.png" width="121.33" height="75.92"/></li>
</ul>
</div>
</body>
CSS:
#listaAuto, li{
list-style: none;
padding: 5px;
}
li{
clear: both;
display: inline;
border: 1px solid black;
}
当前输出:
答案 0 :(得分:3)
对inline-block
项使用li
:
https://jsfiddle.net/y86263mq/
内联元素:
块元素:
内联块元素:
简单解释
`inline-block` elements can have the heights defined. In this case, you're not explicitly setting the heights but the contents are.
答案 1 :(得分:1)
在li上添加float: left;
并删除clear:both;
应该可以解决问题。 https://jsfiddle.net/y8sxhv1z/2/
答案 2 :(得分:1)
你可以试试这个。
li{
display: inline-block;
}
li img{
max-width: 100%;
}
答案 3 :(得分:1)
为li添加display:inline-block
并删除不必要的clear:both
。
请参阅此小提琴https://jsfiddle.net/wsmzhn1h/
答案 4 :(得分:0)
#listaAuto, li{
list-style: none;
padding: 5px;
}
li{
width: auto;
float: left;
display: block;
border: 1px solid black;
}
&#13;
<body>
<div>
<ul id="listaAuto">
<li><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.svg?v=2bb144720a66" width="121.33" height="75.92"/></li>
<li><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.svg?v=2bb144720a66" width="121.33" height="75.92"/></li>
</ul>
</div>
</body>
&#13;