日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

CSS布局教程:如何用CSS構(gòu)建圖片、文字混排的產(chǎn)品展示?_DIV+CSS實(shí)例

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!


  有朋友在QQ上問我一個關(guān)于CSS的問題,一個產(chǎn)品展示頁,有產(chǎn)品圖片與產(chǎn)品名稱,如何用CSS布局來實(shí)現(xiàn),下面談?wù)勎业挠^點(diǎn)以及提出我的方法,大家可以討論,如有不當(dāng),請大家在MB5U.com上評論或留言指出來,大家共同進(jìn)步。

  從事網(wǎng)頁設(shè)計(jì)工作的朋友應(yīng)該有過很多這樣的案例,上面放置企業(yè)的產(chǎn)品圖片,下面放置產(chǎn)品的名字,點(diǎn)擊圖片或產(chǎn)品名字可以查看產(chǎn)品的具體資料。當(dāng)然,這樣的形式,在其它網(wǎng)站上也經(jīng)常出現(xiàn),例如圖片新聞、寫真壁紙站等等。我們看效果圖片(可點(diǎn)擊放大):


  首先我們分析一下,這樣的形式每一組是類似的:上部一個圖片鏈接,下部一個文字鏈接,然后重復(fù)。進(jìn)行適應(yīng)的排列即可。我們可以將它們看作是一組無序列表的列表項(xiàng),而一頁中的所有產(chǎn)品即是一個無序列表。

  每一個列表項(xiàng),包含了一張圖片并進(jìn)行鏈接,文字鏈接。我們用CSS對圖片與文字進(jìn)行適當(dāng)?shù)目刂�,即可�?shí)現(xiàn)這樣的效果。然后讓每一個列表項(xiàng)進(jìn)行浮動,讓它們一行三個,并且在三個列表項(xiàng)水平居中對齊于整個無序列表。

  好了,廢話不多說了,上面的思路基本清楚了,我們開始HTML代碼的編寫:

示例代碼 [hl5o.cn]
<ul id="products">
<li>
<a href="#"><img src="mb5u.com.jpg" alt="" /></a>
<span><a href="#">標(biāo)題的位置</a></span>
</li>
<li>
<a href="#"><img src="mb5u.com.jpg" alt="" /></a>
<span><a href="#">標(biāo)題的位置</a></span>
</li>
……以下省略
</ul>

  我們建立了一個無序列表,ID為products。每一個列表項(xiàng)包括了一個圖片鏈接,一個文字鏈接,為了便于CSS進(jìn)行控制,我們將文字鏈接放置在span中。

  下面我們開始CSS代碼的編寫:

示例代碼 [hl5o.cn]
* {
margin:0;
padding:0;
font-size:12px;
color:#000;
text-decoration:none;
}

  CSS整體布局聲明:邊距與填充均為零,12px的文字大小,黑色的文字,去除文字裝飾線(即定義鏈接文字無下劃線)。

示例代碼 [hl5o.cn]
#products {
width:582px;
margin:50px auto;
}

  定義無序列表的寬度為582px,關(guān)于這個數(shù)值的由來我們在下面會有說明,上下邊距為50px,左右邊距為自動,實(shí)現(xiàn)UL的水平居中對齊。

示例代碼 [hl5o.cn]
#products li {
width:154px;
height:154px;
float:left;
margin-left:30px;
display:inline;
}

  定義無序列表的列表項(xiàng)的樣式,即一組“產(chǎn)品圖片”和“文字名稱”:寬度為154px,高度為154px,向左浮動,左邊距為30px。為了消除雙倍邊距的bug,我們設(shè)置display:inline;。我們一行是三組內(nèi)容,共有四個邊距,154*3 30*4=582。這就是整個無序列表寬度的由來,看下面的示例圖片(可點(diǎn)擊放大):


示例代碼 [hl5o.cn]
#products li a {
display:block;
}
#products li a img {
border:1px solid #666;
padding:1px;
}

  設(shè)置鏈接均為塊元素。輕易進(jìn)行控制,而且設(shè)為塊元素以后,增大了鼠標(biāo)懸停的區(qū)域,提高用戶體驗(yàn)。
  設(shè)置鏈接圖片的邊框?yàn)?px的實(shí)線,顏色為深灰色。設(shè)置填充為1px,讓邊線與圖片之間產(chǎn)生一象素的空隙。

示例代碼 [hl5o.cn]
#products li span a {
width:154px;
height:30px;
line-height:24px;
text-align:center;
}

  這些代碼是對鏈接文字的樣式定義,寬度和高度是154px、30px。行高為24px,文字居中對齊。我們來看看現(xiàn)在的效果!

  或許你認(rèn)為我們的工作已經(jīng)結(jié)束了,圖片及文字已經(jīng)按預(yù)定的方式上下排列,而且整個頁面看上去還不錯。但我們需要注重,或許文字并不是固定的,或許是三個字,或許是十五個字,假如文字過多,會產(chǎn)生什么樣的后果呢?(可點(diǎn)擊放大)


  暈倒!文字將li擠走了,一切都走樣了。你會想到可以用ASP腳本來控制讀取的文字?jǐn)?shù)量,或許這并不是什么好主意,我們完全可以通過CSS來搞定它,我們的鏈接是塊元素,我們可以設(shè)置文字超出寬度154px的時候,自動的隱藏,并且在IE中可以實(shí)現(xiàn)省略號的效果,我們在#products li span a增加以下代碼:

示例代碼 [hl5o.cn]
white-space:nowrap;
text-overflow:ellipsis;
overflow: hidden;

  我們再來看看效果!現(xiàn)在就不會出現(xiàn)破壞布局的情況了!
  歡迎大家參與討論,說說你的看法,這樣的形式如何制作最合理科學(xué)!

來源:無憂整理//所屬分類:DIV+CSS實(shí)例/更新時間:2007-06-12
相關(guān)DIV+CSS實(shí)例