目錄
更新的標準CSS 2.1
Firefox
IE
完美的解決方案
首頁 web前端 css教學 span寬度的設置

span寬度的設置

Jun 12, 2018 am 11:43 AM
span 寬度

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

缺省情況下span的寬度設定無效
在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就完全變成p了。 

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>
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

如何使用CSS清除浮動的方法

#

以上是span寬度的設置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

在WordPress塊編輯器中使用Markdown和本地化 在WordPress塊編輯器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我們需要直接在WordPress編輯器中向用戶顯示文檔,那麼最佳方法是什麼?

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

如何將CSS網格用於粘頭和頁腳 如何將CSS網格用於粘頭和頁腳 Apr 02, 2025 pm 06:29 PM

CSS網格是一系列屬性的集合,旨在使佈局比以往任何時候都容易。像任何東西一樣,那裡有一點學習曲線,但是網格是

See all articles