搜尋
首頁web前端css教學關於css水平居中的分析

水平居中是常用的幾種佈局方式之一。主要分為行內元素的居中,塊元素的居中。塊元素的居中也分為固定寬度的居中,不定寬度的居中。行內元素的居中,使用text-align:center就可以實現,已知寬度的塊元素的居中,使用絕對定位以及設置

margin為寬的一半的負值就可以實現。但是不定寬度的居中比起上面兩種更常用,也更複雜,我們常常需要在分頁的頁碼展示等地方用到不定寬居中,使用起來更方便,下面來研究下常用的幾種塊元素的水平居中。

1.標籤巢狀偏移

實作原理:

聯想到固定寬度的居中的實作:先偏移到螢幕中央,在設定其margin方向偏移寬的一半。那麼能不能想到一種方法,借用這種思路,先偏移50%到螢幕的右半部分,然後在反方向偏移回來?實現起來比較困難的點是不知道這個寬度是多少。又想到只要讓其父寬度和子寬度相等,然後用百分數就可以解決。那麼要怎麼讓其父寬度和字寬度一樣呢?巧借float具有的包裹性:父元素如果漂浮了,並且沒有設定寬高,那麼將盡量包裹子元素。

實作程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body{  
            background-color: #e5da31;  
        }  
        .container{  
            position: absolute;   /*脱离文档流,其宽度将由子元素的宽度决定*/  
            left:50%;  
        }  
        .content{  
            position: absolute;  
            left:-50%;  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

實作效果:

關於css水平居中的分析

優點與缺點:

缺點很明顯,需要自己寫和文件內容無關的標籤,多打了幾行程式碼相容性良好,在ie6+瀏覽器上查看沒有問題


#2.flex-box佈局


實作原理:


先定義一個flex容器,然後設定其內容對齊方式為中間對齊

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body {  
            background-color: #e5da31;  
        }  
        .container {  
            display: flex;  /*定义一个flex容器*/  
            justify-content: center;  /*定义容器的空间没有被全部占用时,内容的对其方式*/  
        }  
        .content{  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

實作效果:

關於css水平居中的分析


優缺點分析:

實作起來最簡單,但是呢,因為flex的相容性不好,當要相容低階瀏覽器時慎重使用。


3.內嵌佈局


實作原則:

text-align:center可以讓行內元素水平居中,如果改變塊元素為行內元素,在使用text-align就可以實現水平居中。

實作程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body{  
            background-color: #e5da31;  
        }  
        .container{  
          text-align:center;  
        }  
        .content{  
        display: inline;  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

實現效果:

關於css水平居中的分析

優缺點分析:

用原本是修飾文字對齊方式的text-align來實現水平居中總感覺有點彆扭,這塊外面的container也先多餘,但是為了不影響body內其他元素的局部,暫且如此。另外相容性不錯,在ie6+可以正常顯示。

以上就是小編為大家帶來的關於css水平居中的小小探討全部內容了,希望大家多多支持PHP中文網~


#

以上是關於css水平居中的分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
使用GraphQL緩存使用GraphQL緩存Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

優雅且酷的自定義CSS捲軸:展示櫃優雅且酷的自定義CSS捲軸:展示櫃Mar 10, 2025 am 11:37 AM

在本文中,我們將深入研究滾動條。我知道,這聽起來並不魅力,但請相信我,一個精心設計的頁面是齊頭並進的

使您的第一個自定義苗條過渡使您的第一個自定義苗條過渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

展示,不要說展示,不要說Mar 16, 2025 am 11:49 AM

您花多少時間為網站設計內容演示文稿?當您撰寫新的博客文章或創建新頁面時,您是在考慮

使用Redwood.js和Fauna構建以太坊應用使用Redwood.js和Fauna構建以太坊應用Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

NPM命令是什麼?NPM命令是什麼?Mar 15, 2025 am 11:36 AM

NPM命令為您運行各種任務,無論是一次性或連續運行的過程,例如啟動服務器或編譯代碼。

讓我們使用(x,x,x,x)來談論特殊性讓我們使用(x,x,x,x)來談論特殊性Mar 24, 2025 am 10:37 AM

前幾天我只是和埃里克·邁耶(Eric Meyer)聊天,我想起了我成長時代的埃里克·邁耶(Eric Meyer)的故事。我寫了一篇有關CSS特異性的博客文章,以及

您如何使用CSS創建文本效果,例如文本陰影和漸變?您如何使用CSS創建文本效果,例如文本陰影和漸變?Mar 14, 2025 am 11:10 AM

文章討論了使用CSS來獲得陰影和漸變等文本效果,優化它們以進行性能並增強用戶體驗。它還列出了初學者的資源。(159個字符)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器