- 相關(guān)推薦
關(guān)于網(wǎng)頁(yè)制作 TD也可以溢出隱藏顯示
或許我這篇文章一取這樣的名字,就會(huì )有人要問(wèn)了:你怎么還在關(guān)注table啊,那早就過(guò)時(shí)了…趕緊Xhtml…div好…ul好…ol好…dl好…完了,不知道還有什么好了。
table真的過(guò)時(shí)了么?你真的了解table么?你真的會(huì )用table么?
打口水仗不是我們要做的,留給那些時(shí)間很充裕的人吧。
言歸正傳:
不記得是什么時(shí)候,有人在用table模擬DataGrid的時(shí)候說(shuō),為什么td超出設置為固定寬度的文字不能隱藏,而是會(huì )直接換行呢?
是的,事實(shí)確實(shí)如此,如:
table {width:500px;table-layout:fixed;} .col1 {width:100px;} .col2 {width:200px;} .col3 {width:200px;} td {white-space:nowrap;overflow:hidden;}
神舟 優(yōu)雅Q400N | 優(yōu)雅Q400N,采用Intel Core2 Duo(Merom) T5450(1.66G)處理器 | 迅馳4平臺,突出的性?xún)r(jià)比,漂亮的外觀(guān) |
提示:您可以先修改部分代碼再運行
運行如上代碼,你會(huì )發(fā)現單元格里超過(guò)固定寬度的文字不會(huì )被隱藏掉,而是換行顯示了,顯然,這并不是我的本意。
看起來(lái),這似乎是table的一個(gè)特性,它不能很好的支持{width:*px;white-space:nowrap;overflow:hidden;}的組合,說(shuō)到底就是white-space:nowrap這個(gè)東東沒(méi)起作用,所以看起來(lái)overflow:hidden就失效了。{注:如果是一連串的無(wú)意義字符則可生效,例如:
,這個(gè)時(shí)候就不需要{white-space:nowrap}來(lái)強制它在一行內顯示,因為這一連串的a會(huì )被認定為是一個(gè)字而不發(fā)生換行,從而超出.col1寬度的a會(huì )被隱藏}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
。劢鉀Q方案一:]
后來(lái)有人提到使用百分比寬度就可以了,經(jīng)測試,確實(shí)可以,稍微將第一段的其中幾行樣式修改一下,其它的不變:
.col1 {width:20%;}
.col2 {width:40%;}
.col3 {width:40%;}
將修改后的代碼運行后,會(huì )發(fā)現,超出寬度的文字果然被隱藏了,想要的效果似乎得到了。
事實(shí)上使用百分比寬度確實(shí)可以解決這個(gè)文字隱藏的問(wèn)題,但這似乎并不是想要的最佳的解決方案,因為有的時(shí)候我們需要的是一個(gè)固定的寬度,而不是百分比寬度。
而這一切的根源就在于如何使得單元格內的文字不換行在一行內顯示。
。劢鉀Q方案二:]
要達到這個(gè)要求,除了使用樣式,我們也許還會(huì )想到一個(gè)許久不用了的標簽,這個(gè)元素的作用就是強制內容在一行顯示。以上代碼做如下修改,其它則不變:
做了這個(gè)修改,會(huì )發(fā)現,效果確實(shí)達到,是不是該興奮呢?不,這似乎還不是最佳的解決方案,因為畢竟使用了一個(gè)許久不用且不推薦使用的元素標記,這多少讓人覺(jué)得有點(diǎn)不爽。
沿著(zhù)這個(gè)思路,我換了一個(gè)角度來(lái)考慮這個(gè)問(wèn)題,發(fā)現問(wèn)題迎刃而解。
既然在固定寬度的單元格內無(wú)法只簡(jiǎn)單的給th,td加上white-space:nowrap,那么我們在固定寬度的單元格內再加一個(gè)標記元素呢?
最佳方案:
table {width:500px;table-layout:fixed;} .col1 {width:100px;} .col2 {width:200px;} .col3 {width:200px;} th strong {display:block;width:100%;} tr strong,tr td {white-space:nowrap;overflow:hidden;}
產(chǎn)品名稱(chēng) | 產(chǎn)品介紹 | 產(chǎn)品備注 |
---|---|---|
神舟 優(yōu)雅Q400N | 優(yōu)雅Q400N,2007年7月上市,采用Intel Core2 Duo(Merom) T5450(1.66G)處理器 | 迅馳4平臺,突出的性?xún)r(jià)比,漂亮的外觀(guān) |
提示:您可以先修改部分代碼再運行
運行上面的代碼,會(huì )發(fā)現這樣的做法是可以的,而且從代碼的簡(jiǎn)潔性、可讀性和合理性幾方面來(lái)說(shuō),都較前幾種方案為好。
{還沒(méi)有做過(guò)給單元格隱藏超過(guò)固定寬度內容的同學(xué),可先在機器上玩玩,然后再來(lái)看本文}
其實(shí)table是一個(gè)有趣,可玩性很高東東。我們不應該帶著(zhù)有色眼睛去看它,因為它有它存在的道理。
之后會(huì )繼續寫(xiě)一些關(guān)于table的文章,也作自?shī)手谩?/p>
【網(wǎng)頁(yè)制作 TD也可以溢出隱藏顯示】相關(guān)文章:
設計菜單橫向隱藏與顯示的效果07-02
顯示電腦隱藏文件的操作步驟07-04
網(wǎng)頁(yè)制作的心得12-08
《網(wǎng)頁(yè)的制作》教案01-16
網(wǎng)頁(yè)制作員工作04-26
網(wǎng)頁(yè)設計與制作心得12-12