Html-淺談如何正確給table加邊框

来源:http://www.cnblogs.com/zsan/archive/2017/11/28/7910260.html
-Advertisement-
Play Games

一般來說,給表格加邊框都會出現不同的問題,以下是給表格加邊框後展現比較好的方式 但是根據不同的需要有時候我們需要不同的樣式,在這裡我就影響表格邊框的因素,做一些總結和分析 一、 <table border="1"> 表格邊框 如圖:,也就是border=1,意思就是給表格的每一格,及邊框加上1像素的 ...


一般來說,給表格加邊框都會出現不同的問題,以下是給表格加邊框後展現比較好的方式

複製代碼
<style>
        table,table tr th, table tr td { border:1px solid #0094ff; }
        table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse;}   
    </style>

    <table>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
    </table>
複製代碼

但是根據不同的需要有時候我們需要不同的樣式,在這裡我就影響表格邊框的因素,做一些總結和分析

一、 <table border="1"> 表格邊框

如圖:,也就是border=1,意思就是給表格的每一格,及邊框加上1像素的邊框

 

二、 <table border="1" cellspacing="0"> cellspacing單元格間距

如圖:這時表格大小為:200*118px

 

三、<table border="1" cellspacing="0" cellpadding="0"> cellpadding單元格邊距

如圖: 這時表格大小為:200*110px

 

四、去掉表格中table的所有屬性值,當在css中給table設置{border: 1px solid #151515}

如圖:這個時候我們發現,css中的border其實就是給表格加了一個外邊框而已

 

五、border-collapse: collapse 邊框合併,該屬性設置表格的邊框是否被合併為一個單一的邊框,還是象在標準的 HTML 中那樣分開顯示

這個時候如果我們只是想給表格整體加邊框,並且不需要邊距和間距,其實我們只需要這麼寫:

複製代碼
 <style>
        table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-color:#b6ff00; border-collapse: collapse;}   
    </style>

    <table border="1">
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
    </table>
複製代碼

如圖:(Google)(firefox)

 

六、我們在上面的圖中可以清晰看見,兩個瀏覽器所解析邊框不同。但是其實他們是一樣的。他們同時都給邊框加了顏色,但是由於我們td和th預設有一個預設的顏色,而我們這裡沒有給他們添加樣式去覆蓋預設的黑色線條,而導致了火狐中出現的情況,其實這個情況在谷歌中也有,只是不明顯,其解析的黑色預設線條被我們的顏色蓋在了上面,你如果仔細查看還是會發現有黑色邊條出現,這個時候我們只需要給th和td加上顏色樣式即可

table tr th, table tr td { border-color:#b6ff00; }

如圖:(Google)(firefox)

 

七、從上面,仔細看,其實還是會發現不對勁,谷歌似乎外邊框更深了,這其實還是因為,我們一開始在table上面加了border=1的原因,因為本身就給table加了一個預設的黑色線條樣式,就是我們上面說的,th和td以及table都有預設的黑色邊線,因此如果需要徹底解決這個問題,讓邊框可以正常顯示,應該這麼寫:

複製代碼
<style>
        table,table tr th, table tr td { border:1px solid #0094ff; }
        table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse;}   
    </style>

    <table>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
    </table>
複製代碼

 

 

總結一下:

Html中table的屬性:

border= “1”:給整個表格(包括表格及每一個單元格)加上1像素的黑色邊框,

其等同於css中的: table,table tr th, table tr td { border:1px solid #0094ff; }

 

cellpadding=“0”:單元格邊距等於0,其預設值為1px,

其等同於css中的:{padding:0;}

 

cellspacing="0":單元格間距等於0,其預設值為2px,

其等同於css中的:border-collapse: collapse(邊框合併),但又不完全相同,cellspacing僅間距,而border-collapse使臨近的邊線合併成一條邊線,也就避免了cellspacing中邊線重合造成邊線加粗的問題。所以在這裡不提倡使用html屬性設置表格邊框時將cellspacing設置為0,,如果你希望他等於0,更提倡使用css樣式屬性的方法去設置表格的邊框,並使用border-collapse: collapse去合併邊線,而不是將cellspacing設置為0,造成重合邊線加粗的問題。

 

總結來說,給表格加邊框,有兩種方式:

1、Html屬性,行內加,邊框預設為黑色

複製代碼
<table border="1" cellpadding="2" cellspacing="0" >
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
    </table>
複製代碼

如圖:,這裡就可以看到我剛纔所說的重合邊線加粗的問題,而下麵的方式就明顯不會這樣了

 

2、Css樣式,可以自定義你喜歡的顏色,大小,樣式:

複製代碼
 <style>
        table,table tr th, table tr td { border:1px solid #0094ff; }
        table { width: 200px; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse; padding:2px;}   
    </style>

    <table >
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
        <tr><td>內容</td><td>內容</td><td>內容</td><td>內容</td><td>內容</td></tr>
    </table>
複製代碼

如圖:

經此總結,我發現很多時候我都誤用了表格邊框的很多東西,實際上,用第一種方法的時候就無需使用第二種方法,兩種方式混合在一起使用就會出現我前面說很多問題。

作者:leona

原文鏈接:http://www.cnblogs.com/leona-d/p/5950280.html 

版權聲明:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • jquery中的ajax方法參數總是記不住,這裡記錄一下。 1.url: 要求為String類型的參數,(預設為當前頁地址)發送請求的地址。 2.type: 要求為String類型的參數,請求方式(post或get)預設為get。註意其他http請求方法,例如put和delete也可以使用,但僅部分 ...
  • 作者: 以前在寫項目過程一直都沒有使用過Javascript的setter與getter方法,所以對其是一種要懂不懂的概念;今天看書看到這個知識點,還是模模糊糊的,於是就打算研究研究; Javascript對象的屬性是由名字,值和一組特性構成的。那麼首先,來瞭解一下對象的兩種屬性: + 數據屬性,我 ...
  • 簡介 Vue.use( plugin ):安裝 Vue.js 插件。如果插件是一個對象,必須提供 install 方法。如果插件是一個函數,它會被作為 install 方法。install 方法將被作為 Vue 的參數調用。 當 install 方法被同一個插件多次調用,插件將只會被安裝一次。 Vu ...
  • 項目的GitHub地址:https://github.com/hellobajie/vue-cli-multipage 該腳手架同時支持vux,scss,less 目錄結構 修改配置文件 構建多頁面應用的關鍵在於向配置對象的plugins子項添加多個HtmlWebpackPlugin。 怎樣根據頁面 ...
  • 如上,想要實現左右持續運動,則把該動畫封裝為一個函數,再反覆調用就好。 ...
  • 前言 參考的 "釘釘調試頁面" 實現,僅供學習! 功能為: __PC端編寫代碼,手機端執行__ 解決的痛點是: __避免了調試 應用時重覆寫各種測試頁面__ 源碼與示例 __源碼__ "https://github.com/dailc/node server examples/tree/master ...
  • DOM“天生就慢”,所以前端各大框架都提供了對DOM操作進行優化的辦法,Angular中的是臟值檢查,React首先提出了Virtual Dom,Vue2.0也加入了Virtual Dom,與React類似。 本文將對於Vue 2.5.3版本中使用的Virtual Dom進行分析。 updataCh ...
  • 由於工作需要相容ie7 但是經常需要用到css3的一些效果 為了省時省力 發現了這款比較實用的插件,分享給大家 希望有點幫助。 項目在git上 git地址:https://github.com/gucong3000/CSS3.js ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...