簡體   English   中英

如何在串聯UL中垂直對齊SVG和跨度?

[英]How do I vertically align an SVG and span in an inline UL?

我在用display: inline-block樣式的<ul>中有2個<li>項目。

但是, SVG和每個<li>的文本不是垂直對齊的。 我試過使用vertically-align: middle因為它們是inline-block元素,但沒有用。

理想情況下,兩個元素的中間應該對齊,但頂部或底部對齊也可以。

 svg { height: 20px; width: 20px; display: inline-block; background: green; } span { background: blue; } #retweet-icon, #favorite-icon { display: inline-block; } li.tweet-action { height: 22px; margin-left: 14px; display: inline-block; vertical-align: middle; } li.tweet-action:first-of-type { margin-left: 0px; } ul#tweet-actions { display: inline-block; list-style-type: none; float: left; padding: 0px; vertical-align: middle; } 
 <ul id="tweet-actions"> <li class="tweet-action"> <div id="favorite-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 72"> <path d="M38.723,12c-7.187,0-11.16,7.306-11.723,8.131C26.437,19.306,22.504,12,15.277,12C8.791,12,3.533,18.163,3.533,24.647 C3.533,39.964,21.891,55.907,27,56c5.109-0.093,23.467-16.036,23.467-31.353C50.467,18.163,45.209,12,38.723,12z"></path> </svg> </div> <span id="favorite-count">12</span> </li> <li class="tweet-action"> <div id="retweet-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 75 72"> <path d="M70.676 36.644C70.166 35.636 69.13 35 68 35h-7V19c0-2.21-1.79-4-4-4H34c-2.21 0-4 1.79-4 4s1.79 4 4 4h18c.552 0 .998.446 1 .998V35h-7c-1.13 0-2.165.636-2.676 1.644-.51 1.01-.412 2.22.257 3.13l11 15C55.148 55.545 56.046 56 57 56s1.855-.455 2.42-1.226l11-15c.668-.912.767-2.122.256-3.13zM40 48H22c-.54 0-.97-.427-.992-.96L21 36h7c1.13 0 2.166-.636 2.677-1.644.51-1.01.412-2.22-.257-3.13l-11-15C18.854 15.455 17.956 15 17 15s-1.854.455-2.42 1.226l-11 15c-.667.912-.767 2.122-.255 3.13C3.835 35.365 4.87 36 6 36h7l.012 16.003c.002 2.208 1.792 3.997 4 3.997h22.99c2.208 0 4-1.79 4-4s-1.792-4-4-4z" ></path> </svg> </div> <span id="retweet-count">15</span> </li> </ul> 

設置vertical-align:topdiv / spanli因為默認inline-blockvertical-align:baseline

我調整了您的代碼。

 #tweet-actions { list-style-type: none; float: left; padding: 0 } svg { height: 20px; width: 20px; background: green } span { background: blue } div, span { display: inline-block; vertical-align: top } li { display: inline-block; height: 22px; margin-left: 14px } li:first-of-type { margin-left: 0 } 
 <ul id="tweet-actions"> <li class="tweet-action"> <div id="favorite-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 72"> <path d="M38.723,12c-7.187,0-11.16,7.306-11.723,8.131C26.437,19.306,22.504,12,15.277,12C8.791,12,3.533,18.163,3.533,24.647 C3.533,39.964,21.891,55.907,27,56c5.109-0.093,23.467-16.036,23.467-31.353C50.467,18.163,45.209,12,38.723,12z"></path> </svg> </div> <span id="favorite-count">12</span> </li> <li class="tweet-action"> <div id="retweet-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 75 72"> <path d="M70.676 36.644C70.166 35.636 69.13 35 68 35h-7V19c0-2.21-1.79-4-4-4H34c-2.21 0-4 1.79-4 4s1.79 4 4 4h18c.552 0 .998.446 1 .998V35h-7c-1.13 0-2.165.636-2.676 1.644-.51 1.01-.412 2.22.257 3.13l11 15C55.148 55.545 56.046 56 57 56s1.855-.455 2.42-1.226l11-15c.668-.912.767-2.122.256-3.13zM40 48H22c-.54 0-.97-.427-.992-.96L21 36h7c1.13 0 2.166-.636 2.677-1.644.51-1.01.412-2.22-.257-3.13l-11-15C18.854 15.455 17.956 15 17 15s-1.854.455-2.42 1.226l-11 15c-.667.912-.767 2.122-.255 3.13C3.835 35.365 4.87 36 6 36h7l.012 16.003c.002 2.208 1.792 3.997 4 3.997h22.99c2.208 0 4-1.79 4-4s-1.792-4-4-4z"></path> </svg> </div> <span id="retweet-count">15</span> </li> </ul> 

不要使用inline-block 而是使圖標div和文本范圍display: blockfloat: left 然后,如果您還將跨度的liine-height設置為與圖標相同的高度,則它將垂直於圖標居中。 只要它至少與文本一樣高,它就適用於任何大小的圖標。

 svg { height: 20px; width: 20px; background: green; } span { background: blue; display: block; line-height: 20px; float: left; } #retweet-icon, #favorite-icon { float: left; } li.tweet-action { height: 22px; margin-left: 14px; display: inline-block; } li.tweet-action:first-of-type { margin-left: 0px; } ul#tweet-actions { display: inline-block; list-style-type: none; float: left; padding: 0px; } 
 <ul id="tweet-actions"> <li class="tweet-action"> <div id="favorite-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 72"> <path d="M38.723,12c-7.187,0-11.16,7.306-11.723,8.131C26.437,19.306,22.504,12,15.277,12C8.791,12,3.533,18.163,3.533,24.647 C3.533,39.964,21.891,55.907,27,56c5.109-0.093,23.467-16.036,23.467-31.353C50.467,18.163,45.209,12,38.723,12z"></path> </svg> </div> <span id="favorite-count">12</span> </li> <li class="tweet-action"> <div id="retweet-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 75 72"> <path d="M70.676 36.644C70.166 35.636 69.13 35 68 35h-7V19c0-2.21-1.79-4-4-4H34c-2.21 0-4 1.79-4 4s1.79 4 4 4h18c.552 0 .998.446 1 .998V35h-7c-1.13 0-2.165.636-2.676 1.644-.51 1.01-.412 2.22.257 3.13l11 15C55.148 55.545 56.046 56 57 56s1.855-.455 2.42-1.226l11-15c.668-.912.767-2.122.256-3.13zM40 48H22c-.54 0-.97-.427-.992-.96L21 36h7c1.13 0 2.166-.636 2.677-1.644.51-1.01.412-2.22-.257-3.13l-11-15C18.854 15.455 17.956 15 17 15s-1.854.455-2.42 1.226l-11 15c-.667.912-.767 2.122-.255 3.13C3.835 35.365 4.87 36 6 36h7l.012 16.003c.002 2.208 1.792 3.997 4 3.997h22.99c2.208 0 4-1.79 4-4s-1.792-4-4-4z" ></path> </svg> </div> <span id="retweet-count">15</span> </li> </ul> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM