亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

CSS3 自定義Table

2024-04-27 15:17:49
字體:
來源:轉載
供稿:網友
<!DOCTYPE HTML><html> <head> <meta charset="utf8"> <style> body { font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 18px; } #styleControl { position: fixed; right: 0; margin-right: 10px; padding: 10px; border: 1px solid gray; border-radius: 5px; box-shadow: 1px 1px 5px gray; background: white; opacity: 0.9; } input[name="style"] { vertical-align: middle; } #styleControl h3 { text-align: center; margin: 5px; } h2 { text-align: center; } table { width: 60%; border-spacing: 0px; border-radius: 5px; margin: 0 auto; } th, td { padding: 10px; text-align: center; } tfoot td { text-align: left; } /*--------------------------------*/ .bordered { border: 1px solid #ccc; box-shadow: 2px 2px 1px #ccc; } .bordered thead { /* 漸變的只能賦予圖像,如果賦予background-color將無效 */ background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9); } .bordered tbody tr:hover { background: #fdf8e9; } .bordered th { border-right: 1px solid #ccc; } .bordered td { border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } /* thead 的最后一個th; tbody,tfoot 的最后一個td */ .bordered th:last-child, .bordered td:last-child { border-right: none; } /* tbody,tfoot 的最后一個tr的所有td */ .bordered tr:last-child td { border-bottom: none; } /* tbody 的第一個tr的所有td; tfoot 的第一個tr的所有td */ .bordered tbody tr:first-child td, .bordered tfoot tr:first-child td { border-top: 1px solid #ccc; } /*--------------------------------*/ .zebra { border: 1px solid #ccc; } /* 注意: border 設置在thread,tbody,tfoot或者是tr都是不會生效的. 只有設置在table或th或td才會生效 */ .zebra thead th { background-image: -webkit-linear-gradient(top, #f5f5f5, #eee); } /* 第偶數個子元素 */ .zebra tbody tr:nth-child(even) { background-color: #f5f5f5; } .zebra tfoot td { background-color: red; border-top: 1px solid #ccc; } </style> </head> <body> <div id="styleControl"> <h3>Style</h3> <hr> <input type="radio" name="style" onChange="onStyleChange()">none <br> <input type="radio" name="style" value="bordered" onChange="onStyleChange()">bordered <br> <input type="radio" name="style" value="zebra" onChange="onStyleChange()">zebra </div> <script> var title = "TIOBE Index for January 2017"; var foot = "January Headline: Google's Go is TIOBE's PRogramming language of 2016"; var ths = ["Jan 2017", "Programming Language", "Ratings"]; var languages = ["java", "C", "C++", "C#", "Python", "Visual Basic .NET", "Javascript", "Perl", "Assembly language", "php"]; var ratings = ["17.278%", "9.349%", "6.301%", "4.039%", "3.465%", "2.960%", "2.850%", "2.750%", "2.701%", "2.564%"]; var columns = [languages, ratings]; function createNoItemTable() { var h2 = document.createElement("h2"); h2.innerHTML = title; document.body.appendChild(h2); var table = document.createElement("table"); var thead = document.createElement("thead"); var row = thead.insertRow(); for(var i=0; i<ths.length; i++) { var th = document.createElement("th"); row.appendChild(th); th.textContent = ths[i]; } table.appendChild(thead); document.body.appendChild(table); } function createOneItemTable() { var h2 = document.createElement("h2"); h2.innerHTML = title; document.body.appendChild(h2); var table = document.createElement("table"); var thead = document.createElement("thead"); var row = thead.insertRow(); for(var i=0; i<ths.length; i++) { var th = document.createElement("th"); row.appendChild(th); th.textContent = ths[i]; } row = table.insertRow(); var cell = row.insertCell(); cell.innerHTML = 1; for(var i=0; i<columns.length; i++) { cell = row.insertCell(); cell.textContent = columns[i][0]; } table.appendChild(thead); document.body.appendChild(table); } function createTable() { var h2 = document.createElement("h2"); h2.innerHTML = title; document.body.appendChild(h2); var table = document.createElement("table"); var thead = document.createElement("thead"); var tfoot = document.createElement("tfoot"); var tbody = document.createElement("tbody"); //thead var row = thead.insertRow(); //row.setAttribute("align", "center"); for(var i=0; i<ths.length; i++) { var th = document.createElement("th"); row.appendChild(th); th.textContent = ths[i]; } //tfoot row = tfoot.insertRow(); var cell = row.insertCell(); cell.innerHTML = foot; cell.setAttribute("colspan", ths.length); //tbody for(var i=0; i<languages.length; i++) { row = tbody.insertRow(); //row.setAttribute("align", "center"); cell = row.insertCell(); cell.innerHTML = i+1; for(var j=0; j<columns.length; j++) { cell = row.insertCell(); cell.textContent = columns[j][i]; } } table.appendChild(thead); table.appendChild(tfoot); table.appendChild(tbody); document.body.appendChild(table); } function onStyleChange() { var tables = document.getElementsByTagName("table"); if(!tables || tables.length === 0) { return; } var value = event.target.value; if(value) { for(var i=0; i<tables.length; i++) { tables[i].setAttribute("class", value); } } else { for(var i=0; i<tables.length; i++) { tables[i].removeAttribute("class"); } } } createNoItemTable(); createOneItemTable(); createTable(); </script> </body></html>

這里寫圖片描述

這里寫圖片描述

這里寫圖片描述

但是這里發現了一個問題,請仔細看最后一張圖。是不是發現圓角的邊框的菱角處裂開了!我換成background-color也是一樣的。另外在中間那個圖的樣式上,當鼠標hover在具有圓角的項時,也是一樣的,會發現菱角處邊框斷裂。

以上問題說明了,tr或者td的背景圖或者顏色都是矩形的,不受table的border-radius屬性的限制,因此需要自行設置tr或td的邊框。

改版后的style如下

<style> body { font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 18px; } #styleControl { position: fixed; right: 0; margin-right: 10px; padding: 10px; border: 1px solid gray; border-radius: 5px; box-shadow: 1px 1px 5px gray; background: white; opacity: 0.9; } input[name="style"] { vertical-align: middle; } #styleControl h3 { text-align: center; margin: 5px; } h2 { text-align: center; } table { width: 60%; border-spacing: 0px; border-radius: 5px; margin: 0 auto; } th, td { padding: 10px; text-align: center; } tfoot td { text-align: left; } /*--------------------------------*/ .bordered { border: 1px solid #ccc; box-shadow: 2px 2px 1px #ccc; } /* 注意: border 設置在thread,tbody,tfoot或者是tr都是不會生效的. 只有設置在table或th或td才會生效 */ .bordered thead { /* 漸變的只能賦予圖像,如果賦予background-color將無效 */ background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9); } .bordered tbody tr:hover { background: #fdf8e9; } .bordered th { border-left: 1px solid #ccc; } .bordered th:first-child { border-radius: 5px 0 0 0; border-left: none; } .bordered th:last-child { border-radius: 0 5px 0 0; } /* 如果只有唯一的一個th */ .bordered th:only-child { border-radius: 5px 5px 0 0; } .bordered td { border-top: 1px solid #ccc; border-left: 1px solid #ccc; } /* thead 的最后一個th; tbody,tfoot 的最后一個td */ .bordered td:first-child { border-left: none; } /* tbody 的第一個tr的所有td; tfoot 的第一個tr的所有td */ .bordered tfoot td:only-child { border-top: 1px solid #ccc; border-radius: 0 0 5px 5px; } /*--------------------------------*/ .zebra { border: 1px solid #ccc; } /* 注意: border 設置在thread,tbody,tfoot或者是tr都是不會生效的. 只有設置在table或th或td才會生效 */ .zebra th { background-image: -webkit-linear-gradient(top, #f5f5f5, #eee); } .zebra th:first-child { border-radius: 5px 0 0 0; } .zebra th:last-child { border-radius: 0 5px 0 0; } /* thead 的唯一一個th */ .zebra th:only-child { border-radius: 5px 5px 0 0; } /* 第偶數個子元素 */ .zebra tbody tr:nth-child(even) { background-color: #f5f5f5; } /* tfoot 的唯一一個td */ .zebra tfoot td:only-child { background-color: -webkit-linear-gradient(bottom, #ebf3fc, #dce9f9); border-top: 1px solid #ccc; border-radius: 0 0 5px 5px; }</style>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频日韩精品| 亚洲欧美日韩天堂一区二区| 欧美日韩国产精品一区| 久久久久久久久久久网站| 久久久精品网站| 4438全国成人免费| 欧美国产精品日韩| 亚洲综合中文字幕在线观看| 性欧美亚洲xxxx乳在线观看| 亚洲性无码av在线| 久久国产色av| 欧美日韩免费网站| 精品国产一区二区三区久久狼5月| 欧美精品在线第一页| 亚洲男人天堂手机在线| 亚洲欧美精品suv| 久久精品国产清自在天天线| 伊人精品在线观看| 麻豆一区二区在线观看| 色悠悠久久88| 日韩电影大片中文字幕| 一区二区三区四区视频| 亚洲激情视频在线观看| 久久久成人av| 亚洲最大在线视频| 亚洲天堂网站在线观看视频| 日韩欧亚中文在线| 成人淫片在线看| 97精品在线观看| 亚洲国产天堂久久综合网| 日韩视频在线免费观看| 怡红院精品视频| 日韩欧美亚洲范冰冰与中字| 国产成人精品日本亚洲专区61| 一区二区三区www| 国产精品视频资源| 亚洲影院高清在线| 欧美自拍大量在线观看| 亚洲黄页网在线观看| 91嫩草在线视频| 久久久久女教师免费一区| 国产激情综合五月久久| 日韩av在线不卡| 亚洲欧美日韩爽爽影院| 色妞在线综合亚洲欧美| 欧美日韩免费在线观看| 国产91精品视频在线观看| 欧美日韩美女在线| 欧美大片在线免费观看| 成人在线小视频| 成人黄色av免费在线观看| 亚洲欧美国产高清va在线播| 久久国产精品偷| 国产伦精品一区二区三区精品视频| 日韩有码在线视频| 色无极影院亚洲| 日韩av手机在线看| 亚洲国产精品女人久久久| 亚洲天堂av高清| 亚洲国产美女久久久久| 欧美精品生活片| 久久久97精品| 久热精品视频在线免费观看| 久久久久北条麻妃免费看| 一区二区三区四区在线观看视频| 亚洲一区美女视频在线观看免费| 成人高清视频观看www| 久久影院中文字幕| 97在线免费观看视频| 精品性高朝久久久久久久| 美女999久久久精品视频| 亚洲国产精久久久久久久| 4388成人网| 国产亚洲精品成人av久久ww| 亚洲精品久久久久久久久| 亚洲欧洲日产国码av系列天堂| 国产一区二区三区在线观看网站| 国产精品一区二区久久久| 欧美成人免费一级人片100| 欧美不卡视频一区发布| 国产精品旅馆在线| 久久久精品视频在线观看| 97视频在线观看成人| 九九综合九九综合| 亚洲欧美国产精品va在线观看| 国产91精品不卡视频| 中文字幕免费精品一区高清| 欧美日韩国产精品一区二区不卡中文| 精品国产一区二区三区在线观看| 91青草视频久久| 91国内在线视频| 亚洲福利视频网站| 欧美精品亚州精品| 欧美日韩免费在线观看| 疯狂欧美牲乱大交777| 成人福利在线视频| 精品中文字幕在线2019| 欧美亚洲国产另类| 欧美成人亚洲成人日韩成人| www.亚洲一区| 91久久国产精品| 亚洲欧美综合另类中字| 91国语精品自产拍在线观看性色| 国模gogo一区二区大胆私拍| 色妞色视频一区二区三区四区| 久久精品视频导航| 日韩精品免费在线| 国产精品久久久久久久久久| 最好看的2019的中文字幕视频| 久久综合九色九九| 日韩高清不卡av| 国产成人在线亚洲欧美| 国产成人在线一区二区| 一区二区三区日韩在线| 国产精品pans私拍| 国产精品视频久久| 亚洲国产小视频| 成人国产亚洲精品a区天堂华泰| 色偷偷88888欧美精品久久久| 国产精自产拍久久久久久蜜| 亚洲精品欧美一区二区三区| 欧美另类69精品久久久久9999| 色噜噜亚洲精品中文字幕| 欧日韩不卡在线视频| 久久九九国产精品怡红院| 亚洲人成电影网站色…| 亚洲第一网站男人都懂| 国产精品天天狠天天看| 成人精品视频99在线观看免费| 日韩免费在线电影| 欧美贵妇videos办公室| 亚洲性线免费观看视频成熟| 国内精品伊人久久| 欧美激情伊人电影| 欧美午夜视频在线观看| 97国产成人精品视频| 国产精品极品美女粉嫩高清在线| 国产中文日韩欧美| 国产精品视频一区二区三区四| 久久久国产一区二区| 国产精品91久久久久久| 亚洲国产成人精品久久| 国产精品com| 亚洲xxxxx性| 欧美性猛交xxxx乱大交3| 国产精品久久久久久久久借妻| 亚洲精品一区二区在线| 亚洲专区国产精品| 美日韩精品免费视频| 亚洲韩国欧洲国产日产av| 91精品久久久久久久久| 亚洲国产日韩一区| 久久99久国产精品黄毛片入口| 91国内免费在线视频| 日韩理论片久久| 黑人巨大精品欧美一区二区一视频| 国产精品欧美日韩一区二区| 精品成人国产在线观看男人呻吟| 精品亚洲国产成av人片传媒| 久久久日本电影| 欧美限制级电影在线观看| 精品视频www| 国产精品欧美亚洲777777| 亚洲欧洲在线视频|