css讓容器水平垂直居中的7種方式
這篇文章主要為大家詳細介紹了css讓容器水平垂直居中的7種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這種css佈局平時用的比較多,也是面試題常出的一個題,網路上一搜一大丟,不過還是想自己總結一下。
這種方法比較多,本文只總結其中的幾種,以便加深印象。
效果圖都為這個:
方法一:position加上margin
XML/HTML Code複製內容到剪貼簿
#<p #class ="wrap">
<#p class="center">p>
- 。
p> #CSS Code複製內容到剪貼簿 /**CSS**/ .wrap { width height: 200px; #background : yellow; position: relative; } .wrap .#center { width: 100px; height: 100px; background: green##; margin: auto; position left #right top: 0; #bottombottom #} 相容性:主流瀏覽器皆支持,IE6不支援 XML/HTML Code複製內容到剪貼簿 #<##p# class# #"wrap">
<p class= "center"
>
-
p>
### ############################ #############CSS Code######複製內容到剪貼簿#################/*&/ ### .wrap{ ###width###: ###200px###; ###height###: ###200px####; ###background###: ###yellow ###; ###display###: ###table-cell###; ###vertical-align###: ###middle###; ####text-align###: ###center###; #### } .center{ display#: inline-block; #vertical-align: middle; width: 100px; height: 100px; background# : green;
}
- ##
方法三:position加transform
XML/HTML Code複製內容到剪貼簿
#
<p class="wrap">
-
<p class="center"> p>
#p>
#CSS Code複製內容到剪貼簿
-
/* css */ .wrap { #position: relative; background: yellow; width: 200px; height: 200px;} .center { position: absolute; background##: green; green; # top:50%; left:50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); width
: 100px - ;
height
: 100px - ;
相容性:ie9以下不支援transform,手機端表現的比較好。
flex;align-items: center;justify-content: center
- ##XML/HTML Code
複製內容到剪貼簿
-
<p
class = - "wrap"
#> <#p class="center"#>
- p
> ##
####################################################。 p######>### ############ #########################CSS Code ######複製內容到剪貼簿######
/* css */ .wrap { background: yellow; width: 200px; height: 200px; display: flex; align-items: center; -content: center;
- } .
center { #background: green; width: 100px; height: 100px;
- #}
方法五:display :flex;margin:auto
#XML/HTML Code複製內容到剪貼簿
#
<#p class="wrap">
-
#<# #p class="center">p> ;
#p>
#CSS Code#複製內容到剪貼簿
- ##/* css */
.wrap { background: yellow; width: 200px#; height:
- #1
; display: flex; } .center { #background: green; width: 100px; height:
100px ; - #margin
:
auto #; - }
移動端首選
方法六:
- #XML/HTML Code
複製內容到剪貼簿
# <
## p
class =- "wrap">
<#p class
=###"center"######>###########p###### >### #####################p######>### ######################################################################## ### ########################CSS Code#######複製內容到剪貼簿######/* css */ .wrap { background: yellow; width: 200px; height: 200px; position: relative;
#} /**方法一**/ .center { background: green; position#: # absolute; width: 100px; height: 100px#; left:
-
#如果111 ##; top: 50px; #} /** 方法二**/ .center { background: green
; position - :
absolute
; width - :
100px
; height
100px
;left
##: 50%;
top
#: 50%;
margin-left
:-
50px
;
:-50px;
}
-
#相容性:適用於所有瀏覽器方法六中的方法一計算公式如下:
子元素(conter)的left值計算公式:left=(父元素的寬- 子元素的寬) / 2=(200-100) / 2=50px; 子元素(conter)的top值計算公式:top=(父元素的高- 子元素的高) / 2=(200-100) / 2=50px; - 方法二計算公式:
left值固定為50%; 子元素的margin-left= -(子元素的寬/2)=-100/2= -50px;top值也是一樣,固定為50%子元素的margin-top= -(子元素的高/2)=-100/2= -50px;#方法七:相容於低版瀏覽器,不固定寬高
XML/HTML Code複製內容到剪貼簿
-
#<##p# class# #"table"> # <
class - =
"tableCell">
# < #ofclass##<p
#class#1 #= "content">不固定寬高,自適應
p
- #p
> ############################ #######p######>### ############ ################################################################# ########CSS Code######複製內容到剪貼簿##################/*css*/### .table { ###height###: ###200px###;###/*高度值不能少*/### ###width###: ###200px###;###/ *寬度值不能少*/### ###display###: table; ###position###: ###relative###; ###float####:###left## #; ###background###: ###yellow###; ####
} .tableCell { display: table-cell; vertical-align: middle; vertical-align: middle;
text-align; *> : 10px;
# *top: 50%;
left: 50%;
content {
#position *
#position;
: -50%; *#left: -50%;
background;
}
##}
#
暫時總結上面的七種,這個方法太多,其實只要習慣了其中的一兩種就夠用了。
總結如果是行動端,那麼用方法四和方法五是比較方便的。而且支援不固定寬高的情況,快、準、狠
也就是用flex; align-items: center; justify-content: center;##XML/HTML Code
複製內容到剪貼簿<
p-
class="wrap"#> <#p class="center"
#>
p>
- ##
#。 p>
-
#CSS Code 複製內容到剪貼簿/* css */ .wrap { background
: yellow - ;
width
: #200px - ;
height
: #200px
display
: flex align- items:center
;
-content: center;
-
#} .center {
background : - green
; width: 100px; height: 100px; height#:
100px ; } 或display:flex;margin:auto; XML/HTML Code
#複製內容到剪貼簿
CSS Code複製內容到剪貼簿
/* css */ .wrap { background: yellow; width: 200px; height: 200px; display : flex;
-
} .center { background: green; #width##green; #width##green; #width##green; #width: 100px
; height - :
100px
; margin - :
auto
;
-
##1
#} #如果是PC端,要考慮相容性的話。方法六是不錯滴,也就是純position。
XML/HTML Code#複製內容到剪貼簿
#<
p- class#class =
>
# <
- p
- #
class ="center">#p>
##p>
#CSS Code#複製內容到剪貼簿##/* css */ .wrap { background: yellow; width: 200px#; height: #1 ; position: relative;
-
}
/**方法一**/ . - center
{
background :
;
position:
absolute###; ####width###: ###100px ###; ###height###: ###100px###; ###left###: ###50px###; ####top###: ###50px## #; ############ ###########} ###/**方法二**/### .####center### { ###background###: ###green###; ###position###: ###absolute###; ###width###: ####100px####; ###width###: ####100px####; ## #height###: ###100px###; ###left###: 50%; ###top###: 50%; ####margin-left####:-### 50px###; ###margin-top###:-###50px###; ###########} ############ # ###########如果PC端的中間的元素高度不固定,那麼就用方法七即可,程式碼就不複製了。 ######這種css元素垂直的如果真的要總結起來,應該有十幾二十幾種。不過也沒必要全部掌握吧,只要大概了解一些,用起來沒有副作用就好。 ###以上是css讓容器水平垂直居中的7種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

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

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

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

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

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

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

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

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