CSS佈局——簡潔、相容性強的垂直水平居中方案
1、absolute,需要知道居中元素的寬與高
<!DOCTYPE html>
<html>
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
body{
background-color: goldenrod;
margin:0;
padding:0;
}
p{
color: white ;
}
.main{
background-color: saddlebrown;
position: absolute;
top:50%;
left:50%;
width:500px;
height:500px;
margin-left:-250px;
margin-top:-250px;
text-align: center;
}
/*這種方式需要知道居中元素的寬與高!!*/
</style>
</head>
<body>
<divclass="main">
<p>Center me please!</p>
</div>
</body>
</html>
2、利用css3的calc計算符,可以省兩行程式碼
<!DOCTYPE html>
<html>
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
body{
background-color: goldenrod;
margin:0;
padding:0;
}
p{
color: white;
}
.main{
background-color: saddlebrown;
position: absolute;
width:18em;
height:18em;
top:calc(50%-9em);
left:calc(50%-9em);
text-align: center;
}
/*這種方式需要知道居中元素的寬與高!!*/
</style>
</head>
<body>
<divclass="main">
<p>Center me please!</p>
</div>
</body>
</html>
3、使用transform的translate屬性,x和y軸上往回移動50%
<!DOCTYPE html>
<html>
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
body{
background-color: goldenrod;
margin:0;
padding:0;
}
p{
color: white;
}
.main{
background-color: saddlebrown;
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
text-align: center;
}
/*這種方式需要知道居中元素的寬與高!!*/
</style>
</head>
<body>
<divclass="main">
<p>Center me please!</p>
<p>Center me please!</p>
</div>
</body>
</html>
以上的定位都用到了absolute,但是absolute對整個文件流的影響比較大。
4、視窗單位解決方案
不用absolute,就是不能使用top和left。那麼,怎麼將元素從top和left位置偏移50%的量呢,首先想到了margin,像這樣:
.main {
width: 18em;
padding: 1em 1.5em;
margin: 50% auto 0;
transform: translateY(-50%);
}
如上圖,結果佈局很怪異,主要原因是margin的百分比計算是相對於父容器的width來計算的。父元素的width來計算,是width來計算的。當然,包括margin-top和margin-bottom也是這樣的。
這個時候,神奇的viewport-relative就出現了,相對檢視長度單位。
vw是相對於視窗的寬度,1vw相當於檢視寬度的1%;
1vh相當於視窗高度的1%。
- 如果視窗的寬度小於高度,
1vmin
等於1vw
,反之,如果視窗寬度大於高度,1vmin
等於1vh
- 如果視窗的寬度大於高度,
1vmax
等於1vw
,反之,如果視窗寬度小於高度,1vmax
等於1vh
所以,上面的程式碼就有救了!!!
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
body{
background-color: goldenrod;
margin:0;
padding:0;
}
p{
color: white;
}
.main{
width:18em;
background-color: saddlebrown;
相關推薦
CSS佈局——簡潔、相容性強的垂直水平居中方案
1、absolute,需要知道居中元素的寬與高
<!DOCTYPE html><html><head><metacharset="utf-8"/><title></title><styletyp
【css】一行或者多行垂直水平居中
1.方法一:使用css3彈性盒子(相容IE10及以上瀏覽器,firefox,chrome,safari 5.1.7不支援)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
css實現彈出視窗始終垂直水平居中
<!DOCTYPE
html><html>
<head>
<meta
charset="
utf-8">
<title>螞蟻
CSS之文字溢位隱藏,不定寬高元素垂直水平居中、禁止頁面文字複製
1、如何讓不固定元素寬高的元素垂直水平居中
1 .center {
2 position: absolute;
3 top: 50%;
4 left: 50%;
5 background-color: #000;
6 width:50%;
7 height: 50%
CSS之文本溢出隱藏,不定寬高元素垂直水平居中、禁止頁面文本復制
turn idt pac false isp display lse enter position 1、如何讓不固定元素寬高的元素垂直水平居中
1 .center {
2 position: absolute;
3 top: 50%;
4 left: 5
CSS垂直水平居中,display:flex,佈局,文字屬性的一些零碎
1.
body的height不可少,如body{height:100%},否則子元素會不認,如果子元素的高直接以百分比寫的話,會不顯示。因為識別不出來。
寬度則不會,因為瀏覽器的寬度是固定的,高度會滾,不固定。
2.
border-sizing其實是
css實現垂直水平居中的方法(個數不限)?
實現 容易 css3 pre height blog pad 絕對定位 fresh 方法一:使用絕對定位
大家都知道margin:0 auto;能夠實現水平居中,但卻不知道margin:0 auto;也是可以實現垂直居中的;
給居中元素添加如下樣式:
css實現垂直水平居中
otto div bsp 不能 水平 margin 垂直居中 auto absolut 我們經常用margin:0 auto來實現水平居中,而一直認為margin:auto不能實現垂直居中……實際上,實現垂直居中僅需要聲明元素高度和下面的CSS:
.Absolute-Ce
css實現垂直水平居中的5種方法
進行 posit tran cto ans otto data -c ive css實現垂直水平居中的5種方法
給父元素設置table-cell,text-align,vertical-align
#big{
width: 200px;
讓元素相對於父元素垂直水平居中的CSS
sla str gray posit osi 理解 idt div AD
垂直居中
position: relative;
top: 50%;
transform: translateY(-50%);
1、position: relative;
理解:
【CSS】元素 垂直水平居中
未知寬高
1、使用flex佈局實現元素的垂直水平居中。(該方法加在父級div中,作用於子元素)
垂直居中:align-items:center; display: -webkit-flex;(父元素) 水平居中:justify-content:center; display: -we
CSS垂直水平居中的幾種方式
<div class="box">
<div class="content"></div>
</div>
(1).box {
background-color: #FF8C00;
width: 300px;
css:盒子垂直水平居中的幾種方法
方法1:寬度和高度已知的。
思路: 給父元素相對定位 給子元素絕對定位 left: 50%;top: 50%; margin-left: 負的寬度一半。 margin-top: 負的高度一半;
<!DOCTYPE html>
<html>
<
CSS垂直水平居中 方法集合
在掘金看到一篇有關文章,自己做整理,方便在工作上用到查閱。
需要實現的效果
根據寬度高度是否固定
absolute + 負margin
absolute + margin auto
absolute + calc
根據寬度高度不固定
瞭解CSS的查詢匹配原理 讓CSS更簡潔、高效
看1個簡單的CSS:
DIV#divBox p span.red{color:red;},按習慣我們對這個CSS 的理解是,瀏覽器先查詢id為divBox的DIV元素,當找到後,再找其下的所有p元素,然後再查詢所有span元素,當發現有span的class為red的時候
瞭解CSS的查詢匹配原理,讓CSS更簡潔、高效
用了這麼多年的CSS,現在才明白CSS的真正匹配原理,不知道你是否也跟我一樣?看1個簡單的CSS:
DIV#divBox p span.red{color:red;},按習慣我們對這個CSS 的理解是,瀏覽器先查詢id為divBox的DIV元素,當找到後,再找其下的所有
css 垂直水平居中
.wrapper {
position: relative;
width: 500px;
height: 500px;
border: 1px solid red;
}
.content{
position: absolute;
width: 20
css(css3)實現垂直水平居中的那些事
都說“金三銀四求職季”,本人也選擇了在這個時候成為這浩浩蕩蕩的求職大軍中的一員,幾次面試下來,發現面試官都愛問的一個問題就是:“說說垂直水平居中都有哪些實現方式吧?”
面試過程巴拉巴拉一大堆,現在終於有時間把這些知識點總結歸納起來,希望能幫自己鞏固下,也希望可以
純CSS完美實現垂直水平居中的6種方式
前言
由於HTML語言的定位問題,在網頁中實現居中也不是如word中那麼簡單,尤其在內容樣式多變,內容寬高不定的情況下,要實現合理的居中也是頗考驗工程師經驗的。網上講居中的文章很多,但是都不太完整,所以小茄今天就來總結下純CSS實現居中的各種方案。學疏
html+css垂直水平居中
垂直水平居中有很多方法,以下展示一些比較好用易於理解的方法: 已知父元素寬高的情況下結合上篇margin-top高度重合問題延伸用margin,padding都很好實現; 以下方法實現未知父元素寬高子元素垂直水平居中,先設定html
<!DOCTYPE html>
<