Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
許多方法可以將HTML元素與CSS對齊,但是一起使用或單獨(dú)使用它們并不是那么容易。開發(fā)人員所面臨的困難之一就是試圖將元素集中在頁面中間。
因此,在本文中,我將展示一些最常用的方法,即通過使用不同的CSS屬性在水平和垂直方向上居中圖像。
讓我們開始使用3個(gè)不同的CSS屬性將圖像水平居中。
使圖像水平居中的第一種方法是使用text-align屬性。但是,僅當(dāng)圖像位于塊級(jí)容器(例如<div>)內(nèi)時(shí),此方法才有效:
使圖像居中的另一種方法是使用margin:auto屬性(用于左邊距和右邊距)。但是,單獨(dú)使用margin:Auto將不適用于圖像。如果需要使用margin:auto,則還必須使用2個(gè)其他屬性。
margin-auto屬性對內(nèi)聯(lián)級(jí)別的元素沒有任何影響。由于<img>標(biāo)簽是一個(gè)內(nèi)聯(lián)元素,因此我們需要先將其轉(zhuǎn)換為塊級(jí)元素:
其次,我們還需要定義寬度。因此,左右邊緣可以占用其余的空白空間并自動(dòng)對齊,可以這樣解決問題(除非我們給出100%的寬度):
將圖像水平居中的第三種方法是使用display:flex。同樣,我們對容器使用text-align屬性,它也會(huì)使用display:flex。但是,僅使用display:flex是不夠的。容器還必須具有一個(gè)稱為justify-content的附加屬性。
justify-content屬性與display:flex一起使用,我們可以使用它水平放置圖像的中心。最后,圖像的寬度必須小于容器的寬度,否則,它會(huì)占用100%的空間,然后我們就無法對其進(jìn)行集中化。
1、Display: Flex
對于垂直對齊,使用display:flex確實(shí)很有幫助??紤]到我們的容器的高度為800px,但圖像的高度僅為500px:
現(xiàn)在,在這種情況下,向容器中添加一行代碼(align-items:center)就可以了:
如果將align-items屬性與display:flex一起使用,就會(huì)將元素垂直放置。
2、位置:絕對和變換屬性
垂直對齊的另一種方法是一起使用position和transform屬性。這個(gè)有點(diǎn)復(fù)雜,所以讓我們一步一步地做。
步驟1:定義絕對位置
首先,我們將圖像的定位行為從靜態(tài)更改為絕對:
同樣,它應(yīng)該位于相對放置的容器內(nèi),因此我們添加一個(gè)位置:相對于其容器的div。
步驟2:定義頂部和左側(cè)屬性
其次,我們定義圖像的頂部和左側(cè)屬性,并設(shè)置為50%。這會(huì)將圖像的起點(diǎn)(左上角)移到容器的中心:
步驟3:定義變換屬性
在第二步的時(shí)候已經(jīng)將圖像的一部分移出容器。因此,我們需要將其取回內(nèi)部。在圖像上定義轉(zhuǎn)換屬性,并在其X和Y軸上添加負(fù)50%可以達(dá)到目的:
還可以使用其他方法進(jìn)行水平和垂直居中,我這里只嘗試了最常用的方法。希望這篇文章可以幫助你了解如何在頁面中心對齊圖像。
技術(shù)等級(jí)】初級(jí)
【承接文章】《CSS文本屬性,讓你的段落更加美觀,前端之路更進(jìn)一步》
本文重點(diǎn)講解CSS技術(shù)中文本樣式的text-align屬性以及”塊級(jí)元素”和“內(nèi)聯(lián)元素”的使用。本文屬于前端開發(fā)的初級(jí)教程,適合于剛剛開始接觸CSS技術(shù)的學(xué)習(xí)者。
一、設(shè)置對齊方式:
CSS技術(shù)利用text-align屬性來設(shè)置對齊方式
首先,在使用該屬性的同時(shí),要明確這是誰相對于誰的對齊方式。讓我們一起來看下列代碼。
<div>
<p style=”text-align:center”></p>
</div>
上述代碼中使用了text-align屬性的標(biāo)記對是<p></p>標(biāo)記對。那么,是誰相對于誰垂直居中了呢?下面列舉了兩種可能的情況:
<p>標(biāo)記對相對于它的容器<div>標(biāo)記對垂直居中
<p>標(biāo)記對的內(nèi)容(即“”文字)相對于<p>標(biāo)記對本身垂直居中。
請大家仔細(xì)想一想,應(yīng)該是上述那種情況?
正確答案是第二種。也就是說:使用了text-align屬性的標(biāo)記對,是這個(gè)標(biāo)記對的內(nèi)容在該標(biāo)記對內(nèi)部實(shí)現(xiàn)了對齊效果,而不是這個(gè)標(biāo)記對在其容器內(nèi)部實(shí)現(xiàn)了對齊效果。
其次,要想實(shí)現(xiàn)文本相對于自身的對齊方式,那么自身的標(biāo)記對必須具備一定的寬度和高度。以上述代碼來說,<p>標(biāo)記對默認(rèn)情況下的寬度為整個(gè)頁面的寬度,也就是說這個(gè)標(biāo)記對自身是有一定的寬度的,同時(shí)內(nèi)部的文本數(shù)量又比較少,所以text-align在使用的過程中是可以看到效果的。
綜合上述的內(nèi)容,可以說text-align屬性在使用時(shí)要注意以下兩點(diǎn):
對齊效果是自身內(nèi)部的文本內(nèi)容相對于自身這個(gè)容器的對齊方式。
標(biāo)記對自身必須具備一定的寬度。
text-align屬性可以有多種取值:
left,左對齊。內(nèi)部文本在自身容器中左對齊
center,居中對齊。內(nèi)部文本在自身容器中居中對齊。
right,右對齊。內(nèi)部文本在自身容器中右對齊。
justify,兩端對齊。內(nèi)部文本在自身容器中兩端對齊,即整個(gè)段落的左側(cè)是整齊的,右側(cè)也是整齊的。這種對齊方式和左對齊是有區(qū)別的。左對齊可以明顯的觀察出段落的右側(cè)是不整齊的。
左對齊和兩端對齊的區(qū)別
從上圖中可以看出,兩端的最右側(cè),也就是深色直線比對的位置。采用的左對齊的段落這條線附近的段落文本是沒有對齊的;而采用了兩端對齊的這條線附近的段落文本是對齊的。
二、塊級(jí)元素與內(nèi)聯(lián)元素
我們將HTML的各個(gè)標(biāo)記,根據(jù)在頁面中展示內(nèi)容的外觀,分為兩類:一類叫做“塊級(jí)元素”,另一類叫做“內(nèi)聯(lián)元素”。
典型的“塊級(jí)元素”是<div></div>標(biāo)記對。
典型的“內(nèi)聯(lián)元素”是<span></span>標(biāo)記對。
這兩個(gè)標(biāo)記對本身沒有任何外觀效果,內(nèi)部可以盛放任何HTML標(biāo)記對,是網(wǎng)頁布局時(shí)常用的兩個(gè)容器。 默認(rèn)情況下,<div></div>標(biāo)記的寬度為頁面的整寬,即一個(gè)<div></div>標(biāo)記占一行,被稱為“塊級(jí)元素”。<span></span>標(biāo)記的寬度為內(nèi)部內(nèi)容的寬度,多個(gè)<span></span>標(biāo)記的內(nèi)容可以在一行內(nèi)顯示,被稱為“行內(nèi)元素”或“內(nèi)聯(lián)元素”。
常用的塊級(jí)元素標(biāo)記還包括:<p></p> <ul></ul> <ol></ol> <li></li> <table></table> <form></form>
常用的內(nèi)聯(lián)元素標(biāo)記還包括:<a></a> <img /> <input /> <select></select> <textarea></textarea>
三、塊級(jí)元素與內(nèi)聯(lián)元素的區(qū)別:
塊級(jí)元素和內(nèi)聯(lián)元素的的區(qū)別可以從下圖中看到。
“塊級(jí)元素”和“內(nèi)聯(lián)元素”的區(qū)別
四、學(xué)習(xí)兩個(gè)新的CSS屬性
我們這里學(xué)習(xí)兩個(gè)簡單的CSS屬性,分別為width和height屬性。
width,為塊級(jí)元素設(shè)置寬度。
height,為塊級(jí)元素設(shè)置高度。
這兩個(gè)屬性的取值必須是帶有單位的數(shù)值。
例:div{width:200px; height:30px;}
上述代碼將頁面中所有的<div></div>標(biāo)記對都設(shè)置為了寬度200像素、高度30像素的矩形。也就是說這樣一來,<div></div>標(biāo)記對再也不占有整個(gè)頁面的整寬了,但是仍然為獨(dú)占一行的情況。
這兩個(gè)屬性是用來設(shè)置元素的寬度和高度的,但是只能適用于塊級(jí)元素。這也是內(nèi)聯(lián)元素沒有寬度的一個(gè)重要原因:因?yàn)槔脀idth屬性為內(nèi)聯(lián)元素設(shè)置寬度是沒有效果的。
下一篇文章中,小海老師會(huì)為大家從細(xì)節(jié)上深入剖析line-height屬性以及該屬性的用法。對于渴望在前端開發(fā)道路上前進(jìn)的你一定不能錯(cuò)過!
如果大家希望得到更加全面的關(guān)于HTML和CSS技術(shù)講解的內(nèi)容,可以私信我,我會(huì)免費(fèi)將小海老師自己編寫的HTML和CSS的PDF教材發(fā)給你,幫助你在前端開發(fā)的道路上闊步前行。
在頭條上也已經(jīng)寫了有十篇文章了。這些文章都是從前端開發(fā)的基礎(chǔ)開始一步一步講起的。我非常希望能有更多的前端開發(fā)初學(xué)者通過我寫的文章,逐步學(xué)到一定的知識(shí),甚至慢慢有了入門的感覺。這些文章都是我這幾年教學(xué)過程中的經(jīng)驗(yàn),每寫一篇時(shí)我都盡量把握好措辭,用簡單易懂的語言描述,同時(shí)精心設(shè)計(jì)版面,讓版面更加豐富,激發(fā)閱讀興趣。所以,每一篇文章可能篇幅不長,但是都要耗費(fèi)小海老師很久的時(shí)間。
希望收藏了我寫的文章的你同時(shí)可以關(guān)注一下“小海前端”,因?yàn)檫@些文章都是連載的,并且是經(jīng)過我系統(tǒng)的歸納過的。關(guān)注“小海前端”,我會(huì)繼續(xù)為大家奉上更加深入的前端開發(fā)文章,也希望更多的初學(xué)者跟著學(xué)下去,我們共同將前端開發(fā)的路努力堅(jiān)持的走下去。
多數(shù)PHP程序都使用HTML表單從用戶那里獲取數(shù)據(jù)并計(jì)算結(jié)果。
首先創(chuàng)造一個(gè)基本的HTML大綱,包含表單控件;然后將控件進(jìn)行合并(HTML表單必須包括一個(gè)提交按鈕,用戶單擊它可以將表單數(shù)據(jù)發(fā)送到服務(wù)器。)一個(gè)單獨(dú)的HTML頁面可以包含多個(gè)表單。
包含表單的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兩個(gè)值中的一個(gè)。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數(shù)據(jù),可以是絕對路徑或者相對路徑。
<FORM METHOD="method" ACTION="url">
中間可以放置表單控件
</FORM>
兩個(gè)常用的基本控件:文本框和提交按鈕。
文本框:允許用戶鍵入信息以發(fā)送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準(zhǔn)確訪問其內(nèi)容,因此它應(yīng)該是唯一的且符合PHP變量命名規(guī)則(但不需要$符號(hào)),單標(biāo)簽。VALUE屬性指明出現(xiàn)在提交按鈕上面的標(biāo)題。創(chuàng)建方式如下:
<INPUT TYPE = "TEXT" NAME="text">
提交按鈕:允許用戶將一個(gè)表單的內(nèi)容發(fā)送到服務(wù)器,一個(gè)HTML表單對應(yīng)應(yīng)該有一個(gè)提交按鈕。
示例:一個(gè)完整的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>
可以在一個(gè)HTML頁面中包含多個(gè)表單,注意下一個(gè)表單的FORM開始之前需要結(jié)束前一個(gè)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給出了一個(gè)最初顯示在文本框中的值。
<input type="text" name="" size="" maxlength="" value="">
文本區(qū)域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區(qū)域內(nèi)可以看到的文本行數(shù),充滿時(shí)會(huì)滾動(dòng)。COLS屬性指明可見文本列數(shù)與行數(shù)類似。WRAP屬性指明文本區(qū)域內(nèi)單詞換行的方式,可以指定如下值。該標(biāo)簽為雙標(biāo)簽。
值 | 說明 |
off | 禁止單詞換行但用戶可以輸入換行符強(qiáng)制換行 |
virtual/soft | 各行顯示為換行,但是換行并沒有被發(fā)送到服務(wù)器 |
physica/hard | 啟用了單詞換行 |
<inputarea name="" rows="" cols="" wrap="">
創(chuàng)建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。
<input type="password" name="" size="" maxlength="" value="">
取兩個(gè)值中的一個(gè),即二選一。TYPE屬性是必須的,checked屬性出現(xiàn),該復(fù)選框默認(rèn)情況會(huì)被選定。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="">
用戶可以選擇一個(gè)或者多個(gè)選項(xiàng),它是一個(gè)滾動(dòng)菜單。
<select name="" multipile size="">options go here</select>
name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個(gè)選項(xiàng)來選擇它們
列表框的單選行為可作為單選按鈕。
<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)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。