CSS元素居中布局的簡(jiǎn)單方法

首先我們需要知道元素都有哪些種類?
內(nèi)嵌元素(display:inline;)如a,span,b,i 【一個(gè)不可定制的盒子】
[默認(rèn)同行可以繼續(xù)跟同類型標(biāo)簽]
[內(nèi)容撐開(kāi)寬度]
[不支持寬高]
[不支持上下的margin和padding]
[代碼換行會(huì)被解析成空]
塊元素(display:block;)如div,p,h1-h6
[默認(rèn)獨(dú)占一行顯示]
[基本支持所有的css命令]
行內(nèi)塊(display:inline-block;)如img 【img就是這么一個(gè)神奇的東東。它既不是內(nèi)嵌又不是塊,而是行內(nèi)塊】
[塊在一行顯示]
[支持寬高]
[沒(méi)有寬度時(shí)內(nèi)容撐開(kāi)寬度]
那么接下來(lái)我們依次將上面三種元素居中
一、內(nèi)嵌元素之單行文本
最最常見(jiàn)的解決辦法就是使用text-align和line-height
- line-height:200px;
- text-align:center;
但是這種處理辦法就一定十全十美嗎?我不這么認(rèn)為(估計(jì)有人吐槽我強(qiáng)迫癥了)
反正我每次選中文字看到非文字區(qū)也被選中就很不爽,不過(guò)IE6-8只會(huì)選中文字
二、塊元素居中
解決辦法:使用定位元素+margin負(fù)值
- width:100px;
- height:100px;
- position:relative;
- left:100px;
- top:100px;
- margin-left:-50px;
- margin-top:-50px;
缺點(diǎn):要求必須知道盒子的寬高
三、行內(nèi)塊居中
(1)把img轉(zhuǎn)化為背景圖片,然后用background-position:center;但是需要注意的是由于圖片的鏈接一般都是經(jīng)常改變的,所以需要這樣做:
- <img style=”background-img:url(imgURL)” />
是不是違背了內(nèi)容樣式分離的原則。
(2)輔助標(biāo)簽
html代碼:
- <div class="box">
- <img src="img.png" /><span></span>
- </div>
CSS代碼:
- .box{width:200px;height:200px;border:1px solid #333;margin:0 auto;text-align:center;}
- .box img{vertical-align:middle;border:1px solid #999;padding:2px;}
- .box span{display:inline-block;height:100%;background:#333;vertical-align:middle;}
效果:
廢話:要讓img元素和輔助元素span在一行,否則會(huì)出現(xiàn)水平不完全居中,當(dāng)使用inline-block時(shí),換行會(huì)被解析成空格。其實(shí)網(wǎng)上還有其他辦法,比如說(shuō)風(fēng)靡已久的table法。網(wǎng)上一大堆這里就不顯擺了。
相關(guān)文章
- 這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
- 這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)2020-09-04
CSS實(shí)現(xiàn)子元素div水平垂直居中的示例
這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2020-09-03- 這篇文章主要介紹了css 不定寬高的元素居中布局解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2019-09-18
CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊
這篇文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們2019-09-03- 這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)2019-08-09
css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))
本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-01- 在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見(jiàn)的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說(shuō)明,具有一定的參考價(jià)值,感興2018-10-18
- 作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過(guò)或者寫過(guò),特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于2017-09-12
css實(shí)現(xiàn)元素水平垂直居中常見(jiàn)的兩種方式實(shí)例詳解
這篇文章主要給大家介紹了css實(shí)現(xiàn)元素水平垂直居中的兩種方式,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來(lái)2017-04-23