[英]CSS - Display images side by side
我正在创建一个显示可爱狗的图片的网页。 我想为每只狗显示狗的名字,然后在其下方显示图片。
我希望图像可以并排显示,但它们是垂直堆叠显示的。
这是我的小提琴
http://jsfiddle.net/53bnhscm/2/
这是我的HTML
<h1>Listing dogs</h1>
<ul>
<li> Dog 1 </li></br>
<li>
<a href="/dogs/2">
<img alt="Dog 1" src="http://renterswarehouse.com/wp-content/uploads/2013/12/Cute-Dog-dogs-13286656-1024-768-200x200.jpg" />
</a>
</li>
</ul>
<ul>
<li> Dog 2 </li></br>
<li>
<a href="/dogs/3">
<img alt="Dog 2" src="https://v.cdn.vine.co/r/avatars/1D8A5A9AD81112510785588019200_21ff866832a.1.0.jpg?versionId=0I_eiPNigLBtjlgOMJIQyCYY4fKf2YNs" />
</a>
</li>
</ul>
这是我的CSS
li {
list-style: none;
display: inline;
}
我认为在每个列表项和display:inline
属性之后都有一个break
语句可以解决问题,但我想不是。
您的li
包含在自己的ul
因此您需要内联。
ul {
list-style: none;
display: inline-block; //use instead of inline
}
另外, li
标记更适合列表项,因此这并不是真正有效的方法。 加上其大量的额外代码。 您可以简单地将部分包装在容器中并内联:
HTML
<h1>Listing dogs</h1>
<div class="wrapper">
Dog 1
<a href="/dogs/2">
<img alt="Dog 1" src="..." />
</a>
</div>
<div class="wrapper">
Dog 2
<a href="/dogs/3">
<img alt="Dog 2" src="..." />
</a>
</div>
CSS
.wrapper{
display: inline-block;
}
.wrapper a{
display: block;
}
在这里摆弄。 顺便说一下,您的标记很乱,我建议使用HTML5标记<figure>
这样您就可以轻松添加<figcaption>
: http : //jsfiddle.net/53bnhscm/7/
<h1>Listing dogs</h1>
<figure>
<figcaption>Dog 1</figcaption>
<img alt="Dog 1" src="http://renterswarehouse.com/wp-content/uploads/2013/12/Cute-Dog-dogs-13286656-1024-768-200x200.jpg" />
</figure>
<figure>
<figcaption>Dog2</figcaption>
<img alt="Dog 2" src="https://v.cdn.vine.co/r/avatars/1D8A5A9AD81112510785588019200_21ff866832a.1.0.jpg?versionId=0I_eiPNigLBtjlgOMJIQyCYY4fKf2YNs" />
</figure>
CSS
figure {
float:left;
display:inline-block;
}
另一种解决方案是使用display: table-cell
到ul
元素:
ul { display: table-cell; } li { list-style-type: none; }
<h1>Listing dogs</h1> <ul> <li>Dog 1</li> </br> <li> <a href="/dogs/2"> <img alt="Dog 1" src="http://renterswarehouse.com/wp-content/uploads/2013/12/Cute-Dog-dogs-13286656-1024-768-200x200.jpg" /> </a> </li> </ul> <ul> <li>Dog 2</li> </br> <li> <a href="/dogs/3"> <img alt="Dog 2" src="https://v.cdn.vine.co/r/avatars/1D8A5A9AD81112510785588019200_21ff866832a.1.0.jpg?versionId=0I_eiPNigLBtjlgOMJIQyCYY4fKf2YNs" /> </a> </li> </ul>
ul > li {
list-style: none;
display: inline;
float: left;
margin: 0 5px;
}
我想可能是您正在寻找类似的内容。 在这种情况下,您必须编辑html代码http://jsfiddle.net/ahmadsharif/p0cbmy2h/
以下答案对您的标记是正确的。
ul {
list-style: none;
display: inline-block; //use instead of inline
}
但是,如果您的意思是问题中所写的内容,那么我需要提到的一件事是“您应该注意HTML标记”。
<ul>
<li>
<a href="/dogs/2">
<b>Dog 1</b>
<img alt="Dog 1" src="http://renterswarehouse.com/wp-content/uploads/2013/12/Cute-Dog-dogs-13286656-1024-768-200x200.jpg" />
</a>
</li>
<li>
<a href="/dogs/3">
<b>Dog 2</b>
<img alt="Dog 2" src="https://v.cdn.vine.co/r/avatars/1D8A5A9AD81112510785588019200_21ff866832a.1.0.jpg?versionId=0I_eiPNigLBtjlgOMJIQyCYY4fKf2YNs" />
</a>
</li>
</ul>
然后您的CSS将是:
ul li{
display: inline-block;
}
ul li a b{
display: block;
text-align: center;
margin-bottom: 5px
}
只需使用UIKIT及其网格系统即可。 这样,它们将自动堆叠在电话上。
http://getuikit.com/docs/grid.html
<div class="uk-grid">
<div class="uk-width-1-2">Your Image HERE</div>
<div class="uk-width-1-2">Another Image Here</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.