這些HTML、CSS知識點,面試和平時開發都需要 No10-No11(知識點:表格操作、代碼編寫規則)

來源:互聯網
上載者:User

標籤:targe   情境   顯示   data   內容   header   display   toolbar   lock   

系列知識點匯總

1.基礎篇 

     這些HTML、CSS知識點,面試和平時開發都需要 No1-No4(知識點:HTML、CSS、盒子模型、內容布局)

     這些HTML、CSS知識點,面試和平時開發都需要 No5-No7(知識點:文字設定、設定背景、資料列表)

     這些HTML、CSS知識點,面試和平時開發都需要 No8-No9(知識點:媒體操作、構建表單)

     這些HTML、CSS知識點,面試和平時開發都需要 No10-No11(知識點:表格操作、代碼編寫規則)

2.進階篇

    如何提升我的HTML&CSS技術,編寫有結構的代碼

No10.表格式資料操作

1.Table 元素

    (1)一般元素:table、tr(table row)、td(table data)、th(table head)。

    (2)結構化元素:caption、thead、tbody、tfoot。

    (3)元素說明:table的head、body、foot可把表格分組顯示,頭部資訊放在thead中,body放在tbody中,末尾總結資訊放在tfoot中。例如:

<table>    <caption>        遲到人員統計    </caption>    <thead>        <tr>            <th>姓名</th>            <th>遲到次數</th>        </tr>    </thead>    <tbody>        <tr>            <td>張三</td>            <td>2</td>        </tr>    </tbody>    <tfoot>        <tr>            <td colspan="2">總人數: 33</td>        </tr>    </tfoot></table>

    (4)table邊框border間隙設定:border-collapse(值包含collapse、separate、inherit)邊框間隙是否可見、border-spacing儲存格與儲存格之間border的空隙寬度。例如下面的樣式設定border間隙可見,間隙寬度為5px:

table{    border-collapse: separate;    border-spacing: 5px;    border: 1px solid red;}

     (5)如何顯示行分割線:首先要設定border間隙border-collapse為collapse,然後設定th和td的border-bottom。樣式代碼如下:

table{    border-collapse: collapse;}td, th{    border-bottom: 1px solid #cecfd5;}tfoot tr:last-child td{    border-bottom: none;}
 

    (6)交替行背景設定:通過偽類別選取器:nth-child()方法以及參數even和odd選中奇數或偶數行可實現奇偶行交替顯示。樣式代碼如下:

table{    border-collapse: collapse;}thead{    background: #395870;    color: #fff;}tbody tr:nth-child(even){    background: #f0f0f2;}

    展示效果如下:

    (7)border-collapse屬性說明:建議設定值為separate,如果不設定為separate,帶邊框的body和foot比head寬一些。所以一般都建議設定border-collapse為separate並且border-spacing為0。下面代碼實現帶邊框的交替行背景:

table{    border-collapse: separate;    border-spacing: 0;}thead{    background: #395870;    color: #fff;}th, td{    padding: 10px 15px;}td{    border-bottom: 1px solid #cecfd5;    border-right: 1px solid #cecfd5;} td:first-child{     border-left: 1px solid #cecfd5; }tbody tr:nth-child(even){    background: #f0f0f2;}

    實現效果如下:

2.本文對齊

    (1)對齊屬性:通過text-align、vertical-align設定儲存格對象方式。

    (2)對齊規則:name和desc等文本資訊一般靠左對齊,而數字類型一般靠右對齊。

3.選取器

    (1):first-child、:last-child:例如p:first-child{}選擇父元素中第一個子項目並且這個元素名稱是p。last-child同理。

    (2):nth-child(even/odd):選擇奇、偶元素。在表格交替設定背景色中用的比較多,例如: tbody tr:nth-child(even)表示賽選tbody中tr是偶數行的tr。

    (3):first-of-type、last-of-type、only-of-type:和first-child或者last-child相似,分別表示選擇包含父類的第一個元素、選擇包含父類的最後一個元素、選擇父元素只有一個元素的元素。例如下面代碼錶示賽選tr下只有一個td元素的所有所有td元素:

tbody td:only-of-type {    padding-left: 0;    padding-right: 0;}

    (4):first-child和:first-of-type區別:first-child篩選的元素必須是父元素的第一個元素,而first-of-type篩選的元素可以不用是父元素的第一個元素,只要被父元素包含即可篩選到。下面的代碼中first-child值篩選到第一個div下的p元素,而first-of-type兩個div下的p元素都篩選到了。

<!DOCTYPE HTML><html>    <head>        <meta charset="utf-8">        <style type="text/css">             p:first-child{                 color: red;             }            p:first-of-type{                color: blue;            }        </style>    </head>    <body>        <div class="box">            <div>                <p>111</p>            </div>            <div>                <span>                </span>                <p>222</p>            </div>        </div>    </body></html>
No11.怎樣寫出好的代碼

1.常見規則

    (1)添加DOCTYPE:正確的文檔結構都必須包含<DOCTYPE html>聲明。

    (2)小寫規則:元素名稱、屬性、值都使用小寫。

    (3)引號使用:堅持使用雙引號而不使用單引號。

    (4)boolean值屬性:屬性的實值型別為布爾類型時省略布爾值。例如:<checkbox checked></checkbox>。

    (5)id和class命名:使用實際使用情境來命名,例如設定一個class為red,red表示的展示效果而不是情境。代碼如下:

Bad:<p class="red">Error! Please try again.</p>Good:<p class="alert">Error! Please try again.</p>

    (6)image標記alt屬性:image必須標記可代替圖片的文本資訊alt屬性。例如:

Bad:<img src="puppy.jpg">Good:<img src="puppy.jpg" alt="A beautiful, two-year-old hound mix puppy">

    (7)內容和樣式分割:不要把樣式嵌入到html內容中。一方面增加頁面載入,另一方面難維護。例如:

Bad:<p style="color: #393; font-size: 24px;">Thank you!</p>Good:<p class="alert-success">Thank you!</p>

    (8)少使用div元素:盡量多使用結構化元素,div使用太多導致頁面太臃腫並且難維護。例如:

Bad:<div class="article">    <div class="headline">Headlines Across the World</div>    </div></div>Good:<div class="container">    <article>        <h1>Headlines Across the World</h1>    </article></div>

2.CSS代碼規則

    (1)使用注釋組織代碼:使用注釋組織分組樣式

Bad:header { ... }article { ... }.btn { ... }Good:/* Primary header */header { ... }/* Featured article */article { ... }/* Buttons */.btn { ... }

    (2)使用多行和空格分割樣式

bad:a,.btn{background:#aaa;color:#f60;font-size:18px;padding:6px;}Good:a,.btn {    background: #aaa;    color: #f60;    font-size: 18px;    padding: 6px;}

    (3)class命名:命名要表示實際意義,保持和css語義一致,使用小寫字母和連字號。例如:

Bad:.Red_Box { ... }Good:.alert-message { ... }

    (4)選取器定義:不要使用id來定義,選取器深度最好不要超過2到3級,中間過度定位的選取器盡量移除。像.new li a中的li就可移除掉。例如:

Bad:#aside #featured ul.news li a { ... }#aside #featured ul.news li a em.special { ... }Good:.news a { ... }.news .special { ... }

    (5)使用簡短屬性:一個border如果同時設定了border-bottom、border-top、border-right、border-left,那麼可使用border的簡寫方式。如果border只需設定一個方向,其他保持繼承。那麼可使用單個方向如border-left。例如:

Bad:img {    margin-top: 5px;    margin-right: 10px;    margin-bottom: 5px;    margin-left: 10px;}button {    padding: 0 0 0 20px;}Good:img {    margin: 5px 10px;}button {    padding-left: 20px;}

    (6)color屬性值:盡量使用簡單的十六進位表示,並且都小寫。例如:

Bad:.module {    background: #DDDDDD;    color: #FF6600;}Good:.module {    background: #ddd;    color: #f60;}

   (7)value為0規則:刪除屬性值為0的單位。例如:

Bad:div {    margin: 20px 0px;    letter-spacing: 0%;    padding: 0px 5px;}Good:div {    margin: 20px 0;    letter-spacing: 0;    padding: 0 5px;}

    (8)供應商屬性:把供應商屬性分組排列。雖然現在很多瀏覽器都支援CSS3樣式,但為了保證相容性還是需要添加上供應商樣式。例如:

div {    background: -webkit-linear-gradient(#a1d3b0, #f6f1d3);    background: -moz-linear-gradient(#a1d3b0, #f6f1d3);        background: linear-gradient(#a1d3b0, #f6f1d3);    -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;    box-sizing: border-box;}

這些HTML、CSS知識點,面試和平時開發都需要 No10-No11(知識點:表格操作、代碼編寫規則)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.