閔行做網(wǎng)站分享用CSS實(shí)現(xiàn)垂直居中的效果
2017/5/3
點(diǎn)擊:5075
不管是初學(xué)者,還是有經(jīng)驗(yàn)的網(wǎng)站技術(shù)人員,都需要經(jīng)常用css實(shí)現(xiàn)垂直居中的效果。閔行做網(wǎng)站 明企科技總結(jié)了一下在不同瀏覽器下,通過CSS(層疊樣式表)實(shí)現(xiàn)居中效果的方法。
用絕對(duì)定位實(shí)現(xiàn)垂直居中
舉例說明:網(wǎng)站上有一張圖片,我們想讓它居中,首先我們需要?jiǎng)?chuàng)建一個(gè)div容器去包裹它,然后給它定義一些樣式。
HTML
-----
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
}
現(xiàn)在我們有了一張包裹在div中的圖片,我們給不光給圖片以及div元素定義了尺寸,還給div元素定義了#fff的背景色。 現(xiàn)在我們需要給我們的父元素添加相對(duì)定位屬性,同時(shí),要給子元素也就是圖片元素添加絕對(duì)定位屬性。
div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
}
現(xiàn)在,我們會(huì)將子元素的top屬性設(shè)置為50%。
div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
top: 50%;
}
目前為止圖片還沒有實(shí)現(xiàn)垂直居中,現(xiàn)在我們需要給它一個(gè)負(fù)的margin-top值,這個(gè)值為你想要實(shí)現(xiàn)垂直居中的元素高度的一半,在本例中就是那張圖片。 *如果不確定元素的高度,可以不使用margin-top,而是使用transform:translateY(-50%);屬性。 div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
top: 50%;
margin-top: -50px; /* half the size of image */
}
閔行做網(wǎng)站 明企友情提醒:如果你想要同時(shí)實(shí)現(xiàn)水平居中,那么你可以用實(shí)現(xiàn)垂直居中的一樣的技巧來實(shí)現(xiàn)。 利用Display: table;來實(shí)現(xiàn)垂直居中 我們可以通過display屬性的table值來實(shí)現(xiàn)垂直居中。如何實(shí)現(xiàn)呢? 首先我們先要?jiǎng)?chuàng)建一個(gè)div元素以及另外一個(gè)包含圖片的div元素,然后我們開始設(shè)置它的樣式。
HTML
-----
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
}
現(xiàn)在,把包裹圖片的那個(gè)div元素的display屬性設(shè)置為table-cell。
div{
width: 300px;
height: 250px;
background: #fff;
display: table;
}
img{
width: 100px;
}
div#img{
display: table-cell;
}
但是現(xiàn)在好像還沒有居中,對(duì)吧?當(dāng)然啦,為了實(shí)現(xiàn)垂直居中,我們現(xiàn)在要做的就是給包裹圖片的div元素設(shè)置vertical-align: middle;屬性。
div{
width: 300px;
height: 250px;
background: #fff;
display: table;
}
img{
width: 100px;
}
div#img{
display: table-cell;
vertical-align: middle;
}
閔行做網(wǎng)站 明企提示:如果你也想實(shí)現(xiàn)水平居中,你可以給最外層的div元素添加text-align: center屬性,注意不是id=”img”的div 使用flex實(shí)現(xiàn)垂直居中 最后但是也同樣重要的是,你可以利用flex實(shí)現(xiàn)垂直居中。flex可能不是實(shí)現(xiàn)水平垂直居中最好的選擇,因?yàn)镮E8,9并不支持它。 你可以點(diǎn)這里看看瀏覽器是否支持:點(diǎn)擊這里 現(xiàn)在,為了用flex實(shí)現(xiàn)垂直居中,我們首先要?jiǎng)?chuàng)建一個(gè)包裹著圖片的div元素,然后給它定義一些基礎(chǔ)屬性。
HTML
----------
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
}
現(xiàn)在,我們需要把div元素的display屬性設(shè)置為flex。 div{
width: 300px;
height: 250px;
background: #fff;
display: flex;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
}
現(xiàn)在還沒居中是吧?繼續(xù),現(xiàn)在我們需要做的就是給div添加另外一條屬性align-items: center;
div{
width: 300px;
height: 250px;
background: #fff;
display: flex;
align-items: center;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
align-items: center;
}
說到這里,相信現(xiàn)在你知道如何用CSS去實(shí)現(xiàn)垂直居中了。希望這篇文章對(duì)大家的有所幫助,當(dāng)然如果關(guān)于網(wǎng)站開發(fā)還有什么不明白的地方,閔行做網(wǎng)站 明企技術(shù)人員很樂意和大學(xué)交流心得。
舉例說明:網(wǎng)站上有一張圖片,我們想讓它居中,首先我們需要?jiǎng)?chuàng)建一個(gè)div容器去包裹它,然后給它定義一些樣式。
HTML
-----
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
}
現(xiàn)在我們有了一張包裹在div中的圖片,我們給不光給圖片以及div元素定義了尺寸,還給div元素定義了#fff的背景色。 現(xiàn)在我們需要給我們的父元素添加相對(duì)定位屬性,同時(shí),要給子元素也就是圖片元素添加絕對(duì)定位屬性。
div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
}
現(xiàn)在,我們會(huì)將子元素的top屬性設(shè)置為50%。
div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
top: 50%;
}
目前為止圖片還沒有實(shí)現(xiàn)垂直居中,現(xiàn)在我們需要給它一個(gè)負(fù)的margin-top值,這個(gè)值為你想要實(shí)現(xiàn)垂直居中的元素高度的一半,在本例中就是那張圖片。 *如果不確定元素的高度,可以不使用margin-top,而是使用transform:translateY(-50%);屬性。 div{
width: 300px;
height: 250px;
background: #fff;
position: relative;
}
img{
width: 100px;
position: absolute;
top: 50%;
margin-top: -50px; /* half the size of image */
}
閔行做網(wǎng)站 明企友情提醒:如果你想要同時(shí)實(shí)現(xiàn)水平居中,那么你可以用實(shí)現(xiàn)垂直居中的一樣的技巧來實(shí)現(xiàn)。 利用Display: table;來實(shí)現(xiàn)垂直居中 我們可以通過display屬性的table值來實(shí)現(xiàn)垂直居中。如何實(shí)現(xiàn)呢? 首先我們先要?jiǎng)?chuàng)建一個(gè)div元素以及另外一個(gè)包含圖片的div元素,然后我們開始設(shè)置它的樣式。
HTML
-----
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
}
現(xiàn)在,把包裹圖片的那個(gè)div元素的display屬性設(shè)置為table-cell。
div{
width: 300px;
height: 250px;
background: #fff;
display: table;
}
img{
width: 100px;
}
div#img{
display: table-cell;
}
但是現(xiàn)在好像還沒有居中,對(duì)吧?當(dāng)然啦,為了實(shí)現(xiàn)垂直居中,我們現(xiàn)在要做的就是給包裹圖片的div元素設(shè)置vertical-align: middle;屬性。
div{
width: 300px;
height: 250px;
background: #fff;
display: table;
}
img{
width: 100px;
}
div#img{
display: table-cell;
vertical-align: middle;
}
閔行做網(wǎng)站 明企提示:如果你也想實(shí)現(xiàn)水平居中,你可以給最外層的div元素添加text-align: center屬性,注意不是id=”img”的div 使用flex實(shí)現(xiàn)垂直居中 最后但是也同樣重要的是,你可以利用flex實(shí)現(xiàn)垂直居中。flex可能不是實(shí)現(xiàn)水平垂直居中最好的選擇,因?yàn)镮E8,9并不支持它。 你可以點(diǎn)這里看看瀏覽器是否支持:點(diǎn)擊這里 現(xiàn)在,為了用flex實(shí)現(xiàn)垂直居中,我們首先要?jiǎng)?chuàng)建一個(gè)包裹著圖片的div元素,然后給它定義一些基礎(chǔ)屬性。
HTML
----------
CSS
-----
body{
background: #ccc; /* just to make it visible in screenshots */
}
div{
width: 300px;
height: 250px;
background: #fff;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
}
現(xiàn)在,我們需要把div元素的display屬性設(shè)置為flex。 div{
width: 300px;
height: 250px;
background: #fff;
display: flex;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
}
現(xiàn)在還沒居中是吧?繼續(xù),現(xiàn)在我們需要做的就是給div添加另外一條屬性align-items: center;
div{
width: 300px;
height: 250px;
background: #fff;
display: flex;
align-items: center;
}
img{
width: 100px;
height: 100px; /* you must give height so it doesn't expand */
align-items: center;
}
說到這里,相信現(xiàn)在你知道如何用CSS去實(shí)現(xiàn)垂直居中了。希望這篇文章對(duì)大家的有所幫助,當(dāng)然如果關(guān)于網(wǎng)站開發(fā)還有什么不明白的地方,閔行做網(wǎng)站 明企技術(shù)人員很樂意和大學(xué)交流心得。
[閔行做網(wǎng)站分享用CSS實(shí)現(xiàn)垂直居中的效果]網(wǎng)址:http://m.heiyew.cn/wangluoyingxiaozhishi/detail_355.htm 轉(zhuǎn)載需注明出處。
閔行做網(wǎng)站分享用CSS實(shí)現(xiàn)垂直居中的效果相關(guān)文章列表
- 企業(yè)網(wǎng)站設(shè)計(jì)的關(guān)鍵技巧:如何在 10 秒內(nèi)建立信任
- 如何在WordPress中重定向頁面或URL
- 2024 年值得遵循的 11 個(gè)最佳網(wǎng)頁設(shè)計(jì)實(shí)踐/指南
- 為什么需要交互式網(wǎng)站設(shè)計(jì)
- 企業(yè)如何建立好自己的品牌官網(wǎng)?
- 什么是SSL證書?安裝SSL證書有哪些優(yōu)勢(shì)?
- 上海做網(wǎng)站推薦網(wǎng)頁設(shè)計(jì)字體和網(wǎng)站優(yōu)化的關(guān)系
- 上海做網(wǎng)站介紹多語言網(wǎng)站制作,網(wǎng)絡(luò)全球生意
- 上海做網(wǎng)站公司介紹全平臺(tái)企業(yè)門戶網(wǎng)站哪家好
- 上海做網(wǎng)站公司介紹2018新廣告法禁用詞
- HTML5技術(shù)分享-上海做網(wǎng)站公司
- 卡地亞品牌官網(wǎng)制作-明企科技網(wǎng)站制作分享
建站知識(shí)
網(wǎng)站設(shè)計(jì)知識(shí)網(wǎng)站建設(shè)知識(shí)網(wǎng)絡(luò)營(yíng)銷知識(shí)微信營(yíng)銷知識(shí)公司建站新聞網(wǎng)站建設(shè)套餐
網(wǎng)站建設(shè)優(yōu)勢(shì)企業(yè)官網(wǎng)建設(shè)品牌創(chuàng)意網(wǎng)站電子商務(wù)網(wǎng)站微信開發(fā)手機(jī)網(wǎng)站建設(shè)成品網(wǎng)站建設(shè)閱讀推薦
上海做網(wǎng)站推薦網(wǎng)頁設(shè)計(jì)字體… 上海做網(wǎng)站介紹多語言網(wǎng)站制… 上海做網(wǎng)站公司介紹全平臺(tái)企… 企業(yè)如何建立好自己的品牌官… 卡地亞品牌官網(wǎng)制作-明企科… 企業(yè)網(wǎng)站建設(shè)排版要主次分明… 網(wǎng)站按鈕是網(wǎng)站建設(shè)中使用最… 網(wǎng)站制作想要高端上檔次,這… HTML5技術(shù)分享-上海做… 上海做網(wǎng)站公司介紹2018…網(wǎng)站建設(shè)流程
需求分析
費(fèi)用計(jì)算
簽訂協(xié)議
創(chuàng)意設(shè)計(jì)
修改反饋
網(wǎng)站測(cè)試
售后維護(hù)




