許多方法可以將HTML元素與CSS對齊,但是一起使用或單獨使用它們并不是那么容易。開發(fā)人員所面臨的困難之一就是試圖將元素集中在頁面中間。
因此,在本文中,我將展示一些最常用的方法,即通過使用不同的CSS屬性在水平和垂直方向上居中圖像。
讓我們開始使用3個不同的CSS屬性將圖像水平居中。
使圖像水平居中的第一種方法是使用text-align屬性。但是,僅當(dāng)圖像位于塊級容器(例如<div>)內(nèi)時,此方法才有效:
使圖像居中的另一種方法是使用margin:auto屬性(用于左邊距和右邊距)。但是,單獨使用margin:Auto將不適用于圖像。如果需要使用margin:auto,則還必須使用2個其他屬性。
margin-auto屬性對內(nèi)聯(lián)級別的元素沒有任何影響。由于<img>標(biāo)簽是一個內(nèi)聯(lián)元素,因此我們需要先將其轉(zhuǎn)換為塊級元素:
其次,我們還需要定義寬度。因此,左右邊緣可以占用其余的空白空間并自動對齊,可以這樣解決問題(除非我們給出100%的寬度):
將圖像水平居中的第三種方法是使用display:flex。同樣,我們對容器使用text-align屬性,它也會使用display:flex。但是,僅使用display:flex是不夠的。容器還必須具有一個稱為justify-content的附加屬性。
justify-content屬性與display:flex一起使用,我們可以使用它水平放置圖像的中心。最后,圖像的寬度必須小于容器的寬度,否則,它會占用100%的空間,然后我們就無法對其進行集中化。
1、Display: Flex
對于垂直對齊,使用display:flex確實很有幫助。考慮到我們的容器的高度為800px,但圖像的高度僅為500px:
現(xiàn)在,在這種情況下,向容器中添加一行代碼(align-items:center)就可以了:
如果將align-items屬性與display:flex一起使用,就會將元素垂直放置。
2、位置:絕對和變換屬性
垂直對齊的另一種方法是一起使用position和transform屬性。這個有點復(fù)雜,所以讓我們一步一步地做。
步驟1:定義絕對位置
首先,我們將圖像的定位行為從靜態(tài)更改為絕對:
同樣,它應(yīng)該位于相對放置的容器內(nèi),因此我們添加一個位置:相對于其容器的div。
步驟2:定義頂部和左側(cè)屬性
其次,我們定義圖像的頂部和左側(cè)屬性,并設(shè)置為50%。這會將圖像的起點(左上角)移到容器的中心:
步驟3:定義變換屬性
在第二步的時候已經(jīng)將圖像的一部分移出容器。因此,我們需要將其取回內(nèi)部。在圖像上定義轉(zhuǎn)換屬性,并在其X和Y軸上添加負(fù)50%可以達(dá)到目的:
還可以使用其他方法進行水平和垂直居中,我這里只嘗試了最常用的方法。希望這篇文章可以幫助你了解如何在頁面中心對齊圖像。
TML中的表格是由<table>標(biāo)簽進行定義的,表格在HTML中的表現(xiàn)形式與使用方法與word中的表格非常類似。多數(shù)情況使用Dreamweaver的可視化視圖只做表格更為簡單、方便。本文主要講述如何使用代碼來編寫表格,讓大家掌握表格的代碼書寫格式與其對應(yīng)的屬性。
表格的標(biāo)簽組成
HTML中的表格是由<table>為主體標(biāo)簽,瀏覽器會將該標(biāo)簽解釋為一個表格。表格中的行使用<tr>標(biāo)簽進行定義。<tr>標(biāo)簽為<table>標(biāo)簽的子類,設(shè)置若干個<tr>標(biāo)簽可以將表格分割為若干個行。<td>標(biāo)簽用于定義表格的列,<td>標(biāo)簽為又是<tr>標(biāo)簽的子類,因此每個行都需要設(shè)置相應(yīng)數(shù)量的<td>標(biāo)簽來分割列,形成一個完整的表格。
表格的標(biāo)簽組合關(guān)系為:
<table>
<tr>
<td>我是單元格1</td>
<td>我是單元格2</td>
</tr>
</table>
表格中可以插入文本、圖片、列表、段落、表單、水平線等任何html標(biāo)簽,甚至可以用來做頁面布局。但是table布局存在代碼冗余過長、不符合HTML規(guī)范、搜索引擎不友好等問題。因此建議大家盡量不要使用table進行頁面布局,除非頁面中確實需要一張表格。
剩下的<th>、<thead>、<tbody> 和 <tfoot>很少被用到,這是由于瀏覽器對它們的支持不太好。
表格和邊框?qū)傩?/strong>
表格自身可以定義border屬性來決定表格邊框的寬度,該屬性的值默認(rèn)是以數(shù)字單位進行顯示,例如border=”1″該值的單位為px。注意,不要在border的數(shù)值后面加上任何單位,否該值無法正確識別。
表格的表頭
在<table>中可以通過<th>標(biāo)簽設(shè)置表頭,表頭的<th>標(biāo)簽與<tr>標(biāo)簽屬于平級,并且表頭一般出現(xiàn)在<tr>標(biāo)簽的前面。對于一個表格來說,表頭并不是必須的,可以根據(jù)需要插入表頭。<th>標(biāo)簽內(nèi)的文字會被自動加粗。
單元格的合并
單元格的合并分為垂直合并與水平合并,在合并時需要確定其他行與列中是否有對應(yīng)數(shù)量的單元格。
水平合并單元格使用colspan屬性,其值是用數(shù)字的形式確定需要合并的單元格數(shù)量,例如colspan=”2″即代表向右合并兩個單元格。
垂直合并單元格使用rowspan屬性,與水平合并的屬性相同,同樣也是以數(shù)字形式確定需要合并的單元格數(shù)量,例如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樣式類似的內(nèi)邊距功能。通過在<table>標(biāo)簽內(nèi)定義cellpadding屬性,來為其標(biāo)簽下的所有<td>元素設(shè)置內(nèi)邊距。cellpadding屬性的參數(shù)是值是以數(shù)字的形式來確定邊距的大小,例如cellpadding=”10″ 則表示table中的所有<tr>標(biāo)簽內(nèi)邊距為10px
單元格間距
單元格的間距是設(shè)置<tr>標(biāo)簽的外邊距,這個也與css樣式中的margin類似,通過在<table>標(biāo)簽內(nèi)定義cellspacing屬性,來為其標(biāo)簽下的所有td元素設(shè)置外邊距。該屬性也是以數(shù)字的形式來確定外邊距的大小,例如cellspacing=”10″則表示這個table中的所有<tr>標(biāo)簽的外邊距為10px
為表格設(shè)置背景
表格可以通過background屬性為表格或單元格設(shè)置任意圖片作為背景,其使用方法非常像css中的background。為background設(shè)置對應(yīng)的圖片路徑,即可使單元格顯示相應(yīng)的圖片。例如background=”table_bg.gif”
表格內(nèi)容的對齊排列
表格的對齊分為水平對齊和垂直對齊。它們分別是align屬性與valign屬性,將這兩個屬性插入到對應(yīng)的<td>標(biāo)簽中即可完成單元格內(nèi)文本或圖像的對齊。
水平對齊align分別有三個值:left左對齊、center水平居中、right右對齊
垂直對齊valign也有三個值:top頂端對齊、middle垂直居中、bottom底部對齊、baseline為基線對齊。
其中基線對齊可能無法從字面上理解,其實基線對齊也就是文本出現(xiàn)在表格的中上部而不是正中央。如果文字不大的話,效果和middle差不多,比middle稍微靠上一點。
私信發(fā)送【前端】有驚喜!
多數(shù)PHP程序都使用HTML表單從用戶那里獲取數(shù)據(jù)并計算結(jié)果。
首先創(chuàng)造一個基本的HTML大綱,包含表單控件;然后將控件進行合并(HTML表單必須包括一個提交按鈕,用戶單擊它可以將表單數(shù)據(jù)發(fā)送到服務(wù)器。)一個單獨的HTML頁面可以包含多個表單。
包含表單的HTML結(jié)構(gòu)和和普通的HTML結(jié)構(gòu)一樣。
<HTML>
<HEAD>
<TITLE>標(biāo)題放在這</TITLE>
</HEAD>
<BODY>
表單頁面放在這
</BODY>
</HTML>
在包含表單的HTML頁面中可以使用任何HTML標(biāo)簽。基本的表單使用FROM標(biāo)簽來說明。該標(biāo)簽中METHOD屬性接收GET或POST兩個值中的一個。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數(shù)據(jù),可以是絕對路徑或者相對路徑。
<FORM METHOD="method" ACTION="url">
中間可以放置表單控件
</FORM>
兩個常用的基本控件:文本框和提交按鈕。
文本框:允許用戶鍵入信息以發(fā)送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準(zhǔn)確訪問其內(nèi)容,因此它應(yīng)該是唯一的且符合PHP變量命名規(guī)則(但不需要$符號),單標(biāo)簽。VALUE屬性指明出現(xiàn)在提交按鈕上面的標(biāo)題。創(chuàng)建方式如下:
<INPUT TYPE="TEXT" NAME="text">
提交按鈕:允許用戶將一個表單的內(nèi)容發(fā)送到服務(wù)器,一個HTML表單對應(yīng)應(yīng)該有一個提交按鈕。
示例:一個完整的HTML表單。
<HTML>
<HEAD>
<TITLE>標(biāo)題</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
</FORM>
</BODY>
</HTML>
可以在一個HTML頁面中包含多個表單,注意下一個表單的FORM開始之前需要結(jié)束前一個FORM表單。
<HTML>
<HEAD>
<TITLE>標(biāo)題</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
<BR/>
<BR/>
</FORM>
<FORM METHOD="POST" NAME="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name1">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email1">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data1">
</FORM>
</BODY>
</HTML>
文本框的屬性中,TYPE和NAME是必須的,其余是可選屬性。SIZE屬性用于設(shè)置文本框的可視大小;MAXLENGTH指明用戶鍵入字符的最大長度;VALUE給出了一個最初顯示在文本框中的值。
<input type="text" name="" size="" maxlength="" value="">
文本區(qū)域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區(qū)域內(nèi)可以看到的文本行數(shù),充滿時會滾動。COLS屬性指明可見文本列數(shù)與行數(shù)類似。WRAP屬性指明文本區(qū)域內(nèi)單詞換行的方式,可以指定如下值。該標(biāo)簽為雙標(biāo)簽。
值 | 說明 |
off | 禁止單詞換行但用戶可以輸入換行符強制換行 |
virtual/soft | 各行顯示為換行,但是換行并沒有被發(fā)送到服務(wù)器 |
physica/hard | 啟用了單詞換行 |
<inputarea name="" rows="" cols="" wrap="">
創(chuàng)建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。
<input type="password" name="" size="" maxlength="" value="">
取兩個值中的一個,即二選一。TYPE屬性是必須的,checked屬性出現(xiàn),該復(fù)選框默認(rèn)情況會被選定。value屬性指定復(fù)選框被選定情況下被發(fā)送到服務(wù)器的值,默認(rèn)發(fā)送on值。法如下:
<input type="checkbox" name="" checked value="">
語法與復(fù)選框?qū)傩院x相同,但是TYPE屬性的值必須是RADIO,NAME屬性是必須的。
<input type="radio" name="" checked value="">
用戶可以選擇一個或者多個選項,它是一個滾動菜單。
<select name="" multipile size="">options go here</select>
name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個選項來選擇它們
列表框的單選行為可作為單選按鈕。
<option selected value="text"></options>
<input type="hidden" name="text"value="">
<input type="FILE" name="name" accept="time" value="text">
其中type屬性是必須的。格式通過使用MIME碼指定。常用的格式如下:
超文本標(biāo)記語言文本 .html,.html text/html
普通文本 :txt text/plain
word文檔:application/msword
RTF文本 :rtf application/rtf
GIF圖形 :gif image/gif
JPEG圖形 :jpeg,
jpg: image/jpeg
au聲音文件:au audio/basic
MIDI音樂文件 :mid,.midi audio/midi,audio/x-midi
RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
壓縮文件.rar application/octet-stream
壓縮文件.zip application/x-zip-compressed
TAR文件 .tar application/x-tar
<input type="image" src="url" name="text" align="align">
<input type="reset" value="text">
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。