在table中使用border-radius


在table中使用border-radius


先來看看設計圖吧:

pic

 

拿到圖,先想到還是表格,table標簽,可是,table表格是矩形的,沒關系,我們有border-radius呀,效果如下:

 

給table加沒有效果但可以給每個單元格加啊,嗯,好像很有道理的樣子,試試:

咦,怎么和想象的不一樣捏,左右上角的直線角還在呢,而底部的圓角並沒有效果

后來找到問題是:```CSS3's border-radius property and border-collapse:collapse don't mix.```

如此看來collapse是用不了了,那使用border-collapse: separate呢,如下:

這里聲明下border-collapse屬性的區別了,w3school是這樣說的:

pic

 

於是我們看到separate的問題就在於表格邊框並不合並,這樣會使得邊框看起來很粗,實在太丑,難保不會被設計獅打死,

所以問題在於,用border-radius形成圓角,可以,但是在table表單中border-collapse:collapse和border-radius不相容,使用border-collapse:separate可以實現圓角,但單元格邊框不會合並

后來解決辦法在[這里](http://stackoverflow.com/questions/628301/css3s-border-radius-property-and-border-collapsecollapse-dont-mix-how-can-i)找到,原題最高票答案不適合此需求,因為給出的解決方案是單元格沒有邊框的,並且是給table加上背景色,會導致單元格加上border后顏色也會同table一樣,倒是看看第二票答案,demo:

關鍵在於table標簽內不要寫border=‘1’,這個border是給單元格加上邊框,這里我們單元格是需要邊框,但在html里的table標簽里直接寫就會讓每個單元格有邊框,合起來就變粗了,於是通過table tr th,table tr td這樣來給單元格加上想要的邊框,如下:

table tr th,table tr td {
border-right: 1px solid #d4d8da;
border-bottom: 1px solid #d4d8da;
padding: 5px;
}

 

控制單邊的邊框生成。

哦啦,問題解決了:

可看demo在此http://codepen.io/puronglong/pen/PPeEML#0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM