中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

深入解析HTML的table表格標簽與相關的換行問題
來源:易賢網 閱讀:1889 次 日期:2016-06-15 13:41:07
溫馨提示:易賢網小編為您整理了“深入解析HTML的table表格標簽與相關的換行問題”,方便廣大網友查閱!

何為table:

table者Html表格也,數據之載體。

下面是一個比較標準的table代碼寫法:

XML/HTML Code

1.<table border="0" cellspacing="0" cellpadding="0" width="100%">  

2.  <tr>  

3.    <th>Month</th>  

4.    <th>Date</th>  

5.  </tr>  

6.  <tr>  

7.    <td>AUG</td>  

8.    <td>18</td>  

9.  </tr>  

10.</table>  

簡單的HTML表格由table元素以及一個或多個tr、th或td元素組成。tr元素定義表格行,th元素定義表頭的單元格,td元素定義表格單元格。border屬性規定表格邊框的寬度,cellpadding規定單元邊沿與其內容之間的空白,cellspacing規定單元格之間的空白,這三個屬性我們一般手動設置為0避免瀏覽器差異。width屬性規定表格的寬度,因為table寬度是隨內部元素的寬度撐起多少而變化,而常用情況下我們希望table是同外部容器等寬,所以常常默認設置100%寬度使之撐滿容器。

不得不說的table-layout:fixed屬性

table-layout: auto(默認)|fixed。

參數:

auto:默認的自動算法。布局將基于各單元格的內容。表格在每一單元格讀取計算之后才會顯示出來,速度很慢。

fixed:固定布局的算法。在這算法中,水平布局是僅僅基于表格的寬度,表格邊框的寬度,單元格間距,列的寬度,而和表格內容無關。 解析速度快。

fixed布局模型的工作步驟:

1.width屬性值不是auto的所有列元素會根據width值設置該列的寬度。

2.表首行中位于該列的單元格width,根據該單元格寬度設置此列的寬度。如果這個單元格跨多列,則寬度在這些列上平均分配。

3.在以上兩步之后,如果列的寬度仍為auto,會自動確定其大小,使其寬度盡可能相等。此時,表的寬度設置為表的width值或列寬度之和(取其中較大者)。如果表度度大于其列寬總和,將二者之差除以列數,再把得到的這個寬度增加到每一列上。

這種方法的速度很快,因為所有列寬都由表的第一行定義。首行后所有行中的單元格都根據首行所定義的列寬確定大小。后面這些行中的單元格不會改變列寬。這意味著為這些單元格指定的width值都會被忽略。

一般在做復雜表格html的時候,有時候你會發現,無論怎么調整第一行每列的width,列寬還是會發生出乎于你意料之外的變動(例如一長串英文文本,并且中間無空格分隔的情況你要這列限定寬度,使得過長文字強制換行且不撐破表格,而往往結果是怎么也調整不到合適的寬度),這個時候在萬般無奈之下,你可以使用table-layout:fixed。

常見而又生疏的幾個table標簽

thead、tfoot以及tbody

這三個標簽是所謂xhtml的產物,主要是使您有能力對表格中的行進行分組。當您創建某個表格時,您也許希望擁有一個標題行,一些帶有數據的行,以及位于底部的一個總計行。這種劃分使瀏覽器有能力支持獨立于表格標題和頁腳的表格正文滾動。當長的表格被打印時,表格的表頭和頁腳可被打印在包含表格數據的每張頁面上。個人認為其主要用途適用于超長表格的顯示優化。

thead標簽表示HTML表頭

表格的頭部thead,可以使用單獨的樣式定義表頭,并且在打印時可以在分頁的上部打印表頭。

thead標簽表示HTML頁腳

表格的頁腳tfoot,可以使用單獨的樣式定義頁腳(腳注或表注),并且在打印時可以在分頁的下部打印頁腳。

tbody標簽表示HTML表體

瀏覽器顯示表格時,通常是完全下載表格后,再全部顯示,所以當表格很長時,可以使用tbody分段顯示。

注釋:如果您使用 thead、tfoot以及tbody元素,您就必須使用全部的元素。它們的出現次序是:thead、tfoot、tbody,這樣瀏覽器就可以在收到所有數據前就可呈現表頭和頁腳了。您必須在table元素內部使用這些標簽,且thead內部必須擁有tr標簽。所以書寫更為標準的table方式即如下代碼:

XML/HTML Code

1.<table border="0" cellspacing="0" cellpadding="0" width="100%">  

2.  <thead>  

3.    <tr>  

4.      <th>Month</th>  

5.      <th>Date</th>  

6.    </tr>  

7.  </thead>  

8.  <tfoot>  

9.    <tr>  

10.      <th>Month Lists</th>  

11.      <th>Date Lists</th>  

12.    </tr>  

13.  </tfoot>  

14.  <tbody>  

15.    <tr>  

16.      <td>AUG</td>  

17.      <td>18</td>  

18.    </tr>  

19.  </tbody>  

20.</table>  

個人認為這個東西挺雞肋,取之無用,棄之可惜。小項目可以增加些語義化,但因為曾經遇到過有多個不同表頭在同一表格顯示的窘境,限制了日后的開發,所以正式項目從可擴展的角度來說情慎用這些標簽。

col和colgroup

這倆標簽也是xhtml的產物,功能強大,兼容奇差。

col標簽為表格中一個或多個列定義屬性值。

colgroup標簽用于對表格中的列進行組合,以便對其進行格式化。

它們的作用主要就是來控制單元格的寬度了,這樣省去單獨定義每個單元格的麻煩,過去我們往往是在第一行中的th或者td上定義寬度來規定每列的寬度,而col不但可以定義寬度還能同時定義其他的屬性,例如可以通過col來控制幾列寬度的總和,還可以控制這列的背景色。但理想是豐滿的,現實是骨干的,正如前面所說,功能越大不代表其兼容性也越強,據現有的測試下來,col和colgroup能發揮作用還能保證兼容的應用就只有倆:width和background。對于width,個人寧愿使用常規方式,第一行設置寬度,保證列寬。對于bacground,一般實際中表格大面積使用不同背景的情況也很少見。故個人認為:能不用盡量不用。

何處用table

個人認為,在一個放置數據非常密集且又非常序列化的一個容器里,用table準沒錯。最常見的例子就是我們常見的購物訂單結算頁面,上面列有你訂單詳情:商品名稱、單價、購買數量、金額小計、運費等等,最后最下方還會有一個最終訂單金額的結果,table在這里可謂是如魚得水,達到了數據之載體的神效。

table疑難雜癥之換行

用table顯示數據有時候會有一個頭疼的地方,即不換行顯示某段文字,尤其在表頭th中用到地方最多。其實你所頭疼的并非換行,而是其背后的瀏覽器兼容加性使得換行的困難程度大大增。

總體來說在table中換行個人比較推薦的方式為:先為table設定table-layout:fixed,基本上設定完這個屬性后基本的換行問題都能夠解決而不會出現table中td,th因為里面各個內容的多寡發生搶奪其他td,th寬度的情形發生。這時如果你依舊有強制換行問題,那么在此td中內部加一層div,再利用word-wrap:break-word; word-break:break-all;這倆個CSS方法可以解決換行的問題。

攻略強制換行與強制不換行

強制換行與強制不換行問題曾經一度困擾著我,每當遇到換行問題時候那就是痛苦回憶的開始,現在終于痛定思痛,一鼓作氣把這個長期頑固問題給解決。

強制換行與強制不換行用到的屬性

我們一般控制換行所用到的CSS屬性一共有三個:word-wrap; word-break; white-space。這三個屬性可以說是專為了文字斷行而創造出來的。首先我們得知道這三個屬性到底是做什么用地:

word-wrap語法 

word-wrap: normal(默認) | break-word

各個瀏覽器均能識別

參數:

normal: 允許內容頂開指定的容器邊界。

break-word: 內容將在邊界內換行。必要時會觸發word-break(注意:請分辨清楚word-break和break-word這倆個是不同的東西,一為屬性另為參數)。

說明:

word-wrap是控制是否“為詞斷行”的,設置或檢索當前行超過指定容器的邊界時是否斷開轉行。中文沒有任何問題,英文語句也沒問題。但是對于長串的英文,就不起作用。

范例:

congratulation這個單詞屬于長串英文,word-wrap:break-word整個單詞看成一個整體,如果該行末端寬度不夠顯示整個單詞,它會自動把整個單詞放到下一行,而不會把單詞截斷,這就是對于長串文字不起作用的解釋。word-wrap:normal是默認情況,英文單詞不被拆開。

結論:

作用范圍僅為div這類標準塊級元素,th,td這類table元素雖然識別但是沒有效果(如果為td,th加上寬度word-wrap在IE下是能夠發揮效果的,但根據完全兼容性方便記憶角度上來說還是以前面的結論為準)。

word-break語法 

word-break: normal(默認) | break-all | keep-all

參數:

normal: 依照亞洲語言和非亞洲語言的文本規則,允許在字內換行。

break-all: 該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內斷開。該值適合包含一些非亞洲文本的亞洲文本。

keep-all: 與所有非亞洲語言的normal相同。對于中文,韓文,日文,不允許字斷開。適合包含少量亞洲文本的非亞洲文本。

說明:

word-break:break-all,是斷開單詞。在單詞到邊界時,下個字母自動到下一行。主要解決了長串英文的問題(恰恰彌補了上面word-wrap:break-word對于長串文字不起作用的缺陷)。

范例:

繼續以上面congratulation這個單詞屬于長串英文,word-break:break-all它會把單詞截斷,該行末端就會變成類似conra(congratulation的前端部分),下一行為tulation(conguatulation)的后端部分了。

word-break:keep-all,是指Chinese, Japanese, and Korean不斷詞。即只用此時,不用word-wrap,中文就不會換行了。(英文語句正常。)

結論:

作用范圍僅為div這類標準塊級元素,th,td這類table元素雖然識別但是沒有效果(經測試Chrome下word-break:break-all是有效果的,但根據完全兼容性方便記憶角度上來說還是以前面的結論為準)。Firefox,Opera是無法識別word-break的,更不用提Firefox下的th,td中使用word-break的效果了。

white-space語法 

white-space: normal(默認) | pre | nowrap

參數:

normal: 默認。空白會被瀏覽器忽略。

pre: 空白會被瀏覽器保留。其行為方式類似HTML中的pre標簽。

nowrap: 文本不會換行,文本會在在同一行上繼續,直到遇到br標簽為止。

說明:

對于pre屬性,其實就是HTML中連續的多個空白符會被合并,然后為了不讓他合并(最常用的場合就是表示代碼文字縮進)讓其中的空白符繼續保留而不需要我們增加額外的樣式和標簽來控制它的縮進和換行。pre標簽的原理也是一樣的內部默認有了個white-space:pre。

對于nowrap屬性,這個是強制不換行核心,一般強制不換行就是利用這個屬性。Firefox的div和td中,以及IE的div中,均沒有問題。唯一的瑕疵就是在IE的td中會有一個問題,如果td沒有指定寬度,則nowrap仍然有效,如果td有寬度,并且文字中無標點、無空格(例如中文長串文字),nowrap則不再有效。解決方式就是可以加word-break:keep-all;可以解決此問題。

總結強制換行:

如果在div這類標準塊級元素中需要強制換行,最普遍的方案那就是word-wrap:break-word; word-break:break-all;此方式的缺點就是會導致如果恰巧該行末端寬為一個長串英文單詞,那么該單詞會被撕開的尷尬樣式(而且FF不識別word-break,反而不會撕開這個單詞)。個人認為如果你這個div里面放的類似于URL這個長串地址,那么用此方案是非常不錯的選擇(注意:由于FF不識別word-break,所以無法保證每行末端會整齊的斷開URL單詞,但這也是無奈的選擇)。如果不是放置URL這類可以斷開的長串英文,而是英文句子的話,那么使用word-wrap:break-word;即可。至于網上看到有word-wrap:break-word; overflow:hidden;這么個寫法,據說可以兼容IE和FF,但經過親自測試似乎沒有什么特別效果。

總結強制不換行:

強制不換行的問題到是比較容易分析的,就如上面所討論的那樣使用white-space:nowrap,Firefox的div和td中,以及IE的div中,均沒有問題。唯一的瑕疵就是在IE的td中會有一個問題,如果td沒有指定寬度,則nowrap仍然有效,如果td有寬度,并且文字中無標點、無空格(例如中文長串文字),nowrap則不再有效。解決方式就是可以加word-break:keep-all;可以解決此問題。綜合下來,比較穩妥的方式是在文字與td之間再套一層div,然后使用nowrap,那么就是強制不換行。注意這時候很有可能文字會過多導致溢出容器,所以你還得加一個overflow:hidden,防止溢出容器,這樣子就可以兼容各個瀏覽器了。

總結了那么多,發覺似乎也就那幾個屬性在瀏覽器里面的各種兼容性的平衡,現在似乎尚未有一個完美的方案可以全部兼容各個瀏覽器,我們所能做的最多的就是盡可能的保持個瀏覽器顯示一致。如果你還是覺得一定要兼容所有的瀏覽器,那么最后的方案那么就是動用JS了,以后的文章中我會考慮從以最小的JS代價來滿足此要求,但這暫不在本文所討論的范圍內。

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
狠狠色2019综合网| 最近看过的日韩成人| 国产精品a久久久久久| 夜夜嗨av色一区二区不卡| 欧美大色视频| 亚洲网在线观看| 国产综合网站| 欧美日本中文字幕| 亚洲一区二区在线看| 国产日韩欧美91| 欧美极品影院| 99国内精品| 国产亚洲欧美色| 欧美精品一区在线播放| 欧美在线亚洲在线| 99国产精品视频免费观看| 国产亚洲日本欧美韩国| 欧美激情a∨在线视频播放| 亚洲欧美综合另类中字| 日韩视频免费观看| 亚洲毛片在线观看| 日韩亚洲在线观看| 亚洲国产成人91精品| 国产亚洲欧美日韩美女| 欧美三日本三级少妇三2023| 久久夜色精品国产噜噜av| 亚洲男同1069视频| 亚洲精品一区二区三区不| 在线观看不卡| 激情懂色av一区av二区av| 国产午夜精品美女毛片视频| 国产精品久久亚洲7777| 国产精品美女久久久浪潮软件 | 欧美日韩免费观看一区| 欧美成人亚洲成人日韩成人| 久久精品国产69国产精品亚洲| 亚洲欧美日韩一区二区| 午夜影院日韩| 欧美www视频在线观看| 免费看的黄色欧美网站| 欧美成人三级在线| 国产精品xxxav免费视频| 国产精品视频一| 在线日韩视频| 欧美国产另类| 亚洲东热激情| 亚洲成人在线视频播放| 亚洲视频一起| 欧美精品导航| 亚洲高清视频在线| 久久久免费精品| 国产亚洲午夜| 午夜亚洲性色视频| 欧美日韩国产成人精品| 亚洲电影免费在线| 久久这里有精品视频| 国产精品视频免费在线观看| 亚洲精品1区2区| 欧美成人一区二区在线 | 在线成人激情黄色| 午夜精品一区二区三区在线视| 欧美体内she精视频| 亚洲欧美一区二区精品久久久| 国产性天天综合网| 久久久亚洲高清| 亚洲视频999| 在线一区二区三区四区| 国产精品毛片大码女人| 午夜精品一区二区在线观看| 国产精品综合| 欧美第十八页| 久久精品国产亚洲一区二区| 亚洲手机在线| 亚洲经典视频在线观看| 欧美日韩精品免费观看视频| 欧美在线视屏| 欧美一区三区二区在线观看| 免费黄网站欧美| 亚洲国产天堂久久综合网| 亚洲女性裸体视频| 欧美激情综合色综合啪啪| 欧美精品一区二区蜜臀亚洲| 国产精品日韩欧美| 99综合在线| 国产精品福利网站| 亚洲欧美日韩在线高清直播| 欧美日本国产一区| 亚洲主播在线| 亚洲黄色免费网站| 国产日韩欧美一区在线 | 亚洲国产欧美一区二区三区丁香婷| 黄色亚洲大片免费在线观看| 欧美一区二区三区视频| 国产片一区二区| 欧美一区二区三区在线视频| 国产精品久久久久影院色老大 | 韩日欧美一区二区三区| 久久精品盗摄| 亚洲精品美女| 国产中文一区二区| 欧美精品在线观看一区二区| 亚洲一二三区视频在线观看| 国产一区免费视频| 国产亚洲二区| 国产精品夜夜夜| 国产精品久久久久7777婷婷| 久久久久高清| 一区二区日韩欧美| 在线电影一区| 国产性色一区二区| 国产欧美一区视频| 国产亚洲精品美女| 国内精品久久久久久久果冻传媒 | 亚洲午夜伦理| 香蕉精品999视频一区二区| 亚洲愉拍自拍另类高清精品| 亚洲一区二区3| 午夜精品福利在线| 亚洲淫性视频| 亚洲制服丝袜在线| 亚洲综合色自拍一区| 中文欧美在线视频| 亚洲欧美网站| 欧美激情一区二区三区在线| 欧美成人午夜| 激情综合色综合久久| 亚洲国产精品v| 久久国产主播| 欧美日韩国产经典色站一区二区三区| 久久婷婷丁香| 欧美精品九九99久久| 欧美午夜国产| 激情综合激情| 欧美一区二区视频网站| 欧美激情五月| 伊人久久大香线蕉综合热线| 久久高清免费观看| 欧美国产亚洲精品久久久8v| 欧美日韩国产首页| 国产日韩成人精品| 亚洲乱码日产精品bd| 亚洲综合日韩中文字幕v在线| 老牛影视一区二区三区| 国产精品制服诱惑| 亚洲欧美综合国产精品一区| 欧美日韩一区二区视频在线观看 | 黄色成人小视频| **性色生活片久久毛片| 亚洲男人av电影| 欧美日韩另类丝袜其他| 亚洲黄色在线看| 欧美激情1区2区3区| 亚洲作爱视频| 国产乱肥老妇国产一区二 | 欧美喷水视频| 亚洲一区国产精品| 国产欧美一区二区三区沐欲 | 欧美在线视频观看| 国内精品模特av私拍在线观看| 亚洲综合色激情五月| 国产精品捆绑调教| 亚洲午夜女主播在线直播| 欧美福利一区二区| 99热精品在线| 国产精品扒开腿做爽爽爽视频| 亚洲黄色免费| 欧美日韩a区| 久久手机免费观看| 中文国产亚洲喷潮| 在线免费观看欧美| 精品福利电影| 欧美女主播在线| 亚洲在线成人精品| 国产精品久久久一区二区三区| 亚洲欧美综合| 亚洲国产岛国毛片在线| 国产欧美一区二区三区久久| 美腿丝袜亚洲色图| 老妇喷水一区二区三区| 999在线观看精品免费不卡网站| 蜜桃精品一区二区三区 | 欧美无砖砖区免费| 欧美在线观看视频在线| 亚洲欧洲日产国产网站| 国产精品福利网| 久久久久网址| 久久精品国产在热久久 | 国模叶桐国产精品一区| 欧美日韩性视频在线| 裸体素人女欧美日韩| 久久人人97超碰国产公开结果| 欧美亚洲三区| 亚洲视频免费在线观看| 红桃视频欧美| 国产精品女主播| 国产精品高潮呻吟久久av无限| 久久一区二区三区av| 欧美.www| 国产嫩草影院久久久久| 国产午夜精品美女视频明星a级 |