日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置span的宽度,让span象button那样显示

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置span的宽度,让span象button那样显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在html中如何設定span的寬度?這看上去是個很簡單的問題,似乎用style中的width屬性就可以。例如,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test Span</title>
<style type="text/css">
span {
background-color:#ffcc00;
width:150px;
}
</style>
</head>
<body>
fixed <span>width</span> span
</body>
</html>

通過試驗以后發現,無效,無論是在Firefox還是IE中都無效。

通過查閱CSS2標準中關于width的定義發現,原來CSS中的width屬性并不總是有效的,如果對象是inline對象,width屬性就會被忽略。Firefox和IE原來是遵循了標準才這樣做的。

修改span為block類型并設置float不是完美解決

在span的CSS中增加display屬性,將span設置為block類型的Element,這樣寬度的確有效了,不過也把前后文字隔在不同行里面。這樣其實span就完全變成了div。

span {
background-color:#ffcc00;
display:block;
width:150px;
}

很多人會建議再增加一個CSS屬性float,這樣的確在某種條件下能解決問題。比如我們的例子中,如果span前面沒有文字,那的確是可行的。但是如果有了,前后文字就會連在一起,而span跑到了第二行。

span {
background-color:#ffcc00;
display:block;
float:left;
width:150px;
}

button的情況

其實,在Html的各種Element中,的確有既是inline,又能夠設定寬度的情況存在。例如下面代碼就顯示了button對象,就可以很好的在文字中間出現,并且設定寬度。

<body>
fixed <button style="width:150px;">width</button> button
</body>

能不能讓span象button那樣顯示呢?通過CSS2標準中display的定義和inline對象的解釋,發現CSS2標準的制定者把所有的Element在是否屬于inline上做了非此即彼的規定,要么是inline,要么是block,沒有制定button那樣既是inline,又可以象block那樣設置寬度的屬性值。

更新的標準CSS 2.1

再看更新的標準,在CSS2.1標準草案中display的定義中增加了一個叫inline-block的屬性值,針對的恰好是我們面對的這種情形。那么再看看各種瀏覽器的對應情況。

Firefox

通過display的文檔了解到,inline-block在未來的Firefox 3中會實現。通過Mozllia擴展屬性參考了解到,在Firefox 3以前的版本,例如現在的Firefox 2中,可以用-moz-inline-box達到同樣的效果。

IE

通過MSDN中的display文檔了解到,inline-block已經實現。實際測試發現IE 6.0以后都沒問題。

完美的解決方案

下 面代碼的CSS定義完美解決了span的寬度設置問題。由于瀏覽器通常對不支持的CSS屬性采取忽略處理的態度,所以最好將display:inline -block行寫在后面,這樣在Firefox里面,如果到了未來的Firefox 3,這一行就能起作用,代碼可以同時兼容各種版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test Span</title>
<style type="text/css">
span {
background-color:#ffcc00;
display:-moz-inline-box;
display:inline-block;
width:150px;
}
</style>
</head>
<body>
fixed <span>width</span> span
</body>
</html>

轉載于:https://www.cnblogs.com/zzh/archive/2008/12/03/1346919.html

總結

以上是生活随笔為你收集整理的设置span的宽度,让span象button那样显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。