[英]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.