CSS關于居中的問題

文章目錄

  • 1. 行內和塊級元素自身相對父控件居中
    • 1.1. 塊級元素相對父控件居中
    • 1.2. 行內元素相對于父控件居中
  • 2. 實現單行文字垂直居中
  • 3. 子絕父相實現子元素的水平垂直居中
    • 3.1. 方案一
      • 3.1.1. 示例
    • 3.2. 方案二
      • 3.2.1. 示例
    • 3.3. 方案三(推薦)
      • 3.3.1. 示例
    • 3.4. 方案四(了解一下)
  • 4. flex 實現水平垂直居中
    • 4.1. 方法一
    • 4.2. 方法二

1. 行內和塊級元素自身相對父控件居中

給行內和塊級元素設置寬高,出現的現象:

  • 設置寬高對行內元素沒有效果
  • 設置寬度對塊級元素有效果
span {width: 100px;height: 100px;text-align: center;background-color: skyblue;
}
div {width: 100px;height: 100px;background-color: pink;
}

image-20240309142431457

原因是因為行內元素的寬高是由內容決定的。

1.1. 塊級元素相對父控件居中

只能通過盒子模型的外邊距實現,這個屬性寫在元素本身上面。

div {width: 100px;height: 100px;background-color: pink;margin: 0 auto;
}

image-20240309142720538

如果是沒有設置寬高的話,可以通過父控件的text-align實現,但是不能用margin: 0 auto實現。

1.2. 行內元素相對于父控件居中

只能通過父控件的text-align實現。

body {text-align: center;
}
span {width: 100px;height: 100px;background-color: skyblue;
}

image-20240309142928395

2. 實現單行文字垂直居中

對于單行文字:可以實現文字垂直居中(height 等于 line-height)。

image-20240309144235356

div {width: 300px;height: 300px;background-color: pink;line-height: 300px;
}
<div>我是單行文字</div>

由于字體設計原因,靠上述辦法實現的居中,并不是絕對的垂直居中,但如果一行中都是文字,不會太影響觀感。

3. 子絕父相實現子元素的水平垂直居中

前提:定位的元素必須設置寬和高!!!

這里我們創建父元素和子元素,并設置樣式。

.father {width: 600px;height: 600px;background: pink;
}
.son {width: 300px;height: 300px;background: #95a299;
}

image-20240310184506760

3.1. 方案一

直接計算移動的需要距離。

left: 父子元素高度差的一半;
top: 父子元素寬度差的一半;

3.1.1. 示例

子元素 y 軸移動的距離是父子元素高度差的一半,

子元素 x 軸移動的距離是父子元素寬度差的一半。

.father {width: 600px;height: 600px;background: pink;position: relative;
}.son {width: 300px;height: 300px;background: #95a299;position: absolute;top: 150px;left: 150px;
}

弊端:偏移值lefttop是寫死的,如果父元素的寬度發生改變,子元素就無法水平居中了。

3.2. 方案二

這里的lefttop我們可以用百分比來表示,子元素相對父元素移動 50%的距離后,再根據子元素的外邊距進行調整。

left: 50%;
top: 50%;
margin-left: 自身寬度的一半;
margin-top: 自身高度的一半;

3.2.1. 示例

.son {width: 300px;height: 300px;background: #95a299;position: absolute;top: 50%;left: 50%;margin-left: -150px; /* 向左移動自身寬度的一半 */margin-top: -150px; /* 向上移動自身寬度的一半 */
}

弊端:由于margin-leftmargin-top值是寫死的,如果 son 的寬度發生改變,子元素也無法水平居中。

3.3. 方案三(推薦)

子元素相對父元素移動 50%的距離后,使用transform調整子元素的位置。

3.3.1. 示例

width: 300px;
height: 300px;
background: #95a299;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);

優勢:不用計算調整子元素移動移動的距離,用百分比表示即可。

3.4. 方案四(了解一下)

子絕父相,子元素設置以下屬性,也能進行水平垂直居中。

簡單理解:四個方向有相同的力在拉這個盒子,margin:auto是讓這個盒子的位置保持中立,來達到盒子處于正中心。

        left: 0;right: 0;top: 0;bottom: 0;margin: auto;

4. flex 實現水平垂直居中

4.1. 方法一

父元素開啟 flex 布局,隨后使用 justify-contentalign-items 實現水平垂直居中。

display: flex;
/* 設置子元素水平居中 */
justify-content: center;
/* 設置子元素垂直居中 */
align-items: center;
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>12-flex布局-實現子元素水平垂直居中</title><style>.father {background: pink;height: 300px;display: flex;/* 設置子元素水平居中 */justify-content: center;/* 設置子元素垂直居中 */align-items: center;}.son {width: 100px;height: 100px;background: #a5ccaf;}</style></head><body><div class="father"><div class="son"></div></div></body>
</html>

4.2. 方法二

父容器開啟 flex 布局,隨后子元素 margin: auto

.father {background: pink;height: 300px;display: flex;
}
.son {width: 100px;height: 100px;background: #a5ccaf;margin: auto;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43376.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI大模型知識點大梳理_ai大模型的精度以下哪項描述的準確

AI大模型是什么 AI大模型是指具有巨大參數量的深度學習模型&#xff0c;通常**包含數十億甚至數萬億個參數。**這些模型可以通過學習大量的數據來提高預測能力&#xff0c;從而在自然語言處理、計算機視覺、自主駕駛等領域取得重要突破。 AI大模型的定義具體可以根據參數規模…

短信驗證碼研究:公開的短信驗證碼接口、不需要注冊的短信驗證碼接口

短信驗證碼研究&#xff1a;公開的短信驗證碼接口、不需要注冊的短信驗證碼接口 0 說明 本文提供了一個短信驗證碼接口&#xff0c;主要用于以下場景&#xff1a; 1、用于開發調試 2、用于申請驗證碼困難的企業和個人 3、用于短信驗證碼認證還沒有通過&#xff0c;但是著急…

DBeaver操作MySQL無法同時執行多條語句的解決方法

DBeaver選擇數據庫連接&#xff0c;在【驅動屬性】中將allowMultiQueries允許執行多條語句置為True

各種音頻處理器

在HiFi&#xff08;高保真&#xff09;音頻系統中&#xff0c;通常需要使用一些特定類型的音頻處理器&#xff0c;以確保音頻信號的高保真和優質輸出。以下是一些常見的音頻處理器類型及其在HiFi系統中的應用&#xff1a; DAC&#xff08;數模轉換器&#xff09;&#xff1a; …

mysql 導出導入 數據庫

導出 MySQL 數據庫可以通過多種方法實現&#xff0c;最常見的方法是使用 mysqldump 工具。以下是一些常用的導出 MySQL 數據庫的方法&#xff1a; 使用 mysqldump 工具 mysqldump 是一個命令行工具&#xff0c;用于導出 MySQL 數據庫的結構和數據。以下是基本的導出命令&…

泰迪智能科技大數據實驗室產品-實訓管理平臺介紹

高校大數據實驗室通常配備有先進的計算機硬件和軟件工具&#xff0c;以及專門的數據庫和分析平臺&#xff0c;以便研究人員和學生能夠進行復雜的數據處理、分析和解釋。主要利用大數據技術進行科學研究、技術開發和人才培養。 泰迪智能科技實訓管理平臺作為教學核心&#xff0c…

JS進階-構造函數

學習目標&#xff1a; 掌握構造函數 學習內容&#xff1a; 構造函數 構造函數&#xff1a; 封裝是面向對象思想中比較重要的一部分&#xff0c;js面向對象可以通過構造函數實現的封裝。 同樣的將變量和函數組合到了一起并能通過this實現數據的共享&#xff0c;所不同的是借助…

小程序需要進行軟件測試嗎?小程序測試有哪些測試內容?

在如今移動互聯網快速發展的時代&#xff0c;小程序已成為人們生活中不可或缺的一部分。然而&#xff0c;面對日益增長的小程序數量和用戶需求&#xff0c;小程序的穩定性和質量問題日益突顯。因此&#xff0c;對小程序進行軟件測試顯得尤為重要。 近期的一項調查顯示&#xf…

【架構】分布式與微服務架構解析

分布式與微服務架構解析 一、分布式1、什么是分布式架構2、為什么需要分布式架構3、分布式架構有哪些優勢&#xff1f;4、分布式架構有什么劣勢&#xff1f;5、分布式架構有哪些關鍵技術&#xff1f;6、基于分布式架構如何提高其高性能&#xff1f;7、如何基于架構提高系統的穩…

【工具】咸魚小助手,一款咸魚之王輔助工具

轉載請注明出處&#xff1a;小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你&#xff0c;歡迎[點贊、收藏、關注]哦~ Github&#xff1a;咸魚之王的自動化腳本&#xff0c;自動答題、爬塔、領資源等 下載&#xff1a;(密碼:9u22) 咸魚小助手 文檔&#xff1a;騰訊文檔 視…

軟考《信息系統運行管理員》-3.2信息系統設施運維的環境管理

3.2信息系統設施運維的環境管理 1 計算機機房的選址要求 電子計算機機房地理位置 選擇水源充足&#xff0c;電子比較穩定可靠&#xff0c;交通通信方便&#xff0c;自然環境清潔的地點要遠離產生粉塵、油煙、有害氣體以及生產或存儲具有腐蝕性、易燃、易爆物品的工廠、倉庫、…

3d模型選不中任何東西是什么原因?---模大獅模型網

在進行3D模型設計過程中&#xff0c;有時會遇到無法選擇模型中的任何元素的問題。這種情況可能會影響設計師的工作效率和體驗&#xff0c;因此了解問題的原因以及如何解決是至關重要的。本文將探討在3D建模中遇到無法選中模型元素的原因及解決方法。 一、問題原因分析 無法選中…

跨境必備:提升Instagram互動率攻略

在這個視覺為王的數字時代&#xff0c;Instagram已成為品牌與用戶互動的重要平臺。然而&#xff0c;要在激烈的競爭中脫穎而出&#xff0c;單靠高質量的內容還遠遠不夠。本文將深入探討一系列經過驗證的策略&#xff0c;旨在提高Instagram上的用戶互動率&#xff0c;從而增強品…

07淺談大語言模型可調節參數tempreture

淺談temperature 什么是temperature&#xff1f; temperature是大預言模型生成文本時常用的兩個重要參數。它的作用體現在控制模型輸出的確定性和多樣性&#xff1a; 控制確定性&#xff1a; temperature參數可以控制模型生成文本的確定性&#xff0c;大部分模型中temperatur…

醫療器械網絡安全 | 漏洞掃描、滲透測試沒有發現問題,是否說明我的設備是安全的?

盡管漏洞掃描、模糊測試和滲透測試在評估系統安全性方面是非常重要和有效的工具&#xff0c;但即使這些測試沒有發現任何問題&#xff0c;也不能完全保證您的醫療器械是絕對安全的。這是因為安全性的評估是一個多維度、復雜且持續的過程&#xff0c;涉及多個方面和因素。以下是…

數模打怪(一)之層次分析法

一、什么是層次分析法 層次分析法&#xff08;AHP&#xff09;主要用于解決評價類問題&#xff08;可打分&#xff09; 比如哪種方案更好、哪位運動員更優秀等 二、層次分析法的三個步驟 1、建立層次結構 分析題目&#xff0c;找出評價類問題的三要素&#xff1a; &#x…

android13 設置左右分屏修改為單屏幕,應用分屏改為單屏

1.前言 android13中,系統設置變成,左邊是一級菜單,右側是二級菜單, 這樣跟我們以前android7/8/9的布局是不一樣的,我們需要將它修改為一級菜單,點進去才是二級菜單這種。 效果如下 2.系統設置實現分析 它這里使用的是google新出的embedding activity, 相關的知識這里…

從重慶元宇宙國風秀看未來元宇宙發展趨勢

2024年2月24日&#xff0c;為紀念梅蘭芳先生誕辰130周年&#xff0c;以“新國風東方美”為主題的【承華靈境】元宇宙國風秀在重慶市人民大禮堂發布。這場活動將中國經典藝術與數字化技術融合&#xff0c;呈現了一場新國風東方美學的跨越時空人文科技之旅&#xff0c;其中的重點…

最后紀元Last Epoch可以通過什么搬磚 游戲搬磚教程

來嘍來嘍&#xff0c;最后紀元&#xff0c;一款《最后紀元》是一款以獲得戰利品為基礎的暗黑風格動作RPG游戲&#xff0c;玩家將從2281年的毀滅時代追溯到由女神Eterra創造的世界&#xff0c;通過多個時代與黑暗的命運對抗&#xff0c;找到拯救世界的方式。游戲有五種職業&…

萌啦數據多少錢一個月,萌啦數據價格是多少

在跨境電商的浩瀚星海中&#xff0c;Ozon作為俄羅斯及獨聯體地區領先的電商平臺&#xff0c;正吸引著越來越多的商家和創業者的目光。而“萌啦ozon數據”作為專注于Ozon平臺數據分析與洞察的服務提供商&#xff0c;更是成為了眾多商家在數據驅動決策道路上的得力助手。然而&…