父元素一定是塊元素,依子元素不同分為以下幾種:
1.子元素是行內元素:如:a,span
a.水平居中:在父元素上設定: text-align:center;
b.垂直居中:在行內子元素上設定行高與父元素相同: line-height
.box1 { width: 200px; height: 200px; background-color: #FFFF0A; text-align: center; /*可以使内部行内元素水平居中*/ } .box1 a { line-height: 200px; /*子元素设置行高与父元素高度相同*/ } <div class="box1"> <a href="">PHP中文网</a> </div>
2. 子元素是多行內聯文字
a.水平居中:父元素設定text-align:center
b.垂直居中:父元素設定:display:table-cell;vertical-align:middle
.box2 { width: 200px; height: 200px; background-color: #FC0107; text-align: center; /*可以使内部多行行内元素水平居中*/ /*以下二个声明可以使多行文本垂直居中*/ display: table-cell; /*设置显示方式为表格单元格*/ vertical-align: middle; /*设置该单元格内的元素垂直居中*/ } <div class="box2"> <span>php中文网</span><br> <span>www.php.cn</span> </div>
3.子元素是塊元素:
a.水平居中:子元素設定左右自動: margin: auto;
b.垂直居中:與多行內聯文本處理方式一致:display:table-cell;vertical-align:middle
.box3 { width: 200px; height: 200px; background-color: #66CCFF; /*以下二个声明可以使块级子元素垂直居中*/ display: table-cell; /*设置显示方式为表格单元格*/ vertical-align: middle; /*设置该单元格内的元素垂直居中*/ } .box3 .child { width: 100px; height: 100px; background-color: #F4FF0A; margin: auto; /*水平居中*/ } <div class="box3"> <div class="child"></div> </div>
4.子元素是不定寬的區塊元素:最常見的分頁導航
a.水平居中:子元素轉行內元素,父元素加:text-align:center
b.垂直居中:可給分頁的ul加行高line-height=parent.height
# c.底邊居中:較為常用,與多行內嵌文字垂直處理方式一致,vertical-align:bottom;
.box4 { width: 200px; height: 200px; background-color: #FD6FCF; text-align: center; /*可以使行内元素水平居中*/ /*以下二个声明可以使块级子元素垂直居中*/ display: table-cell; /*设置显示方式为表格单元格*/ vertical-align:bottom; /*设置该单元格内的元素底边居中*/ } .box4 ul { margin: 0; padding: 0; /*line-height: 200px;*/ } .box4 li { list-style: none; display: inline; } <div class="box4"> <ul> <li><a href="">1</a></li> <li><a href="">2</a></li> <li><a href="">3</a></li> <li><a href="">4</a></li> <li><a href="">5</a></li> </ul> </div>
以上是CSS控制元素對齊的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!