五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Span元素的 width屬性 無效果原因及解決方案

Span元素的 width屬性 無效果原因及解決方案

文章來源:365jz.com     點擊數(shù):772    更新時間:2010-01-16 22:00   參與評論

先運(yùn)行下程序看下:
<span style='background-color:#336699;width:300px;'>123</span> 

輸出:123

可以看到 span會自動根據(jù)包含的內(nèi)容來變化寬度

這是因為:對于內(nèi)聯(lián)元素(可以是默認(rèn)即為內(nèi)聯(lián)的比如 span 元素,也可以是 display: inline 的元素)
width 和 height 只在 IE5.x 下和 IE6 或更新版本的 quirks 模式下觸發(fā) hasLayout 。而對于 IE6,如果瀏覽器運(yùn)行于標(biāo)準(zhǔn)兼容模式下,內(nèi)聯(lián)元素會忽略 width 或 height 屬性,所以設(shè)置 width 或 height 不能在此種情況下令該元素具有 layout。
zoom 總是可以觸發(fā) hasLayout,但是在 IE5.0 中不支持。

具有“l(fā)ayout” 的元素如果同時也 display: inline ,那么它的行為就和標(biāo)準(zhǔn)中所說的 inline-block 很類似了:在段落中和普通文字一樣在水平方向和連續(xù)排列,受 vertical-align 影響,并且大小可以根據(jù)內(nèi)容自適應(yīng)調(diào)整。這也可以解釋為什么單單在 IE/Win 中內(nèi)聯(lián)元素可以包含塊級元素而少出問題,因為在別的瀏覽器中 display: inline 就是內(nèi)聯(lián),不像 IE/Win 一旦內(nèi)聯(lián)元素?fù)碛?layout 還會變成 inline-block。

 

解決方法:

<1>去掉ASP.NET頁面的W3C標(biāo)準(zhǔn)聲明(不推薦):

去掉:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<span style='background-color:#336699;width:300px;'>123</span> 

 

<2>推薦:

如果設(shè)置display:block,width屬性生效,但是此時的span跟div一樣了。
如果設(shè)置display:inline-block,則span并列在同行,而且width屬性生效。

元素display屬性的常見值說明:

block:塊對象的默認(rèn)值。將對象強(qiáng)制作為塊對象呈遞,為對象之后添加新行。
inline:內(nèi)聯(lián)對象的默認(rèn)值。將對象強(qiáng)制作為內(nèi)聯(lián)對象呈遞,從對象中刪除行。(內(nèi)聯(lián))

《CSS權(quán)威指南》中文字顯示:任何不是塊級元素的可見元素都是內(nèi)聯(lián)元素。其表現(xiàn)的特性是“行布局”形式,

這里的“行布局”的意思就是說其表現(xiàn)形式始終以行進(jìn)行顯示。

比如,我們設(shè)定一個內(nèi)聯(lián)元素border-bottom:1px solid #000;時其表現(xiàn)是以每行進(jìn)行重復(fù),每一行下方都會有一條黑色的細(xì)線。

假如是塊級元素那么所顯示的的黑線只會在塊的下方出現(xiàn)。
inline-block:將對象呈遞為內(nèi)聯(lián)對象,但是對象的內(nèi)容作為塊對象呈遞。旁邊的內(nèi)聯(lián)對象會被呈遞在同一行內(nèi)。
non:隱藏對象。與 visibility 屬性的hidden值不同,其不為被隱藏的對象保留其物理空間。

內(nèi)聯(lián)(display:inline;)元素不能設(shè)置寬高,因為內(nèi)聯(lián)屬于行布局,其特性是在一行里進(jìn)行布局,所以不能被設(shè)定寬高。
<span style='background-color:#336699;width:300px;display:inline-block;'>123</span> 

輸出:123

 

<3>如果設(shè)置float:left | right,width屬性生效.

(浮動)他使得指定元素脫離普通的文檔流而產(chǎn)生的非凡的布局特性。并且FLOAT必需應(yīng)用在塊級元素之上,也就是說浮動并不應(yīng)用于內(nèi)聯(lián)標(biāo)簽?;蛘邠Q句話來說當(dāng)應(yīng)用了FLOAT那么這個元素將被指定為塊級元素。
<span style='background-color:#336699;width:300px;float:left;'>123</span> 

輸出:123

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進(jìn)入論壇

發(fā)表評論 (772人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號