瀏覽器系列 css div如何解決文字溢位

2021-06-04 01:28:55 字數 1571 閱讀 5604

看到標題你一定很輕易就會想到截斷文字加「...」的做法。哈哈,就是這樣。其實寫這篇日誌也只是把這樣方法做個記錄,因為似乎還有很多人不記得碰到這樣的情況該如何處理。

首先,先解釋一下,一般用div+css的容器中文字超出長度會浮動到框外或者把框撐大,這個一般容易解決,但是我今天就遇到了這樣的問題:在ie6下測試頁面沒反應,在ie8下測試頁面卻正常處理了溢位文字,我就鬱悶了,這個溢位處理不是ie特有的嗎?怎麼ie6卻不正常呢。後來網上查了才知道,原來ie6只支援div內寫上溢位處理才有用,而ie6以上版本寫在裡面才可以,所以我把相同的溢位處理**寫在了div中和中就正常了,汗啊!!!一下是我的處理截圖:

下面是html頁面的**:

下面是效果圖(處理後就一樣了):

這個是ie6的,這個是ie8的。

下面是上面兩種溢位處理的**:

這個是ie6處理**,這個是ie8處理**

下面是網上的一些處理方法,很值得參考:

一般的文字截斷(適用於內聯與塊):

.text-overflow

對於**文字溢位的定義:

table

td

需要你注重的是,這個東東只對單行的文字的效,假如你想把它用在多行上,也只有第一行有作用的。 這個寫法只有ie會有「...」,其它的瀏覽器文字超出指定寬度時會隱藏。

[問題]

最近發現我的space在opera下瀏覽時, 右半邊竟然會變得超寬(我使用的是跟你一模一樣的排版模式), 以至於超出1024的顯示範圍、最大化視窗情況下竟然還出現了橫向滾動條. 按照你提供的方法, 把所有的模組全刪除後, 還是這樣. 百思不得其解...

用另外乙個通行證開通了乙個新的space, 採用同樣的布局排版, 在opera下卻是沒有問題!

難道是因為我期間測試了擴充套件space右側空間, 以及新增過第二個html模組[之後又刪除了]等操作, 導致將我的space**搞亂了?

[原因]

不同瀏覽器相容性問題, 確切的說, 是

不同瀏覽器對css標準執行的問題. 首先你應該知道不僅僅是opera顯示不正常, firefox也不能. 由於firefox是公認的標準瀏覽器[當然, opera也是], 且市場份額更高, 因此拿firefox來作認證.

[舉例]

1. firefox不支援ellipsis (…)屬性,即很長的一段字串會顯示省略號.

text-overflow: ellipsis;

這個在空間日誌編輯頁面的日誌選項裡就有應用, 你如果輸入很長的類別名, 回來編輯該日誌會發現原來的類別名在ie中會顯示前面部分, 後面直接用省略號代替, 而在firefox等瀏覽器下會顯示很長直到撐破介面框架.

2. 在firefox中,

style="overflow:hidden"僅僅工作於而不是或者等等

.bvwordwrap

而 在firefox等瀏覽器中, word-wrap這個屬性是不被識別的, 因為該css屬性不符合w3的標準, 應該用white-space:normal;來代替, 這樣在firefox和ie下就都能正確換行. 而且要注意,

單詞間的空格不能用 來代替, 不然不能正確換行.

css div如何解決文字溢位

一般的文字截斷 適用於內聯與塊 text overflow 對於 文字溢位的定義 table td 需要你注重的是,這個東東只對單行的文字的效,假如你想把它用在多行上,也只有第一行有作用的。這個寫法只有ie會有 其它的瀏覽器文字超出指定寬度時會隱藏。深入研究在opera和 firefox中文字溢位處...

css div如何解決文字溢位

看到標題你一定很輕易就會想到截斷文字加 的做法。哈哈,就是這樣。其實寫這篇日誌也只是把這樣方法做個記錄,因為似乎還有很多人不記得碰到這樣的情況該如何處理。首先,先解釋一下,一般用div css的容器中文字超出長度會浮動到框外或者把框撐大,這個一般容易解決,但是我今天就遇到了這樣的問題 在ie6下測試...

如何解決瀏覽器的相容問題

關於瀏覽器的相容性問題,我認為可以從瀏覽器對css標記屬性的預設解釋不統一來說 比如 margin left 這個屬性在使用float 的情況下會雙倍顯示距離,所以一旦這樣使用了那麼在ie6 7 8 9中顯示的距離就不一樣,所以就不相容了。建議使用padding left 來代替margin lef...