国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 html教學(xué) CSS樣式設(shè)計小技巧(水平居中,垂直居中)_html/css_WEB-ITnose

CSS樣式設(shè)計小技巧(水平居中,垂直居中)_html/css_WEB-ITnose

Jun 24, 2016 am 11:47 AM

水平居中設(shè)置

(如果有些詞組較陌生,可以快速瀏覽一遍我發(fā)布的隨筆"html常用標(biāo)簽","CSS總結(jié)(上,中,下篇)",再回顧一下)。

☆水平居中設(shè)置-行內(nèi)元素

  我們在實(shí)際工作中常會遇到需要設(shè)置水平居中場景,現(xiàn)在來總結(jié)一下怎么設(shè)置水平居中的。
如果被設(shè)置元素為文本、圖片等行內(nèi)元素時,水平居中是通過給父元素設(shè)置?text-align:center?來實(shí)現(xiàn)的。如下代碼:
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>定寬塊狀元素水平居中</title> 6 <style> 7 div{ 8     border:1px solid red; 9     margin:20px;10 }11 div.txtCenter{12     text-align:center;13 }14 </style>15 </head>16 <body>17 <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中顯示。</div>18 </body>19 </html>

效果圖如下:

☆水平居中設(shè)置-定寬塊狀元素

  當(dāng)被設(shè)置元素為塊狀元素時用 text-align:center 就不起作用了,這時也分兩種情況:定寬塊狀元素和不定寬塊狀元素。先來看看定寬塊狀元素。
  滿足定寬和塊狀兩個條件的元素是可以通過設(shè)置“左右margin”值為“auto”來實(shí)現(xiàn)居中的。我們來看個例子就是設(shè)置 div 這個塊狀元素水平居中:
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>定寬塊狀元素水平居中</title> 6 <style> 7 div{ 8     border:1px solid red; 9     width:500px;10     margin:20px auto;11 }12 </style>13 </head>14 <body>15 <div>我是定寬塊狀元素,哈哈,我要水平居中顯示。</div>16 </body>17 </html>


注意:元素的“上下 margin” 是可以隨意設(shè)置的。

效果圖如下:

☆水平居中設(shè)置-不定寬塊狀元素方法(一)

  在實(shí)際工作中我們會遇到需要為“不定寬度的塊狀元素”設(shè)置居中,比如網(wǎng)頁上的分頁導(dǎo)航,因?yàn)榉猪摰臄?shù)量是不確定的,所以我們不能通過設(shè)置寬度來限制它的彈性。
不定寬度的塊狀元素有三種方法居中(這三種方法目前使用的都比較多):
1.加入 table 標(biāo)簽
2.設(shè)置 display;inline 方法
3.設(shè)置 position:relative 和 left:50%;
先來看第一種方法:
第一步:為需要設(shè)置的居中的元素外面加入一個 table 標(biāo)簽 ( 包括 、、 )。
第二步:為這個 table 設(shè)置“左右 margin 居中”(這個和定寬塊狀元素的方法一樣)。
舉例如下:
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>不定寬塊狀元素水平居中</title> 6 <style> 7 table{ 8     margin:0 auto; 9 }10 ul{list-style:none;margin:0;padding:0;}11 li{float:left;display:inline;margin-right:8px;}12 </style>13 </head>14 <body>15 <div>16 <table>17   <tbody>18     <tr><td>19     <ul>20         <li><a href="#">1</a></li>21         <li><a href="#">2</a></li>22         <li><a href="#">3</a></li>23     </ul>24     </td></tr>25   </tbody>26 </table>27 </div>28 </body>29 </html>

效果圖如下:

☆水平居中設(shè)置-不定寬塊狀元素方法(二)

  第二種方法:改變塊級元素的 dispaly 為 inline 類型,然后使用 text-align:center 來實(shí)現(xiàn)居中效果。如下例子:
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>不定寬塊狀元素水平居中</title> 6 <style> 7 .container{text-align:center;} 8 .container ul{list-style:none;margin:0;padding:0;display:inline;} 9 .container li{margin-right:8px;display:inline;}10 </style>11 </head>12 13 <body>14 <div class="container">15     <ul>16         <li><a href="#">1</a></li>17         <li><a href="#">2</a></li>18         <li><a href="#">3</a></li>19     </ul>20 </div>21 </body>22 </html>

這種方法相比第一種方法的優(yōu)勢是不用增加無語義標(biāo)簽,簡化了標(biāo)簽的嵌套深度,但也存在著一些問題:它將塊狀元素的 display 類型改為 inline,變成了行內(nèi)元素,所以少了一些功能,比如設(shè)定長度值。(效果圖如方法一圖)

☆水平居中設(shè)置-不定寬塊狀元素方法(三)

  方法三:通過給父元素設(shè)置 float,然后給父元素設(shè)置 position:relative 和 left:50%,子元素設(shè)置 position:relative 和 left:-50% 來實(shí)現(xiàn)水平居中。
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>不定寬塊狀元素水平居中</title> 6 <style> 7 .container{ 8     float:left; 9     position:relative;10     left:50%11 }12 .container ul{13     list-style:none;14     margin:0;15     padding:0;16     17     position:relative;18     left:-50%;19 }20 .container li{float:left;display:inline;margin-right:8px;}21 </style>22 </head>23 24 <body>25 <div class="container">26     <ul>27         <li><a href="#">1</a></li>28         <li><a href="#">2</a></li>29         <li><a href="#">3</a></li>30     </ul>31 </div>32 </body>33 </html>

  這種方法可以保留塊狀元素仍以 display:block 的形式顯示,優(yōu)點(diǎn)不添加無語議表標(biāo)簽,不增加嵌套深度,但它的缺點(diǎn)是設(shè)置了 position:relative,帶來了一定的副作用。這三種方法使用得都非常廣泛,各有優(yōu)缺點(diǎn),具體選用哪種方法,可以視具體情況而定。(效果圖如方法一圖)

垂直居中設(shè)置

☆垂直居中-父元素高度確定的單行文本

  父元素高度確定的單行文本的豎直居中的方法是通過設(shè)置父元素的 height 和 line-height 高度一致來實(shí)現(xiàn)的。如下代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>垂直居中</title> 6 <style> 7 .wrap h2{ 8     margin:0; 9     height:100px;10    line-height:100px;11     background:#ccc;12 }13 </style>14 </head>15 <body>16 <div class="wrap">17     <h2>hello,world!</h2>18 </div>19 </body>20 </html>

效果圖:

☆垂直居中-父元素高度確定的多行文本(方法一)

  父元素高度確定的多行文本、圖片、塊狀元素的豎直居中的方法有兩種:
  方法一:使用插入 table (包括tbody、tr、td)標(biāo)簽,同時設(shè)置 vertical-align:middle。
  說到豎直居中,css 中有一個用于豎直居中的屬性 vertical-align,但這個樣式只有在父元素為 td 或 th 時,才會生效。所以又要插入 table 標(biāo)簽了。下面看一下例子:
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta  charset="utf-8"> 5 <title>父元素高度確定的多行文本</title> 6 <style> 7   .wrap{height:300px;background:#ccc} 8 </style> 9 </head>10 <body>11 <table><tbody><tr><td class="wrap">12 <div>13     <p>看我是否可以居中。</p>14     <p>看我是否可以居中。</p>15     <p>看我是否可以居中。</p>16     <p>看我是否可以居中。</p>17     <p>看我是否可以居中。</p>18 </div>19 </td></tr></tbody></table>20 </body>21 </html>

注:因?yàn)?td 標(biāo)簽?zāi)J(rèn)情況下就默認(rèn)設(shè)置了 vertical-align 為 middle,所以我們不需要顯式地設(shè)置了。

效果圖如下:

☆垂直居中-父元素高度確定的多行文本(方法二)

  在 chrome、firefox 及 IE8 以上的瀏覽器下可以設(shè)置塊級元素的 display 為 table-cell,激活 vertical-align 屬性,但注意 IE6、7 并不支持這個樣式。
html代碼:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta  charset="utf-8"> 5 <title>父元素高度確定的多行文本</title> 6 <style> 7 .container{ 8     height:300px; 9     background:#ccc;10     display:table-cell;/*IE8以上及Chrome、Firefox*/11     vertical-align:middle;/*IE8以上及Chrome、Firefox*/12 }13 </style>14 </head>15 16 <body>17 <div class="container">18     <div>19         <p>看我是否可以居中。</p>20         <p>看我是否可以居中。</p>21         <p>看我是否可以居中。</p>22         <p>看我是否可以居中。</p>23         <p>看我是否可以居中。</p>24     </div>25 </div>26 </body>27 </html>

  這種方法的好處是不用添加多余的無意義的標(biāo)簽,但缺點(diǎn)也很明顯,它的兼容性不是很好,不兼容 IE6、7。(效果圖如方法一圖)

隱形改變display類型

☆隱形改變display類型

  有一個有趣的現(xiàn)象就是當(dāng)為元素(不論之前是什么類型元素,display:none 除外)設(shè)置以下 兩句之一:
  position : absolute
  float : left 或 float:right
  元素會自動變?yōu)橐?display:inline-block 的方式顯示,當(dāng)然也可以設(shè)置元素的 width 和 height 了且默認(rèn)寬度不占滿父元素。
如下面的代碼,小伙伴們都知道 a 標(biāo)簽是行內(nèi)元素,所以設(shè)置它的 width 是 沒有效果的,但是設(shè)置為 position:absolute 以后,就可以了。

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta  charset="utf-8"> 5 <title>隱性改變display類型</title> 6 <style> 7 .container a{ 8     position:absolute; 9     width:200px;10     background:#ccc;11     12 }13 </style>14 </head>15 <body>16 <div class="container">17     <a href="#" title="">查看效果</a>18 </div>19 </body>20 </html>

?

效果圖如下:

?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何了解最新的HTML標(biāo)準(zhǔn)和最佳實(shí)踐? 我如何了解最新的HTML標(biāo)準(zhǔn)和最佳實(shí)踐? Jun 20, 2025 am 08:33 AM

要跟上HTML標(biāo)準(zhǔn)和最佳實(shí)踐,關(guān)鍵在於有意為之而非盲目追隨。首先,關(guān)注官方來源如WHATWG和W3C的摘要或更新日誌,了解新標(biāo)籤(如)和屬性,將其作為參考解決疑難問題;其次,訂閱可信的網(wǎng)頁開發(fā)新聞通訊和博客,每週花10-15分鐘瀏覽更新,關(guān)注實(shí)際用例而非僅收藏文章;再次,使用開發(fā)者工具和linters如HTMLHint,通過即時反饋優(yōu)化代碼結(jié)構(gòu);最後,與開發(fā)者社區(qū)互動,分享經(jīng)驗(yàn)並學(xué)習(xí)他人實(shí)戰(zhàn)技巧,從而持續(xù)提升HTML技能。

如何使用元素來表示文檔的主要內(nèi)容? 如何使用元素來表示文檔的主要內(nèi)容? Jun 19, 2025 pm 11:09 PM

使用標(biāo)籤的原因是提升網(wǎng)頁的語義化結(jié)構(gòu)和可訪問性,使屏幕閱讀器和搜索引擎更易理解頁面內(nèi)容,並允許用戶快速跳轉(zhuǎn)至核心內(nèi)容。以下是關(guān)鍵要點(diǎn):1.每個頁面應(yīng)僅包含一個元素;2.不應(yīng)包括跨頁面重複的內(nèi)容(如側(cè)邊欄或頁腳);3.可與ARIA屬性結(jié)合使用以增強(qiáng)無障礙體驗(yàn)。通常位於和之後、之前,用於包裹唯一的頁面內(nèi)容,例如文章、表單或產(chǎn)品詳情,並應(yīng)避免嵌套在、或中;為提高輔助功能,可使用aria-labelledby或aria-label明確標(biāo)識部分。

如何創(chuàng)建基本的HTML文檔? 如何創(chuàng)建基本的HTML文檔? Jun 19, 2025 pm 11:01 PM

要創(chuàng)建一個基本的HTML文檔,首先需要了解其基本結(jié)構(gòu)並按照標(biāo)準(zhǔn)格式編寫代碼。 1.開始時使用聲明文檔類型;2.使用標(biāo)籤包裹整個內(nèi)容;3.在其中包含和兩個主要部分,用於存放元數(shù)據(jù)如標(biāo)題、樣式錶鍊接等,而則包含用戶可見的內(nèi)容如標(biāo)題、段落、圖片和鏈接;4.保存文件為.html格式並在瀏覽器中打開查看效果;5.隨後可逐步添加更多元素以豐富頁面內(nèi)容。遵循這些步驟即可快速構(gòu)建一個基礎(chǔ)網(wǎng)頁。

如何使用 如何使用 Jun 19, 2025 pm 11:41 PM

要創(chuàng)建HTML複選框,需使用type屬性設(shè)為checkbox的元素。 1.基本結(jié)構(gòu)包含id、name和label標(biāo)籤,確保點(diǎn)擊文字可切換選項(xiàng);2.多個相關(guān)複選框應(yīng)使用相同name但不同value,並用fieldset包裹提升可訪問性;3.自定義樣式時隱藏原生控件並用CSS設(shè)計替代元素,同時保持功能完整;4.確??捎眯?,配對label、支持鍵盤導(dǎo)航且避免僅依賴視覺提示。以上步驟能幫助開發(fā)者正確實(shí)現(xiàn)兼具功能與美觀的複選框組件。

如何最小化HTML文件的大小? 如何最小化HTML文件的大??? Jun 24, 2025 am 12:53 AM

要減小HTML文件大小需清理冗余代碼、壓縮內(nèi)容并優(yōu)化結(jié)構(gòu)。1.刪除未使用的標(biāo)簽、注釋和多余空白以減少體積;2.將內(nèi)聯(lián)CSS和JavaScript移至外部文件并合并多個腳本或樣式塊;3.在不影響解析的前提下簡化標(biāo)簽語法,如省略可選閉合標(biāo)簽或使用簡短屬性;4.清理后啟用Gzip或Brotli等服務(wù)器端壓縮技術(shù)進(jìn)一步縮減傳輸體積。這些步驟可在不犧牲功能的前提下顯著提升頁面加載性能。

隨著時間的流逝,HTML如何發(fā)展,其歷史上的關(guān)鍵里程碑是什麼? 隨著時間的流逝,HTML如何發(fā)展,其歷史上的關(guān)鍵里程碑是什麼? Jun 24, 2025 am 12:54 AM

htmlhasevolvedscreatscreationtomeetthegrowingdemandsofwebdevelopersandusers.inatelyallyasimplemarkuplanguageforsharingdocuments,ithasundergonemajorupdates,包括html.2.0,包括wheintrodistusefforms;

如何使用元素代表文檔或部分的頁腳? 如何使用元素代表文檔或部分的頁腳? Jun 25, 2025 am 12:57 AM

是HTML5中用於定義頁面或內(nèi)容區(qū)塊底部的語義化標(biāo)籤,通常包含版權(quán)信息、聯(lián)繫方式或?qū)Ш芥溄拥?;它可置於頁面底部或嵌套在、等?biāo)籤內(nèi)作為區(qū)塊尾部;使用時應(yīng)注意避免重複濫用及放入無關(guān)內(nèi)容。

如何使用Tabindex屬性來控制元素的選項(xiàng)卡順序? 如何使用Tabindex屬性來控制元素的選項(xiàng)卡順序? Jun 24, 2025 am 12:56 AM

ThetabindexattributecontrolshowelementsreceivefocusviatheTabkey,withthreemainvalues:tabindex="0"addsanelementtothenaturaltaborder,tabindex="-1"allowsprogrammaticfocusonly,andtabindex="n"(positivenumber)setsacustomtabbing

See all articles