行內元素圖片默認頂對齊,文字是底對齊


文字旁邊搭配圖片時,發現圖片比文字靠上,原來默認的情況是圖片頂對齊而文字底對齊,通過設置css屬性可以使得圖片與文字對齊。

默認的情況是圖片頂對齊而文字底對齊,通過設置css屬性可以使得圖片與文字對齊,接下來為大家詳細介紹下設置各對象的vertical-align屬性,感興趣的朋友可以參考下哈

 

文字旁邊搭配圖片時,發現圖片比文字靠上,原來默認的情況是圖片頂對齊而文字底對齊,通過設置css屬性可以使得圖片與文字對齊。 

設置各對象的vertical-align屬性,屬性說明: 

baseline-將支持valign特性的對象的內容與基線對齊 
sub-垂直對齊文本的下標 
super-垂直對齊文本的上標 
top-將支持valign特性的對象的內容與對象頂端對齊 
text-top-將支持valign特性的對象的文本與對象頂端對齊 
middle-將支持valign特性的對象的內容與對象中部對齊 
bottom-將支持valign特性的對象的文本與對象底端對齊 
text-bottom-將支持valign特性的對象的文本與對象頂端對齊 

在此設置為text-bottom即可實現圖片與文字位於同一水平線上,好看多了 
如下:其他自己改 

復制代碼
代碼如下:

<span style="width:120px;"><img src="/images/New_16_blue.gif" style="vertical-align:text-bottom;"/>目標任務</span>


實現圖片於文字的底端對齊

最近在使用3個span(或div)制作帶圓角邊框的按鈕時,按照常識,把span的display設置成inline-block,這樣就可以設置span的width和height了,很爽的~

可是當我在中間的span寫上文字的時候,神奇的事情發生了:

是的,寫上字的那個span掉下來了,掉落,排版錯位,很惡心的東西!使用Chrome的開發者工具查看,css和盒模型沒有半點問題,郁悶中……

仔細觀察發現,掉落的高度貌似跟文字的高度差不多,試了下,如果把文字字體加大,發現變成這樣了:

是的,有文字span向上移動了一些!也就是說,掉落的那個、有文字的span的掉落程度跟它上面的文字的大小有關系,文字的大小代表什么?大號文字的重心明顯比小號文字的重心高,於是把字體改回原來的樣子,然后試着使用vertical-align直接修改文字的重心位置為:

 vertical-aligntop  

 得到這樣的結果:

成功了!有文字的span跟沒有文字的span對齊啦!

 原因:

很明顯是vertical-align設置錯誤的問題,谷歌了下vertical-align的用法,找到如下鏈接:

 

CSS屬性Vertical Align使用方法講解  

  •   
  • http://www.jzxue.com/wangyesheji/css/201006/11-3937.html  

 

大體意思是,vertical-align只用在display屬性inline或inline-block的情況下才能使用,默認為baseline,就是“display屬性inline或inline-block”的控件的底端跟文字的baseline(基線)對齊:

所以,在設置vertical-align之前,左右兩個沒有文字的span的底端跟中間那個有文字的span里的文字的基線對齊了,所以中間那個span就下降了文字高度的尺寸。而改變文字的尺寸后,基線隨之被提高,然后中間有文字的那個span也就跟着上去了。設置vertical-align:top后,左右兩邊的span的top跟中間span的top對齊,問題解決了~

默認的baseline是文字的底端,bottom是包文字的容器的底端。

 

移除空格的方法

元素間留白間距出現的原因就是標簽段之間的空格,因此,去掉HTML中的空格,自然間距就木有了。考慮到代碼可讀性,顯然連成一行的寫法是不可取的,我們可以:

<div class="space">
    <a href="##">
    惆悵</a><a href="##">
    淡定</a><a href="##">
    熱血</a>
</div>

或者是:

<div class="space">
    <a href="##">惆悵</a
    ><a href="##">淡定</a
    ><a href="##">熱血</a>
</div>

或者是借助HTML注釋:

<div class="space">
    <a href="##">惆悵</a><!--
    --><a href="##">淡定</a><!--
    --><a href="##">熱血</a>
</div>

或者直接可以用float來解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM