国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-21 00:48:32
字體:
來源:轉載
供稿:網友
先運行下程序看下:
<span style='background-color:#336699;width:300px;'>123</span>

輸出:123

可以看到 span會自動根據包含的內容來變化寬度

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

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



解決方法:

<1>去掉ASP.NET頁面的W3C標準聲明(不推薦):
去掉:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<span style='background-color:#336699;width:300px;'>123</span>


<2>推薦:

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

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

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

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

這里的“行布局”的意思就是說其表現形式始終以行進行顯示。

比如,我們設定一個內聯元素border-bottom:1px solid #000;時其表現是以每行進行重復,每一行下方都會有一條黑色的細線。

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

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

輸出:123


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

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

輸出:123
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星子县| 缙云县| 射阳县| 绵竹市| 天祝| 精河县| 佛冈县| 大余县| 田林县| 菏泽市| 土默特左旗| 云梦县| 得荣县| 于田县| 肇州县| 镇赉县| 新民市| 沙洋县| 长泰县| 宜兴市| 手游| 临夏市| 霍邱县| 迁西县| 洪江市| 横峰县| 昌宁县| 公主岭市| 元阳县| 禄丰县| 南充市| 达日县| 安多县| 郁南县| 白银市| 新密市| 昌宁县| 临高县| 九龙坡区| 乳源| 昌吉市|