2017-06-01 45 views
-1

我有以下幾點:CSS對齊項目彼此相鄰的心

enter image description here

HTML

<div class="img-container"> 
    <div class="google"> 
     <a href="path to app on play store"><img class="google-img" 
      src="images/google-play-badge.png"></a> 
    </div> 

    <div class="apple"> 
     <a href="path to app on apple store"><img class="apple-img" 
      src="images/Download_on_the_App_Store_Badge_US-UK_135x40.svg"></a> 
    </div> 

    <div class="web"> 
     <a href="www/index.html"><img class="web-img" 
      src="images/view-on-web.svg"></a> 
    </div> 
</div> 

CSS

.img-container { 
    text-align: center; 
} 

.img-container .apple, .img-container .google, .img-container .web { 
    float: left; 
    padding: 10px; 
    padding-left: 20px; 
} 

.img-container .google { 
    padding-top: 4px; 
    padding-left: 0px; 
    padding-right: 0px; 
} 

正如你所看到的,我做了一個float: left;,這樣3個項目排列在一起。我也嘗試text-align: center;,嘗試中心項目,但它沒有效果。

問題

如何保持3項一字排開彼此相鄰,並在頁面居中?

感謝

+0

([彼此相鄰CSS兩個div]的可能的複製https://stackoverflow.com/questions/446060/css-two-divs-next-to-each-other ) – Rob

回答

2

使用display:inline-block;而不是浮動,你是好去

.img-container { 
 
    text-align: center; 
 
} 
 

 
.img-container .apple, 
 
.img-container .google, 
 
.img-container .web { 
 
    display:inline-block; 
 
    padding: 10px; 
 
    padding-left: 20px; 
 
} 
 

 
.img-container .google { 
 
    padding-top: 4px; 
 
    padding-left: 0px; 
 
    padding-right: 0px; 
 
}
<div class="img-container"> 
 
    <div class="google"> 
 
    <a href="path to app on play store"><img class="google-img" src="images/google-play-badge.png"></a> 
 
    </div> 
 

 
    <div class="apple"> 
 
    <a href="path to app on apple store"><img class="apple-img" src="images/Download_on_the_App_Store_Badge_US-UK_135x40.svg"></a> 
 
    </div> 
 

 
    <div class="web"> 
 
    <a href="www/index.html"><img class="web-img" src="images/view-on-web.svg"></a> 
 
    </div> 
 
</div>

+0

謝謝,那是有效的。我必須再等12分鐘,然後我可以將其標記爲正確的答案。 – Richard

+0

歡迎您:) – Chiller

1

另一種方式來做到這一點是在父使用flex,然後justify-content: center到中心內容水平。然後,您可以使用其他彈性屬性,例如align-items來垂直對齊。

.img-container { 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 

 
.img-container .apple, 
 
.img-container .google, 
 
.img-container .web { 
 
    padding: 10px; 
 
    padding-left: 20px; 
 
} 
 

 
.img-container .google { 
 
    padding-top: 4px; 
 
    padding-left: 0px; 
 
    padding-right: 0px; 
 
}
<div class="img-container"> 
 
    <div class="google"> 
 
    <a href="path to app on play store"><img class="google-img" src="images/google-play-badge.png"></a> 
 
    </div> 
 

 
    <div class="apple"> 
 
    <a href="path to app on apple store"><img class="apple-img" src="images/Download_on_the_App_Store_Badge_US-UK_135x40.svg"></a> 
 
    </div> 
 

 
    <div class="web"> 
 
    <a href="www/index.html"><img class="web-img" src="images/view-on-web.svg"></a> 
 
    </div> 
 
</div>

+0

謝謝,這也可以。 – Richard

+1

@理查德,不客氣。 flexbox非常棒,給你很多控制如何放置這些元素的功能。如果你不熟悉它,這是一個很好的資源https://css-tricks.com/snippets/css/a-guide-to-flexbox/ –

+0

謝謝邁克,會看看 – Richard