CSS(3)實現水平垂直居中效果的總結
CSS實作水平垂直居中對齊
在CSS中實作水平居中,會比較簡單。常見的,如果想實現inline元素或inline-block元素水平居中,可以在其父級塊級元素上設置text-align: center
實現;如果想實現塊級元素的水平居中對齊,可以設定magin: auto
。而如果想實現垂直居中對齊,或許就不太容易。
以下,我總結了一些實現水平垂直居中對齊的一些方法。如果有什麼不足之處,望指出。
水平垂直居中的實作可以分為兩大內容,一是高度隨內容自適應變化,一是固定高度。
固定高度實現水平垂直居中
方法一
最常用的方法是使用height + line-height的方式,設定同樣的值,配合text-align的使用,即可實現文字的水平垂直居中對齊
<p class="container">Hello World!</p>.container { width: 300px; height: 300px; line-height: 300px; text-align: center; border: 1px solid red; }
缺點:固定高度,無法實現兩行文字的垂直居中對齊
方法二
使用絕對定位的方法,配合margin負值使用。可以實現元素的水平垂直居中效果。
<p class="container">Hello World!</p>.container { position: absolute; left: 50%; top: 50%; margin-left: -150px; margin-top: -150px; width: 300px; height: 300px; border: 1px solid red; }
當然了,可以用CSS3的calc函數來簡化上面的CSS程式碼
##
.container { position: absolute; left: calc(50% - 150px); top: calc(50% - 150px); width: 300px; height: 300px; border: 1px solid red; }
<p class="space"></p> <p class="container"> <p class="inner"> hello world! </p> </p>.space { float: left; height: 50%; margin-top: -150px; } .container { clear: both; height: 300px; border: 1px solid red; position: relative; }
position:relative相似。
<p class="container">Hello World!</p>.container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); // 自身宽度和高度的一半 border: 1px solid red; }
缺點:元素脫離文件流。如果需要居中的元素已經在高度上超過了視口,那麼它的頂部會被視口裁切掉。
<p class="container">Hello World!</p>.container { width: 300px; margin: 50% auto 0; border: 1px solid red; tarnsform: translateY(-50%); }
document.body.clientHeight或
document.documentElement.clientHeight的高度,1vh=1%,即1vh等於視口高度的1%。 vh單位的瀏覽器相容性問題可看vh。因此,以上代碼可改為如下,即可達到水平垂直居中效果。
<p class="container">Hello World!</p>.container { width: 300px; margin: 50vh auto 0; transform: translateY(-50%); border: 1px solid red; }
<p class="container"> <p class="inner"> <p>hello world!</p> </p> </p>.container { display: flex; height: 100vh; } .inner { margin: auto; }
display: flex時,
margin: auto不僅可以水平居中,也能夠實現垂直居中。這是因為auto外邊距會平分水平或垂直方向上的額外空間。
justify-content: center來定義彈性項目主軸的對齊方式,
align-items: center來定義彈性項目側軸的對齊方式。
<p class="container"> <p class="inner"> <p>hello world</p> </p> </p>.container { display: flex; justify-content: center; align-items: center; height: 100vh; }
display: table來模擬表格,並設定子元素
display: table -cell,讓其成為表格的某個單元格,同時設定
vertical-align: middle,即可實現垂直居中佈局
<p class="container"> <p class="inner"> hello world! </p> </p>.container { display: table; /* 让p以表格的形式渲染 */ width: 100%; border: 1px solid red; } .inner { display: table-cell; /* 让子元素以表格的单元格形式渲染 */ text-align: center; vertical-align: middle; }
以上是CSS(3)實現水平垂直居中效果的總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

答案:可以使用 Bootstrap 的日期選擇器組件在頁面中查看日期。步驟:引入 Bootstrap 框架。在 HTML 中創建日期選擇器輸入框。 Bootstrap 將自動為選擇器添加樣式。使用 JavaScript 獲取選定的日期。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。
