能優化-學習CSS布局:簡單表格布局代碼示例
CSS是現代Web設計和開發的必備技能之一。而表格布局是Web頁面中常用的布局之一,用于展示數據和信息。在這篇文章中,我們將介紹如何使用CSS創建一個簡單的表格布局,并提供代碼示例,幫助您更好地了解CSS的表格布局。
HTML代碼
在CSS中創建表格布局之前,我們首先需要創建表格結構的HTML代碼。下面是一個簡單的表格結構的HTML代碼示例:
html
<table>
<thead>
<tr>
<th>姓名</th>
<th>年齡</th>
<th>性別</th>
</tr>
</thead>
<tbody>
<tr>
<td>張三</td>
<td>20</td>
<td>男</td>
</tr>
<tr>
<td>李四</td>
<td>25</td>
<td>女</td>
</tr>
<tr>
<td>王五</td>
<td>30</td>
<td>男</td>
</tr>
</tbody>
</table>
在這個示例中,我們使用<table>元素創建了一個表格,使用<thead>元素創建了表格頭部,使用<tbody>元素創建了表格主體,使用<tr>元素創建了表格行,使用<th>和<td>元素分別創建了表格頭和單元格。
CSS代碼
在HTML代碼完成后,我們需要使用CSS樣式來創建表格布局。下面是一個簡單的CSS樣式代碼示例:
css
table {
border-collapse: collapse;
width: 100%;
text-align: center;
}
thead th {
background-color: #eee;
font-weight: bold;
}
tbody td {
border: 1px solid #ddd;
padding: 8px;
}
tbody tr:nth-child(even) {
background-color: #f2f2f2;
}
在這個示例中,我們使用了border-collapse屬性來將表格邊框合并為單一的邊框,使用width屬性將表格寬度設置為100%,使用text-align屬性將表格內容居中對齊。使用thead和tbody選擇器來定義表格頭和表格主體的樣式,使用background-color屬性來設置表格頭的背景顏色和字體加粗,使用border和padding屬性來定義表格單元格的邊框和內邊距,使用nth-child偽類選擇器來為奇數行和偶數行設置不同的背景顏色。
TML中的表格是由<table>標簽進行定義的,表格在HTML中的表現形式與使用方法與word中的表格非常類似。多數情況使用Dreamweaver的可視化視圖只做表格更為簡單、方便。本文主要講述如何使用代碼來編寫表格,讓大家掌握表格的代碼書寫格式與其對應的屬性。
表格的標簽組成
HTML中的表格是由<table>為主體標簽,瀏覽器會將該標簽解釋為一個表格。表格中的行使用<tr>標簽進行定義。<tr>標簽為<table>標簽的子類,設置若干個<tr>標簽可以將表格分割為若干個行。<td>標簽用于定義表格的列,<td>標簽為又是<tr>標簽的子類,因此每個行都需要設置相應數量的<td>標簽來分割列,形成一個完整的表格。
表格的標簽組合關系為:
<table>
<tr>
<td>我是單元格1</td>
<td>我是單元格2</td>
</tr>
</table>
表格中可以插入文本、圖片、列表、段落、表單、水平線等任何html標簽,甚至可以用來做頁面布局。但是table布局存在代碼冗余過長、不符合HTML規范、搜索引擎不友好等問題。因此建議大家盡量不要使用table進行頁面布局,除非頁面中確實需要一張表格。
剩下的<th>、<thead>、<tbody> 和 <tfoot>很少被用到,這是由于瀏覽器對它們的支持不太好。
表格和邊框屬性
表格自身可以定義border屬性來決定表格邊框的寬度,該屬性的值默認是以數字單位進行顯示,例如border=”1″該值的單位為px。注意,不要在border的數值后面加上任何單位,否該值無法正確識別。
表格的表頭
在<table>中可以通過<th>標簽設置表頭,表頭的<th>標簽與<tr>標簽屬于平級,并且表頭一般出現在<tr>標簽的前面。對于一個表格來說,表頭并不是必須的,可以根據需要插入表頭。<th>標簽內的文字會被自動加粗。
單元格的合并
單元格的合并分為垂直合并與水平合并,在合并時需要確定其他行與列中是否有對應數量的單元格。
水平合并單元格使用colspan屬性,其值是用數字的形式確定需要合并的單元格數量,例如colspan=”2″即代表向右合并兩個單元格。
垂直合并單元格使用rowspan屬性,與水平合并的屬性相同,同樣也是以數字形式確定需要合并的單元格數量,例如rowspan=”2″代表向下合并兩個單元格。
實例演示代碼:
<table border=“1”>
<tr>
<th>姓名</th>
<th colspan=“2”>電話</th>
</tr>
<tr>
<td>Bill Gates</td>
<td>555 77 854</td>
<td>555 77 855</td>
</tr>
</table><h4>橫跨兩行的單元格:</h4>
<table border=“1”>
<tr>
<th>姓名</th>
<td>Bill Gates</td>
</tr>
<tr>
<th rowspan=“2”>電話</th>
<td>555 77 854</td>
</tr>
<tr>
<td>555 77 855</td>
</tr>
</table>
單元格邊距
表格具有與padding樣式類似的內邊距功能。通過在<table>標簽內定義cellpadding屬性,來為其標簽下的所有<td>元素設置內邊距。cellpadding屬性的參數是值是以數字的形式來確定邊距的大小,例如cellpadding=”10″ 則表示table中的所有<tr>標簽內邊距為10px
單元格間距
單元格的間距是設置<tr>標簽的外邊距,這個也與css樣式中的margin類似,通過在<table>標簽內定義cellspacing屬性,來為其標簽下的所有td元素設置外邊距。該屬性也是以數字的形式來確定外邊距的大小,例如cellspacing=”10″則表示這個table中的所有<tr>標簽的外邊距為10px
為表格設置背景
表格可以通過background屬性為表格或單元格設置任意圖片作為背景,其使用方法非常像css中的background。為background設置對應的圖片路徑,即可使單元格顯示相應的圖片。例如background=”table_bg.gif”
表格內容的對齊排列
表格的對齊分為水平對齊和垂直對齊。它們分別是align屬性與valign屬性,將這兩個屬性插入到對應的<td>標簽中即可完成單元格內文本或圖像的對齊。
水平對齊align分別有三個值:left左對齊、center水平居中、right右對齊
垂直對齊valign也有三個值:top頂端對齊、middle垂直居中、bottom底部對齊、baseline為基線對齊。
其中基線對齊可能無法從字面上理解,其實基線對齊也就是文本出現在表格的中上部而不是正中央。如果文字不大的話,效果和middle差不多,比middle稍微靠上一點。
私信發送【前端】有驚喜!
網頁布局有很多種方式,一般分為以下幾個部分:頭部區域、菜單導航區域、內容區域、底部區域。
頭部區域位于整個網頁的頂部,一般用于設置網頁的標題或者網頁的 logo:
例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS 項目(runoob.com)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0;
}
/* 頭部樣式 */
.header {
background-color: #f1f1f1;
padding: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="header">
<h1>頭部區域</h1>
</div>
</body>
</html>
菜單導航條包含了一些鏈接,可以引導用戶瀏覽其他頁面:
例
/* 導航條 */
.topnav {
overflow: hidden;
background-color: #333;
}
/* 導航鏈接 */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* 鏈接 - 修改顏色 */
.topnav a:hover {
background-color: #ddd;
color: black;
}
內容區域一般有三種形式:
不相等的列一般是在中間部分設置內容區域,這塊也是最大最主要的,左右兩次側可以作為一些導航等相關內容,這三列加起來的寬度是 100%。
例:
.column {
float: left;
}
/* 左右側欄的寬度 */
.column.side {
width: 25%;
}
/* 中間列寬度 */
.column.middle {
width: 50%;
}
/* 響應式布局 - 寬度小于600px時設置上下布局 */
@media screen and (max-width: 600px) {
.column.side, .column.middle {
width: 100%;
}
}
底部區域在網頁的最下方,一般包含版權信息和聯系方式等。
例
.footer {
background-color: #F1F1F1;
text-align: center;
padding: 10px;
}
通過以上等學習我們來創建一個響應式等頁面,頁面的布局會根據屏幕的大小來調整:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>項目</title>
<style>
* {
box-sizing: border-box;
}
body {
font-family: Arial;
padding: 10px;
background: #f1f1f1;
}
/* 頭部標題 */
.header {
padding: 30px;
text-align: center;
background: white;
}
.header h1 {
font-size: 50px;
}
/* 導航條 */
.topnav {
overflow: hidden;
background-color: #333;
}
/* 導航條鏈接 */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* 鏈接顏色修改 */
.topnav a:hover {
background-color: #ddd;
color: black;
}
/* 創建兩列 */
/* Left column */
.leftcolumn {
float: left;
width: 75%;
}
/* 右側欄 */
.rightcolumn {
float: left;
width: 25%;
background-color: #f1f1f1;
padding-left: 20px;
}
/* 圖像部分 */
.fakeimg {
background-color: #aaa;
width: 100%;
padding: 20px;
}
/* 文章卡片效果 */
.card {
background-color: white;
padding: 20px;
margin-top: 20px;
}
/* 列后面清除浮動 */
.row:after {
content: "";
display: table;
clear: both;
}
/* 底部 */
.footer {
padding: 20px;
text-align: center;
background: #ddd;
margin-top: 20px;
}
/* 響應式布局 - 屏幕尺寸小于 800px 時,兩列布局改為上下布局 */
@media screen and (max-width: 800px) {
.leftcolumn, .rightcolumn {
width: 100%;
padding: 0;
}
}
/* 響應式布局 -屏幕尺寸小于 400px 時,導航等布局改為上下布局 */
@media screen and (max-width: 400px) {
.topnav a {
float: none;
width: 100%;
}
}
</style>
</head>
<body>
<div class="header">
<h1>我的網頁</h1>
<p>重置瀏覽器大小查看效果。</p>
</div>
<div class="topnav">
<a href="#">鏈接</a>
<a href="#">鏈接</a>
<a href="#">鏈接</a>
<a href="#" style="float:right">鏈接</a>
</div>
<div class="row">
<div class="leftcolumn">
<div class="card">
<h2>文章標題</h2>
<h5>xx 年xx月 xx日</h5>
<div class="fakeimg" style="height:200px;"><img src="img/bird.png"></div>
<p>文本...</p>
<p>當熱誠變成習慣,恐懼和憂慮即無處容身。缺乏熱誠的人也沒有明確的目標。熱誠使想象的輪子轉動。一個人缺乏熱誠就象汽車沒有汽油。
善于安排玩樂和工作,兩者保持熱誠,就是最快樂的人。熱誠使平凡的話題變得生動。!</p>
</div>
<div class="card">
<h2>文章標題</h2>
<h5>xx 年 xx 月xx日</h5>
<div class="fakeimg" style="height:200px;"><img src="img/border.png"></div>
<p>文本...</p>
<p>一切事無法追求完美,唯有追求盡力而為。這樣心無壓力,出來的結果反而會更好!</p>
</div>
</div>
<div class="rightcolumn">
<div class="card">
<h2>關于我</h2>
<div class="fakeimg" style="height:100px;"></div>
<p>6666</p>
</div>
<div class="card">
<h3>熱門文章</h3>
<div class="fakeimg"><img src="img/fy2_wp.png">\</div>
</div>
<div class="card">
<h3>關注我</h3>
<p>本站發布的系統與軟件僅為個人學習測試使用,請在下載后24小時內刪除,
不得用于任何商業用途,否則后果自負,請支持購買正版軟件!如侵犯到您的權益,請及時通知我們,我們會及時處理。
聲明:為非贏利性網站 不接受任何贊助和廣告。</p>
</div>
</div>
</div>
<div class="footer">
<h2>底部區域</h2>
</div>
</body>
</html>
本文主要介紹了Html的網頁布局結構,如何去了解網絡的布局,介紹了常見的移動設備的三種網頁模式,最后通過一個小項目,總結之前講解的內容。
代碼很簡單,希望可以幫助你學習。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。