水平居中:
(1) 文字、等行內元素的水平居中
給父元素設定text-align:center可以實現文字、等行內元素的水平居中。
(2) 確定寬度的塊級元素的水平居中
通過設定margin-left:auto;和margin-right:auto;來實現的。
(3) 不確定寬度的塊級元素的水平居中
方法一:
將需要居中的部分包含在table標籤內,對table設定margin-left:auto;和margin-right:auto;就可以使table水平居中,間接使需要居中的部分水平居中。
方法二:
改變塊級元素display為inline型別,然後使用text-align:center來實現居中。
方法三(左偏移量根據父元素和子元素的寬度比可以確定):
通過給父元素設定float,然後父元素設定position:relative和left:50%,子元素設定position:relative和left:-50%來實現水平居中。
垂直居中
(1) 父元素高度不確定的文字、、塊級元素的垂直居中
通過給父容器設定相同上下邊距實現的,即設定padding-top和padding-bottom。
(2)父元素高度確定的單行文字的垂直居中
通過給父元素設定line-height來實現,line-height值和父元素高度值相同。
(3)父元素高度確定的多行文字、、塊級元素的垂直居中
css中有乙個用於垂直居中的屬性vertical-align,但只有當父元素為td或者th時,這個屬性才生效,對於其他塊級元素,如div,p等,預設情況下是不支援vertical-align屬性的。在firefox和ie8下,可以設定塊級元素的display:table-cell來啟用vertical-align屬性,但ie6和ie7並不支援display:table-cell。
方法一:
直接使用table,因為td標籤預設下就隱式設定了vertical-align:middle。
方法二:
對支援display:table-cell的ie8和firefox用display:table-cell和vertical-align:middle來實現居中,新增至需要垂直居中的元素的父級元素,對不支援display:table-cell的ie6和ie7,使用特定格式的hack。
使用css3將乙個div水平和垂直居中顯示
方案一:
div絕對定位水平垂直居中【margin:auto實現絕對定位元素的居中】,
**兩個關鍵點:1.上下左右均0位置定位;
2.margin: auto; 其width、height如何更改都是居中顯示的,相容性可以,ie7及之前版本不支援
複製**
1 .div1
複製**
效果如下:
優點:1.支援跨瀏覽器,包括ie8-ie10.
2.無需其他特殊標記,css**量少
3.支援百分比%屬性值和min-/max-屬性
4.只用這乙個類可實現任何內容塊居中
5.不論是否設定padding都可居中(在不使用box-sizing屬性的前提下)
6.內容塊可以被重繪。
7.完美支援居中。
缺點:1.必須宣告高度(檢視可變高度variable height)。
2.建議設定overflow:auto來防止內容越界溢位。(檢視溢位overflow)。
3.在windows phone裝置上不起作用。
瀏覽器相容性:
chrome,firefox, safari, mobile safari, ie8-10.
絕對定位方法在最新版的chrome,firefox, safari, mobile safari, ie8-10.上均測試通過。
方案二:
div絕對定位水平垂直居中【margin 負間距】
此方案**關鍵點:1.必需知道該div的寬度和高度,
2.然後設定位置為絕對位置,
3.距離頁面視窗左邊框和上邊框的距離設定為50%,這個50%就是指頁面視窗的寬度和高度的50%,
4.最後將該div分別左移和上移,左移和上移的大小就是該div寬度和高度的一半。
複製**
1 .div1
複製**
亦可寫成:
複製**
1 .div1
複製**
效果如下:
這或許是當前最流行的使用方法。
測試表明,這是唯一在ie6-ie7上也表現良好的方法。
優點:1. 良好的跨瀏覽器特性,相容ie6-ie7。
2. **量少。
缺點:1. 不能自適應。不支援百分比尺寸和min-/max-屬性設定。
2. 內容可能溢位容器。
3. 邊距大小與padding,和是否定義box-sizing: border-box有關,計算需要根據不同情況。
方案三:
div絕對定位水平垂直居中【transforms 變形】
這是最簡單的方法,不近能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform: translate(-50%,-50%) 必須加上
top: 50%; left: 50%;
複製**
1 .div1
複製**
效果如下:
優點:1. 內容可變高度
2. **量少
缺點:1. ie8不支援
2. 屬性需要寫瀏覽器廠商字首
3. 可能干擾其他transform效果
4. 某些情形下會出現文字或元素邊界渲染模糊的現象
若只是水平(方向)居中:
複製**
1 .div1
複製**
效果如下:
css3不定寬高水平垂直居中
只要三句話就可以實現不定寬高水平垂直居中。
1 justify-content:center;//子元素水平居中
2 align-items:center;//子元素垂直居中
3 display:-webkit-flex;
在父級元素上面加上上面3句話,就可以實現子元素水平垂直居中。
CSS布局 居中方法
在web頁面布局中居中是我們常遇到的情況,而居中分為水平居中與垂直居中 文字的居中 css中對文字的居中做的非常友好,我們是需要text align,line height 兩個屬性就可以控制文字的水平以及垂直居中 head style type text css text style head b...
css居中方法詳解
第一種居中方式 使用margin auto 這應該是使用最多的居中方式了,但也有著侷限性,居中的元素需要設定寬度,而且是塊元素才行,並且只能實現水平居中,這個方法的原理是讓瀏覽器自動去計算左右邊距從而實現居中 big small第二種居中方式 使用text align center實現居中,這種居中...
CSS居中方法大全
內聯元素 text align center這個屬性會讓內聯子元素水平居中 塊級元素 margin left auto margin right auto 水平居中通用方法margin left 50 transform translatex 50 這個方法可以讓內聯元素自身居中,margin的百分...