1. 程式人生 > >DIV+CSS圖片和文字如何顯示同一行

DIV+CSS圖片和文字如何顯示同一行

 如果把文字和圖片放在同一個圖層的,文字可以做到居中,但是圖片就不能,因為圖片預設是左上對齊的!如果你令到圖片居中了,文字就會相對於圖片右下對齊了!如果你想2個都居中的話,就不能把他們放在同一個div,或者你試下把他們放在2個div中,或者一個圖片放div中,文字直接放頁面中,不放div ,這樣會給網頁減瘦的!呵呵!

  補充下:文字居中的,只要用line-height就可以控制居中,圖片居中的話,要用你說的padding或者margin!

  DIV沒有文字垂直居中屬性,這個確實是個缺陷問題。
需要把圖片和單行文字垂直居中對其,可以給圖片 的CSS 定義一個vertical-align: middle; 的屬性,這樣 單行文字就可以垂直居中於圖片了。

  如果多行,只能採用巢狀DIV 的方式,然後調整margin 不要調整padding。 在IE6裡面定義了 高度 或者寬度的DIV 使用padding會出現bug。

  另外可以使用原本的辦法,給圖片內部設定屬性align="absmiddle"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>div裡面圖片垂直居中的幾個例子</title>
<style type="text/css">
<!--

div {
width:500px;
height:500px;
line-height:500px;
border:1px solid #666;
overflow:hidden;
position:relative;
text-align:center;
}
div dt {

+position:absolute;
top:50%;
vertical-align:middle
}
img {
position:static;
+position:relative;
top:-50%;left:-50%;
vertical-align:middle
}
-->
</style>
</head>
<body>
<div><dt><img src="logo.gif" /></dt></div>
</body>
</html>
以上程式碼是圖片居中
height:100%;display:inline-block;vertical-align:middle;
以上程式碼是文字居中
文字可以寫在span中